Repository navigation
Conversation
28bac1d to
c70a23f
Compare
|
Rebased onto The 5 Generated by Claude Code |
Merging this PR will improve performance by 10.66%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | WallTime | threshold_avx512[8] |
2.1 µs | 1.9 µs | +10.66% |
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing dk/polars-struct-field (0ba1a7f) with develop (d42e7c9)
|
@claude rebase & fix lints! |
|
Claude finished @danking's task in 27s —— View job Rebase & fix lints
I couldn't rebase. This workflow is read-only: it can read code and post comments, but it can't rebase, commit or push. To get the rebase done, restate the task on an issue so the write workflow picks it up, or run it locally: git fetch origin && git rebase origin/develop && git push --force-with-leaseLints are already green. In the latest CI run (Linters and Tests #37851073451), One job fails: |
Signed-off-by: Daniel King <dan@spiraldb.com>
c70a23f to
6aef619
Compare
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
|
I think this one is going to get fixed by @myrrc in core vortex and then here we will just have to translate the expression |
Translate Polars named struct field access to native Vortex
get_item, preserving parent-struct nulls. The struct child is recursively translated and can be any supported expression.This is a direct expression translation; it performs no eager evaluation and does not require literal arguments. Literal-specific PRs decode the scalar representation itself.
Validation: 1 targeted regression case(s) passed with this PR’s converter. With only
polars_.pyrestored to the base revision and the same tests retained, all 1 failed with PolarsComputeErrorwrapping the unsupported-expressionValueErrororNotImplementedError. The tests compare complete dataframes from Polars alone and a Vortex-backed Polars scan, and check explicit row expectations. No lint or broader suite was run.Five independent parent-nullness tests explicitly construct Arrow arrays for a null parent, null inner parent, null outer parent, null middle parent across three levels, and combined parent/leaf nulls. Each specifies a concrete predicate and complete expected DataFrame, and confirms physical children retain masked values. The helper accepts an array, predicate, and expected DataFrame, evaluates the same filter in stock Polars and Vortex-backed Polars, and asserts both results equal the expected frame. These rewritten cases and lint have not been run.