Eventual-Inc
Daft
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(functions): make coalesce() argument validation reachable The zero-argument ValueError in coalesce() was placed after an unconditional return statement, making it dead code. Calling coalesce() with no arguments silently constructed an invalid expression and only failed later at plan-building time with an opaque DaftCoreException. - Move the validation before the return so coalesce() raises ValueError eagerly - Remove the unreachable single-argument shortcut (the native kernel already handles single-argument coalesce) - Fix the docstring: single-argument coalesce is supported and covered by existing tests
DogerW666:fix/coalesce-unreachable-validation
1 hour ago
refactor(shuffle): unify distributed shuffle backend config onto daft-local-plan ShuffleBackend
BABTUNA:refactor/unify-shuffle-backend-enum
2 hours ago
feat(io): add Iceberg COW table changelog (CDC) reads Adds daft.read_iceberg_changes(), reading a copy-on-write Iceberg snapshot range as an INSERT/DELETE changelog stream with carryover rows removed. MOR (position/equality deletes) and multi-schema tables are explicitly rejected rather than silently approximated. - src/daft-parquet: new read_parquet_arrow_schema footer-only binding that returns the raw pre-Daft-downcast Arrow schema, preserving nested struct/list/map field metadata (needed to verify Iceberg field IDs at every nesting level, which Daft's own List/Map types can't represent). - daft/io/iceberg/_changelog_planning.py: snapshot range resolution, delete-manifest safety guard, and ADDED/DELETED file task planning. - daft/io/iceberg/_changelog_schema.py: two-layer schema safety gate -- a cheap single-schema fast-reject plus a recursive per-file Parquet footer verification against the baseline schema at every nesting level. - daft/io/iceberg/iceberg_changes_scan.py: IcebergChangesDataSource, built on the DataSource API, attaching _change_type/_change_ordinal/ _commit_snapshot_id as constant columns via DataSourceTask.parquet()'s partition_values mechanism, with pickle-safe lazy planning/validation caching shared across get_tasks() calls. - daft/io/iceberg/_changelog_postprocess.py: remove_carryovers, cancelling same-commit DELETE+INSERT pairs of identical rows via window functions.
kyo-tom:iceberg-cdc-datasource
2 hours ago
expand nested DataFrameSources Co-authored-by: Cursor <cursoragent@cursor.com>
ktanishqk:ktanishqk/dataframe-source-nested-expand
3 hours ago
fix: keep pushed filter columns in projection pushdown PushDownFilter and PushDownProjection run in the same FixedPoint batch. PushDownFilter moves predicates into `pushdowns.filters` without extending `pushdowns.columns`, and PushDownProjection then overwrites `pushdowns.columns` with the parent plan's required columns. Filter-only columns are pruned out of the scan, so readers receive a predicate that references columns they were told not to read, failing at execution with e.g. `FieldNotFound Column "b" not found in schema` (#6757). Changes: - push_down_filter: when a filter is pushed onto a source that already has a projection pushdown, union the columns referenced by the pushed filters and partition filters into `pushdowns.columns`. - push_down_projection: when pruning a Source, extend the required columns with those referenced by pushed filters so they survive projection pruning. - logical_plan: implement `Source::required_columns` (was todo!()): output columns plus pushed filter columns. - daft-json: drop the reader-side workarounds that re-added predicate columns; the optimizer now guarantees them. Keep clearing the limit when a predicate is present. Invariant: `pushdowns.columns` is None, or it contains every column referenced by `pushdowns.filters` and `pushdowns.partition_filters`. Closes #6757
hello-peter-tang:fix/6757-filter-columns-pushdown
7 hours ago
fix(sql): restore legacy SQLConnection pickle state Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
jiangxt2:fix/sql-engine-caching
20 hours ago
docs(sql): clarify ClickHouse percentile semantics Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
jiangxt2:fix/clickhouse-percentile
21 hours ago
fix(sql): sanitize SQLAlchemy fallback errors Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
jiangxt2:fix/doris-connectorx-fallback
21 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(functions): make coalesce() argument validation reachable
#7404
2 hours ago
fe2d884
DogerW666:fix/coalesce-unreachable-validation
CodSpeed Performance Gauge
0%
refactor(shuffle): unify distributed shuffle backend config onto daft-local-plan ShuffleBackend
#7402
2 hours ago
6972e19
BABTUNA:refactor/unify-shuffle-backend-enum
CodSpeed Performance Gauge
0%
feat(io): add Iceberg COW table changelog (CDC) reads
#7401
21 days ago
97806bc
kyo-tom:iceberg-cdc-datasource
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs