Skip to content

Fix pushed cast nullability conversion#8498

Open
gatesn wants to merge 1 commit into
developfrom
ngates/fix-cast-nullability
Open

Fix pushed cast nullability conversion#8498
gatesn wants to merge 1 commit into
developfrom
ngates/fix-cast-nullability

Conversation

@gatesn

@gatesn gatesn commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Use DataFusion's physical expression nullability when converting pushed casts into Vortex expressions. This keeps target-field metadata from turning nullable physical casts into non-null Vortex runtime assertions.

Use DataFusion's physical expression nullability when converting pushed casts into Vortex expressions. This keeps target-field metadata from turning nullable physical casts into non-null Vortex runtime assertions.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn requested a review from a team June 18, 2026 22:04
@gatesn gatesn added the changelog/fix A bug fix label Jun 18, 2026
pub(crate) fn make_vortex_predicate(
expr_convertor: &dyn ExpressionConvertor,
predicate: &[Arc<dyn PhysicalExpr>],
input_schema: &Schema,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we replace the current convert?

@codspeed-hq

codspeed-hq Bot commented Jun 18, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 13.89%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚡ 16 improved benchmarks
❌ 2 regressed benchmarks
✅ 1563 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation chunked_varbinview_canonical_into[(100, 100)] 223.8 µs 258.7 µs -13.49%
Simulation chunked_varbinview_opt_canonical_into[(100, 100)] 304.7 µs 339.7 µs -10.3%
Simulation decompress_rd[f64, (10000, 0.01)] 139 µs 108.4 µs +28.22%
Simulation decompress_rd[f64, (10000, 0.1)] 139.3 µs 108.7 µs +28.17%
Simulation decompress_rd[f64, (10000, 0.0)] 138.9 µs 108.4 µs +28.14%
Simulation chunked_varbinview_opt_canonical_into[(1000, 10)] 206.7 µs 170.3 µs +21.33%
Simulation take_10k_first_chunk_only 271.7 µs 226.9 µs +19.72%
Simulation take_10k_dispersed 285.5 µs 240.8 µs +18.53%
Simulation decompress_rd[f32, (100000, 0.0)] 583.6 µs 495.6 µs +17.76%
Simulation decompress_rd[f32, (10000, 0.1)] 91 µs 77.7 µs +17.14%
Simulation decompress_rd[f32, (10000, 0.01)] 90.8 µs 77.7 µs +16.81%
Simulation decompress_rd[f32, (10000, 0.0)] 91 µs 78.2 µs +16.41%
Simulation bitwise_not_vortex_buffer_mut[128] 244.4 ns 215.3 ns +13.55%
Simulation patched_take_10k_adversarial 260.3 µs 230.2 µs +13.05%
Simulation chunked_varbinview_into_canonical[(100, 100)] 307.3 µs 272 µs +12.98%
Simulation patched_take_10k_first_chunk_only 303.4 µs 273.2 µs +11.06%
Simulation bitwise_not_vortex_buffer_mut[1024] 304.7 ns 275.6 ns +10.58%
Simulation patched_take_10k_dispersed 317.5 µs 287.3 µs +10.49%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ngates/fix-cast-nullability (1f97053) with develop (02e085f)

Open in CodSpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants