Repository navigation
Remove legacy_session and the deprecated APIs that rely on it - #10595
Conversation
931c193 to
5389bac
Compare
With every other user migrated, delete the hidden global `legacy_session()`,
its clippy ban, and the deprecated wrappers that still used it, migrating
their callers to the explicit-context versions:
- `ArrayRef::{scalar_at, into_canonical, to_canonical}` and
`Array::<V>::{scalar_at, to_canonical}`
- the `ToCanonical` trait and its clippy bans
- `Validity::{is_valid, is_null}`
- `vortex_arrow::IntoArrowArray` and `from_arrow_array_with_len`
`native_geometry_scalar_from_wkb` now takes a `VortexSession` instead of an
`ArrowSession`, so it can read the decoded scalar with an explicit context.
Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
efa1da4 to
e7686c0
Compare
Merging this PR will degrade performance by 15.6%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | bench_compare_sliced_dict_primitive[(2000, 10000)] |
12.7 µs | 67.1 µs | -81.02% |
| ❌ | Simulation | density_sweep_dense_runs[0.001] |
43.4 µs | 61.5 µs | -29.48% |
| ❌ | Simulation | random_i8[0.01] |
103.3 µs | 117.6 µs | -12.12% |
| ❌ ℹ️ | Simulation | test_scan_filter[int] |
3 ms | 3.4 ms | -11.21% |
| ⚡ | WallTime | filter_neon[8] |
1,368 ns | 897 ns | +52.51% |
| ⚡ | WallTime | threshold_neon[80] |
4.3 µs | 3.4 µs | +24.25% |
| ⚡ ℹ️ | Simulation | test_repeated_scan_scalar_at[int_str_float] |
557.3 µs | 488.2 µs | +14.15% |
| ⚡ | WallTime | filter_neon[64] |
2.1 µs | 1.8 µs | +13.99% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing rk/remove-legacy-session-final (7231e0b) with develop (c4afd68)
Footnotes
-
12 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
Its impls were thin shims over the canonical from_arrow_* conversions, and ArrowSession is the plugin-aware replacement. Tests now call the conversion functions directly. Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
… traits ArrowSession's from_arrow_* and to_arrow_* methods replace them. The tests call the naive conversion functions or the session directly, and the bench of the deprecated to_arrow_dtype path is dropped. The naive schema and decimal helpers only backed these traits and are removed with them, along with two tests of the naive schema export's own behaviour. Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
Deletes
legacy_session(), its clippy ban, and the deprecated APIs that still used it or thatArrowSessionreplaces. Their callers move to the explicit-context or session-based versions.Deleted:
ArrayRef::{scalar_at, into_canonical, to_canonical}andArray::<V>::{scalar_at, to_canonical}ToCanonicaltrait and its clippy bansValidity::{is_valid, is_null}vortex_arrow::IntoArrowArrayandfrom_arrow_array_with_lenvortex_arrow::FromArrowArray. Its impls were thin shims over thevortex_arrow::convert::from_arrow_*functions, which stay.vortex_arrow::{FromArrowType, TryFromArrowType, ToArrowType}. UseArrowSession::{from_arrow_schema, from_arrow_field, from_arrow_datatype, to_arrow_schema, to_arrow_datatype}instead.to_arrow_dtypepath.BinaryVariant storage.ArrowSession::to_arrow_schemaintentionally behaves differently on both.test_schema_conversionnow runs against the session.