Eventual-Inc
Daft
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(ci): install SQL Server ODBC repository without apt-key
Abyss-lord:feat-7030
7 minutes ago
fix(dataframe): display recorded write counters in profiles
Abyss-lord:feat-7030
1 hour ago
fix(dataframe): include join counters in detailed profiles
Abyss-lord:feat-7030
2 hours ago
refactor(temporal): broadcast literal arguments to the batch row count Use the existing `to_struct` idiom (broadcast length-1 inputs to `EvalContext::row_count`) in a single `broadcast_args` helper applied before the arguments are unpacked, instead of a common-length search per kernel. This keeps each kernel's change to one line. Drop the Rust unit tests that duplicated the Python tests; the length-mismatch error they covered no longer exists, since the evaluator guarantees argument lengths.
jonasdedden:fix/7712-temporal-literal-broadcast
13 hours ago
perf(temporal): keep date_trunc in i64 when the interval is a multiple of the time unit Resolve the interval against the column's time unit once per array: a no-op when it divides the unit, i64 arithmetic when it is a whole multiple (with an i128 fallback on overflow), and exact nanosecond math only otherwise. The per-row i128 division regressed ClickBench q42 (DATE_TRUNC('minute', ...)). Also drop tests duplicated between Rust, the Series tests and the DataFrame tests, keeping Rust tests only for parsing and the i64/i128 equivalence.
jonasdedden:fix/7713-date-trunc-sub-unit
13 hours ago
fix(temporal): handle date_trunc intervals finer than the time unit date_trunc converted the parsed interval into the column's time unit with chrono's truncating num_* accessors, so an interval finer than the unit became 0 and panicked with 'attempt to calculate the remainder with a divisor of zero', and an interval that is not a whole multiple of the unit was silently rounded to a different interval. Parse the interval into nanoseconds (i128) and do the bucket arithmetic in nanoseconds, flooring the result back to the column's time unit. Zero and negative intervals now raise a ValueError, and out-of-range results raise instead of overflowing. Closes #7713
jonasdedden:fix/7713-date-trunc-sub-unit
14 hours ago
fix(temporal): broadcast literal arguments in make_date, make_timestamp, add_months and months_between `make_date`, `make_timestamp`, `make_timestamp_ltz`, `add_months` and `months_between` combined their argument arrays with `Iterator::zip`. A literal argument arrives as a length-1 Series, so `zip` stopped after the first row and the length-1 result was then broadcast to every row, i.e. every row got the first row's result. Broadcast length-1 arguments to the common length with `Series::broadcast` (the same idiom as `pmod`, `hash` and `list.contains`) before zipping, and error on mismatched non-1 lengths instead of silently truncating. Closes #7712
jonasdedden:fix/7712-temporal-literal-broadcast
14 hours ago
refactor(catalog): share Glue table lookup between get_table and has_table
nirmalpatel008:fix/glue-has-table
2 days ago
Latest Branches
CodSpeed Performance Gauge
0%
feat(dataframe): Add profile to dataframe public api
#7057
19 minutes ago
bf10d24
Abyss-lord:feat-7030
CodSpeed Performance Gauge
0%
fix(temporal): broadcast literal arguments in make_date, make_timestamp, add_months and months_between
#7714
14 hours ago
9f8daed
jonasdedden:fix/7712-temporal-literal-broadcast
CodSpeed Performance Gauge
-15%
fix(temporal): handle date_trunc intervals finer than the time unit
#7715
14 hours ago
0e56656
jonasdedden:fix/7713-date-trunc-sub-unit
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs