Eventual-Inc
Daft
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
Merge origin/main into orc-ignore-corrupt-files Keep both ORC test imports and the upstream macOS concurrency fixture. Preserve the existing corruption handling and skipped-file reports. Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
jiangxt2:orc-ignore-corrupt-files
2 hours ago
fix: keep retry error non-optional for mypy Restructure the per-row retry loop to use for/else so the current error stays a non-optional Exception, which mypy requires as the argument to _next_retry_delay_ms.
hello-peter-tang:fix/7681-async-udf-on-error
3 hours ago
fix(sql): evaluate empty scalar subqueries in projections as NULL `UnnestScalarSubquery` turned an uncorrelated scalar subquery into an inner cross join, so a subquery returning no rows dropped every outer row: `SELECT (SELECT 1 WHERE FALSE)` returned an empty dataframe instead of one NULL row, and `coalesce((SELECT 1 WHERE FALSE), (SELECT 2))` lost the row entirely. Per SQL:2016 7.19, a zero-row scalar subquery is NULL. Projections now use a keyed left join for uncorrelated subqueries so the outer row survives with NULLs; filters keep the inner join, which preserves predicate pushdown. Closes #4143
hello-peter-tang:fix/4143-empty-scalar-subquery
3 hours ago
fix: read local parquet chunk sources with rewritten metadata `ChunkSourceBuilder::build` passed local sources through unchanged, so `LocalChunkSource` kept the footer read from disk. Leaf indices, though, are resolved against the metadata rewritten by `apply_field_ids_to_arrowrs_parquet_metadata`. When a column is removed from that metadata (e.g. an Iceberg column dropped and re-added with a new field id), column decoders read the byte range of the wrong leaf and reads fail with `CorruptFile`. Build local chunk sources from the same rewritten metadata the remote branch already uses. Closes #7630
hello-peter-tang:fix/7630-local-chunk-source-metadata
3 hours ago
fix: avoid panic when applying nulls to null-dtype arrays Struct field access combines the parent validity mask with the child's validity via DataArray::with_nulls. When every value in the field is null, the child has Null dtype and building a NullArray with a validity buffer panics inside arrow. Null arrays are already entirely null, so return the array unchanged instead. Closes #2689
hello-peter-tang:fix/2689-count-null-struct
3 hours ago
fix: skip Iceberg pushdown for filters containing lossy casts IcebergPredicateVisitor dropped casts unconditionally when converting Daft filters into pyiceberg row filters. A cast can change values (double -> int, timestamp -> date), so the pushed-down predicate was not a superset of the user's predicate: pyiceberg pruned data files whose rows actually match, and read_iceberg/where/count_rows silently returned fewer rows. overwrite_filter used the same conversion and could delete the wrong rows. Only elide a cast when the Iceberg field type proves it is value preserving (same type, or int32 -> int64). Otherwise raise ValueError, so read-side pushdown is skipped (the filter is still applied by Daft) and overwrite_filter rejects the predicate with a clear message. Closes #7562
hello-peter-tang:fix/7562-iceberg-cast-pushdown
3 hours ago
fix: preserve successful rows when async UDFs suppress errors Async row-wise UDFs gathered every row with `asyncio.gather` without `return_exceptions=True`, so a single failing row aborted the whole batch and `on_error="ignore"`/`"log"` nulled every row instead of only the failing one. Gather per-row outcomes, retry only the failed rows, and null just those positions. `on_error="raise"` still re-raises so the existing batch-level retry and error propagation are unchanged. Closes #7681
hello-peter-tang:fix/7681-async-udf-on-error
3 hours ago
ci: Fix how pre-release tags are formatted for Cargo (#7683) ## Changes Made Right now, we only handle parsing pre-release tags for `.dev`, but we just have a `.rc` release. So making the conversion more robust.
main
5 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
feat(io): support ignoring corrupt ORC files
#7600
2 hours ago
eb032fe
jiangxt2:orc-ignore-corrupt-files
CodSpeed Performance Gauge
0%
fix: preserve successful rows when async UDFs suppress errors
#7685
3 hours ago
644b3d7
hello-peter-tang:fix/7681-async-udf-on-error
CodSpeed Performance Gauge
0%
fix(sql): evaluate empty scalar subqueries in projections as NULL
#7689
3 hours ago
7e35818
hello-peter-tang:fix/4143-empty-scalar-subquery
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs