Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
376 commits
Select commit Hold shift + click to select a range
df9edda
Chore: rename unpack functions (#5428)
connortsui20 Nov 20, 2025
c2303e5
Docs: document `chunk_offsets` in `Patches` (#5429)
connortsui20 Nov 20, 2025
a891151
Chore: rename apply patches (#5430)
connortsui20 Nov 20, 2025
557afef
Consolidate into stat_expression function (#5366)
gatesn Nov 20, 2025
bec5098
Chore: add set functions to mask mut (#5432)
connortsui20 Nov 21, 2025
2013eff
feat[vortex-array] chunked array has owned chunk_offsets child (#5426)
joseph-isaacs Nov 21, 2025
79b0763
Fix: Correctly handle inconsistent file and table schema order in vor…
brancz Nov 21, 2025
fd5a013
feat: publish vortex-spark-all assembly JAR (#5435)
a10y Nov 21, 2025
d72618d
chore[vortex-dict]: numeric pushdown & clean up the dict ctor (#5438)
joseph-isaacs Nov 21, 2025
20d88e3
fix: FFI returns a string/binary instead of requiring the caller to g…
robert3005 Nov 21, 2025
aafe376
chore: Shard codspeed into 8 runs (#5440)
robert3005 Nov 21, 2025
68895ac
Fix: remove unreachable cases in bitpack patches (#5444)
connortsui20 Nov 21, 2025
63b759f
chore[ci]: add windows test to CI (#5439)
joseph-isaacs Nov 21, 2025
95972bc
feat[vortex-array]: added debug to expr/array reduce rules (#5442)
joseph-isaacs Nov 21, 2025
c83ec8a
Revert "chore[ci]: add windows test to CI (#5439)" (#5449)
0ax1 Nov 21, 2025
d96a3f3
Chore: refactor `for` module (#5451)
connortsui20 Nov 21, 2025
e1fee19
Chore: refactor `delta` module (#5452)
connortsui20 Nov 21, 2025
878f9b1
Chore: refactor `rle` module (#5455)
connortsui20 Nov 21, 2025
2adb2dc
Feature: implement bitpacking batch execute (#5446)
connortsui20 Nov 21, 2025
5dbe73e
feature: Support std_file on windows as it's used by cxx bindings (#5…
robert3005 Nov 21, 2025
d2e6eb2
Chore: make apply patches its own method (#5458)
connortsui20 Nov 21, 2025
52ee607
Introduces a new set of issue/discussion templates (#5456)
gatesn Nov 21, 2025
4ec0f68
fix: handling of struct fields in Spark (#5453)
a10y Nov 23, 2025
a9bde6b
More vector scalars (#5459)
gatesn Nov 23, 2025
90977be
Update Rust crate dyn-hash to v1 (#5465)
renovate[bot] Nov 23, 2025
5b420a0
Update GitHub Artifact Actions to v5 (major) (#5464)
renovate[bot] Nov 23, 2025
0e72652
Update CodSpeedHQ/action digest to 346a2d8 (#5463)
renovate[bot] Nov 23, 2025
0d5d343
Update actions/download-artifact action to v6 (#5469)
renovate[bot] Nov 23, 2025
845dc3e
Update actions/checkout action to v6 (#5468)
renovate[bot] Nov 23, 2025
c467a7a
Update Rust crate lance to 0.39.0 (#5466)
renovate[bot] Nov 23, 2025
cc131e1
Update plugin com.diffplug.spotless to v8.1.0 (#5471)
renovate[bot] Nov 23, 2025
cc75552
Update Rust crate cudarc to 0.18.0 (#5473)
renovate[bot] Nov 23, 2025
4d42c08
Update protobuf monorepo to v4.33.1 (#5472)
renovate[bot] Nov 23, 2025
85ce10b
Update Rust crate noodles-bgzf to 0.44.0 (#5476)
renovate[bot] Nov 23, 2025
837914d
Update all patch updates (#5470)
renovate[bot] Nov 23, 2025
60d4b71
Update Rust crate insta to v1.44.1 (#5475)
renovate[bot] Nov 23, 2025
b24a639
Update Rust crate tokio to v1.48.0 (#5480)
renovate[bot] Nov 23, 2025
faaab0f
Update Rust crate goldenfile to v1.9.1 (#5474)
renovate[bot] Nov 23, 2025
f52dbf0
Update Rust crate pyo3 to 0.27.0 (#5478)
renovate[bot] Nov 23, 2025
a917a39
chore[dbp]: remove useless_conversion (#5487)
joseph-isaacs Nov 24, 2025
f84c6b3
fix: benchmark input handling (#5488)
0ax1 Nov 24, 2025
b12f7a3
Preapproved issue template (#5489)
gatesn Nov 24, 2025
3572526
Revert "Revert "chore[ci]: add windows test to CI (#5439)"" (#5486)
joseph-isaacs Nov 24, 2025
a2fe4d3
feat[cli]: add scroll for tree encoding view (#5497)
a10y Nov 24, 2025
3165d29
fix: Sum from stats has to account for accumulator (#5445)
robert3005 Nov 24, 2025
08530fd
chore: minimize `with_inputs` work for benchmarks (#5492)
0ax1 Nov 24, 2025
0348656
fix[dict]: not (filter/take) set_all_values_referenced (#5496)
joseph-isaacs Nov 24, 2025
b70f635
Combine Array VTable with Encoding (#5462)
gatesn Nov 24, 2025
4584165
Scalar arithmetic (#5460)
gatesn Nov 24, 2025
b5d28a1
Vector cast (#5461)
gatesn Nov 24, 2025
929c372
Chore: refactor dict module (#5501)
connortsui20 Nov 24, 2025
f56db99
Chore: make pipeline benchmarks less susceptible to noise (#5502)
connortsui20 Nov 24, 2025
4a0051e
Feature: add filter impl for `FixedSizeListVector` (#5494)
connortsui20 Nov 24, 2025
98b31fb
Feature: add impl owned filter impls (#5493)
connortsui20 Nov 24, 2025
e8bc68b
Feature: add a take compute trait (#5503)
connortsui20 Nov 24, 2025
cc195d5
Chore: Even more stable benchmarks (#5506)
connortsui20 Nov 24, 2025
4d10a60
Chore: Fully qualify imported items (#5504)
connortsui20 Nov 24, 2025
8eedfe5
Chore: Use full item paths for every import is `vortex-vector` (#5509)
connortsui20 Nov 24, 2025
130be94
Fix: this may have been a merge conflict (#5510)
connortsui20 Nov 24, 2025
5458ab2
Expression execution to be passed input vectors (#5507)
gatesn Nov 24, 2025
eba8252
Chore: remove unstable pipeline benchmark (#5512)
connortsui20 Nov 24, 2025
25095f7
Fix: ConstantArray float sum behaves the same way as primitive array …
robert3005 Nov 25, 2025
d839973
chore: fix error message for unwrap_scalar (#5515)
xumingming Nov 25, 2025
c241f59
chore: apply imports_granularity = "Item" everywhere expect bench-vor…
joseph-isaacs Nov 25, 2025
8261ebf
varbinview zip bench (#5518)
onursatici Nov 25, 2025
6b514f2
varbinview zip kernel (#5526)
onursatici Nov 25, 2025
ccacefb
chore[ffi]: remove header gen warning not nightly (#5529)
joseph-isaacs Nov 25, 2025
4a249e4
chore: benchmark hygene (#5499)
0ax1 Nov 25, 2025
e9427b9
chore[*]: prefer `#[expect(..)]` over `#[allow(..)]` (#5498)
joseph-isaacs Nov 25, 2025
c75c8a3
fix: Restore fast constant sum behaviour, don't fuzz floating point s…
robert3005 Nov 25, 2025
fe4c81b
feat[vortex-expr]: add a `is_null_sensitive` expression analysis (#5528)
joseph-isaacs Nov 25, 2025
984b64f
chore[*]: prefer `#[expect(..)]` over `#[allow(..)]` p2 (#5533)
joseph-isaacs Nov 26, 2025
85fd064
fix[mask]: intersect_by_rank and bit to arrow (#5545)
joseph-isaacs Nov 26, 2025
e1581f8
fix: assert_arrays_eq macro reexports format function to hide itertoo…
robert3005 Nov 26, 2025
a63d0ab
feat[vortex-expr]: `is_fallible` expression analysis (#5531)
joseph-isaacs Nov 26, 2025
da6873b
TSC Agenda 2025-11-25 (#5523)
gatesn Nov 26, 2025
fe34efa
fix: remove print (#5547)
joseph-isaacs Nov 26, 2025
16d179b
Fix: Schema projection order mismatch from table/file schema (#5541)
brancz Nov 26, 2025
7e1d377
Chore: check taplo formatting in pre-commit (#5549)
connortsui20 Nov 26, 2025
cd80330
Feature: add `take` compute for slices (#5537)
connortsui20 Nov 26, 2025
32d834a
Remove clone from array vtable (#5552)
gatesn Nov 26, 2025
c631d4c
Chore: use item imports in bench-vortex (#5554)
connortsui20 Nov 26, 2025
2f80934
feat[vortex-expr]: `is_fallible` analysis (#5546)
joseph-isaacs Nov 27, 2025
1f7a888
chunked array zip (#5530)
onursatici Nov 27, 2025
563dc61
fix: make micro-benchmark labels stable (#5557)
0ax1 Nov 27, 2025
e3922f2
fix: benchmark black box handling (#5558)
0ax1 Nov 27, 2025
265c3b6
fix[display]: escape strings (#5551)
joseph-isaacs Nov 27, 2025
4bbc879
chore: Remove codspeed warning about deprecated mode (#5562)
robert3005 Nov 27, 2025
c6ed47f
fix[dict]: min_max must not be null (#5560)
joseph-isaacs Nov 27, 2025
60d7520
fix: Decimal sum doesn't panic but returns null on overflow (#5564)
robert3005 Nov 27, 2025
d8cab4c
feat[gpu]: use BufferHandle to the array vtable build (#5565)
joseph-isaacs Nov 27, 2025
a3a3ed7
feat: alp decompress to vector (#5548)
0ax1 Nov 28, 2025
fec90ce
chore: speed up taplo format (#5569)
robert3005 Nov 28, 2025
771e2f5
ci: simplify codspeed sharding (#5572)
0ax1 Nov 28, 2025
de9f463
feat[buffer]: use BufferHandle in more places (#5567)
joseph-isaacs Nov 28, 2025
85c2e2f
perf(ci): skip rust-cache on runs-on runners with S3 sccache (#5570)
joseph-isaacs Nov 28, 2025
88f8f42
fix: don't clone in micro-benchmarks (#5573)
0ax1 Nov 28, 2025
6e4d7bd
fix: fixed seed for micro-benchmarks (#5574)
0ax1 Nov 28, 2025
3f49b68
chore: turn byte factory macro into function (#5577)
0ax1 Nov 28, 2025
b50e050
fix: don't bench `slice_arrow_buffer` on codspeed (#5578)
0ax1 Nov 28, 2025
1c48710
chore[ci]: bump codspeed runner (#5579)
joseph-isaacs Nov 28, 2025
46b0049
fix: disable flaky bench for codspeed (#5580)
0ax1 Nov 28, 2025
3877839
perf[ci]: speed up ci MORE (#5576)
joseph-isaacs Nov 28, 2025
682289f
Scalar functions (#5561)
gatesn Nov 28, 2025
191228e
Move stats into expr (#5582)
gatesn Nov 28, 2025
4f1306b
Describe upcoming API breaks in docs (#5583)
gatesn Nov 28, 2025
ef33c36
Do not inline vortex_array into vortex:: namespace (#5584)
gatesn Nov 28, 2025
841c7cd
Remove ExprArray and ExprOptimizer (#5585)
gatesn Nov 28, 2025
208d8bc
Test implementation of cast using ScalarFn (#5586)
gatesn Nov 29, 2025
240403b
Remove Operator VTable (#5588)
gatesn Nov 29, 2025
91a62f3
chore: inline alp `decompress_from_buffer` fn (#5587)
0ax1 Nov 29, 2025
7a29b58
chore(deps): update all patch updates (#5593)
renovate[bot] Dec 1, 2025
6a1bab1
chore(deps): update tokio-tracing monorepo (#5595)
renovate[bot] Dec 1, 2025
89b236b
chore(deps): update crate-ci/typos action to v1.40.0 (#5596)
renovate[bot] Dec 1, 2025
168982b
feat[fuzz]: add WASM fuzzer support for wasmfuzz (#5575)
joseph-isaacs Dec 1, 2025
80e01eb
feat[scalar_fn]: `is_null` (#5601)
joseph-isaacs Dec 1, 2025
a09481c
ci: add cache-suffix to isolate sanitizer build cache (#5604)
joseph-isaacs Dec 2, 2025
51401ca
Add MaskFn (#5606)
gatesn Dec 2, 2025
536bca9
Add GetItemFn (#5609)
gatesn Dec 2, 2025
decb562
FilterArray (#5610)
gatesn Dec 2, 2025
ac6073b
Execute ScalarFn arrays (#5611)
gatesn Dec 2, 2025
0ca315e
Chore: allow searching subcrates in vortex rustdoc (#5612)
connortsui20 Dec 2, 2025
75f1c3b
ci: add runs-on.yml that points to prebuilt AMI (#5620)
a10y Dec 3, 2025
1d907be
fix platform/arch for runs-on config (#5622)
a10y Dec 4, 2025
d8f4461
docs: fix typo in readme (#5627)
0ax1 Dec 4, 2025
374882d
feat[scalar_fn]: binary ops (#5617)
joseph-isaacs Dec 5, 2025
ee1e4b2
fix: avoid ListBuilder (#5636)
a10y Dec 6, 2025
6bc4645
chore(deps): update all patch updates (#5643)
renovate[bot] Dec 8, 2025
0fd3b0c
fix(deps): update protobuf monorepo to v4.33.2 (#5644)
renovate[bot] Dec 8, 2025
3f2eab7
Add advisory semver checks to CI (#5645)
gatesn Dec 8, 2025
20edf79
Feature: add total read size counter (#5600)
harryscholes Dec 8, 2025
4e98558
Enable CI when PR targets non-develop branch (#5649)
gatesn Dec 8, 2025
e1a4298
fix[vortex-array]: fix take on varbinviews with NULL indices (#5626)
asubiotto Dec 8, 2025
fdafb28
Add --version arg to vx (#5646)
palaska Dec 8, 2025
ec5c119
Feature: added properties to VortexScanner (#5500)
sherlockbeard Dec 8, 2025
dcd42d2
Include zstd encoding in IO fuzzer (#5661)
AdamGS Dec 9, 2025
b9c87f1
Fix session get-or-default (#5662)
gatesn Dec 9, 2025
bf654c4
chore: update CONTRIBUTING.md (#5657)
a10y Dec 9, 2025
c0d44ef
Fix: portable SIMD `take` implementation (#5654)
connortsui20 Dec 9, 2025
37520fd
Fix: add `RUSTFLAGS="--cfg vortex_nightly"` to all nightly tests (#5655)
connortsui20 Dec 9, 2025
58c62e6
vx layout display (#5650)
joseph-isaacs Dec 9, 2025
1174399
Feature: add `take` for primitive and bool vectors (#5540)
connortsui20 Dec 9, 2025
a8ad74f
Chore: optimize CI with concurrency groups (#5659)
connortsui20 Dec 9, 2025
1d1ba18
Touch up some benchmarking code and clean up dependencies (#5665)
AdamGS Dec 10, 2025
e0833e2
feature: add `__version__` attribute to Python package (#5641)
d33bs Dec 10, 2025
8a25fef
Temp fix: Make `take` bound by `Copy` instead of `NativePType` (#5666)
connortsui20 Dec 10, 2025
3e1e65d
Update Rust crate wasm-bindgen-futures to v0.4.56 (#5594)
renovate[bot] Dec 10, 2025
366b694
Centralize all logging to `tracing` instead of `log` (#5670)
AdamGS Dec 10, 2025
cb065dd
Feature: Implement `take` on more vectors + stubs (#5653)
connortsui20 Dec 10, 2025
ede0ad6
Fix: claude action concurrency group (#5680)
connortsui20 Dec 10, 2025
9af4e14
Chore: Add all logical bool implementations + refactor (#5669)
connortsui20 Dec 10, 2025
f8870ae
Feature: add `take` for the view vectors (#5682)
connortsui20 Dec 10, 2025
ba0e97a
Avoid taking write lock on VortexSession::get (#5688)
gatesn Dec 11, 2025
4f802b6
Lazy array expression evaluation (#5625)
gatesn Dec 11, 2025
54b7ee0
Fix BoolArray::new to take BitBuffer (#5690)
gatesn Dec 11, 2025
5d85587
Lazy take for operators (#5692)
gatesn Dec 11, 2025
062d9a1
fix: make error type explicit (#5696)
0ax1 Dec 11, 2025
f95caac
fix: list take offset type (#5679)
0ax1 Dec 11, 2025
b2e089c
perf[array]: with_children vtable function (#5694)
joseph-isaacs Dec 11, 2025
dc7f364
feat[vector]: slice varbinview (#5697)
joseph-isaacs Dec 11, 2025
ad1de1e
perf[array]: Constant kernel filter pushdown (#5698)
joseph-isaacs Dec 11, 2025
d12c41b
Feature: batch execute for `DeltaArray` (#5667)
connortsui20 Dec 11, 2025
af0af75
Reduce optimizer logging to debug (#5702)
gatesn Dec 11, 2025
f8cab7a
Chore: use `is_null` instead of `is_invalid` for scalars (#5703)
connortsui20 Dec 11, 2025
346b1f6
Feature: add zero and null constructors for scalars (#5705)
connortsui20 Dec 11, 2025
96dce46
Run optimizer on root array only on (#5710)
gatesn Dec 12, 2025
4e28866
feat[vector]: Eq (#5681)
joseph-isaacs Dec 12, 2025
1f61d99
feat[array]: fixup operator stuff (#5711)
joseph-isaacs Dec 12, 2025
6e2a2a0
feat[array]: list contains scalar (#5713)
joseph-isaacs Dec 12, 2025
e3eabde
Feature: implement `DictArray` batched execute (#5686)
connortsui20 Dec 12, 2025
bf4e84e
Feature: add `append_array_as_list` methods to the list arrays (#5707)
connortsui20 Dec 12, 2025
3bbace3
feat[array]: dynamic expr execute (#5714)
joseph-isaacs Dec 12, 2025
e16faa6
Feature: add some `Cast` infrastructure (#5708)
connortsui20 Dec 12, 2025
63931f0
Chore: Update lints for 1.91 but don't actually change versions (#5706)
connortsui20 Dec 12, 2025
d90bbda
Move optimizer rules onto Array vtable (#5712)
gatesn Dec 12, 2025
d2fe419
Feature: add primitive casting (#5718)
connortsui20 Dec 12, 2025
7738f09
Use datum compute for binary logical operators (#5719)
gatesn Dec 12, 2025
5c5f7d1
Perf: Optimized bool take (#5701)
connortsui20 Dec 12, 2025
7fd07a0
Update all patch updates (#5726)
renovate[bot] Dec 15, 2025
86ce8cd
Update dependency ch.qos.logback:logback-classic to v1.5.22 (#5727)
renovate[bot] Dec 15, 2025
50594d4
Make sure all encodings are enabled for DF (#5720)
AdamGS Dec 15, 2025
1058e6d
Arrow Executor (#5647)
gatesn Dec 15, 2025
afe1196
Disable GHArchive benchmarks to unblock perf reference in CI (#5729)
AdamGS Dec 15, 2025
b7fb836
Perf: optimize `take_scalar` (#5723)
connortsui20 Dec 15, 2025
9a76489
Fix Arrow struct export (#5731)
gatesn Dec 15, 2025
0562416
Remove execution kernels.... again (#5732)
gatesn Dec 15, 2025
5339a58
fix: `Buffer` `slice` end does not need to be aligned (#5734)
0ax1 Dec 15, 2025
a173e90
Move reduce / reduce_parent into pub(crate) DynVTable (#5735)
gatesn Dec 15, 2025
a9b9d2a
feat[array]: duckdb executor (#5737)
joseph-isaacs Dec 15, 2025
c93f06e
Execute parent (#5736)
gatesn Dec 15, 2025
47d6ba7
feat[duckdb]: optimize array (#5738)
joseph-isaacs Dec 15, 2025
3487a1b
fix[duckdb]: remove validity mask from vector export (#5739)
joseph-isaacs Dec 16, 2025
bdcba32
fix: zstd frame step width for alignment (#5730)
0ax1 Dec 16, 2025
8ebf37a
Feature: add fused bitpack filter kernel (#5741)
connortsui20 Dec 16, 2025
18dcc75
fix: only validate non-null decimals (#5745)
0ax1 Dec 16, 2025
6afde02
fix[layout]: soundness note on values eval (#5747)
joseph-isaacs Dec 16, 2025
f5ee1a0
Add more operator rules (#5746)
gatesn Dec 16, 2025
4aea170
Feature: makes the decompressor and compressor methods public (#5752)
connortsui20 Dec 16, 2025
507385e
perf[ci]: stopped instances (#5753)
joseph-isaacs Dec 16, 2025
4c65aa5
fix: list contains (#5748)
0ax1 Dec 16, 2025
06f0956
FSST Filter Kernel (#5755)
gatesn Dec 16, 2025
8781064
Use execute for random access (#5760)
gatesn Dec 16, 2025
dcaa135
feat[datafusion]: Support DataFusion `PartitionedFile` extensions for…
haohuaijin Dec 16, 2025
8eb7e58
Fix: `ListArray` `take` incorrect validity (#5762)
connortsui20 Dec 16, 2025
e7e1748
Fix: remove memory limit on fuzzers (#5763)
connortsui20 Dec 16, 2025
e7b8cae
fix[duckdb]: no `to_struct` in exporter (#5750)
joseph-isaacs Dec 17, 2025
3f9e024
ci: use windows-x64 pool for Windows tests (#5756)
joseph-isaacs Dec 17, 2025
4da2c72
feat[compute]: compare decimal and varbin (#5757)
joseph-isaacs Dec 17, 2025
5a78d5f
fix: downcast in list `new_vector_exporter` (#5768)
0ax1 Dec 17, 2025
7e59dfb
feat[fixed-size-list]: impl repeat and slice (#5751)
joseph-isaacs Dec 17, 2025
4b0b39c
Fix arrow conversion (#5769)
gatesn Dec 17, 2025
be9c708
Use operators for RecordBatch conversion (#5771)
gatesn Dec 17, 2025
c93b6a7
perf[duckdb]: dont push down pack & dedup filters for ddb (#5773)
joseph-isaacs Dec 17, 2025
baafc71
Filter on lists (#5775)
gatesn Dec 17, 2025
4765616
deterministic encoding ordering (#5770)
onursatici Dec 18, 2025
746a8da
fix: disable noisy btrblocks micro-benchmarks on codspeed (#5782)
0ax1 Dec 18, 2025
4f0c43a
wip datetimeparts fixes (#5778)
joseph-isaacs Dec 18, 2025
db44ca6
Docs: Fix outdated docs (#5777)
connortsui20 Dec 18, 2025
31026ce
Arrays must return Validity (#5785)
gatesn Dec 18, 2025
7dcc3f7
perf[date-time-parts]: compressor handle constant and pushdown rules …
joseph-isaacs Dec 18, 2025
fb976a1
perf[layout]: apply then filter (#5788)
joseph-isaacs Dec 18, 2025
397d7f4
ci: Disable polar-signals deployments (#5790)
AdamGS Dec 18, 2025
aa7a891
Dictionary execution (#5791)
gatesn Dec 18, 2025
8113798
perf[dtp]: push down compare over dtp constant second subsecond (#5793)
joseph-isaacs Dec 18, 2025
9159495
Fix: support widening of `ListViewVector` offsets and sizes (#5796)
connortsui20 Dec 18, 2025
064b5b0
perf[expr]: between not fallible (#5798)
joseph-isaacs Dec 19, 2025
d3021c7
perf[array]: extension pushdown filter + constant (#5794)
joseph-isaacs Dec 19, 2025
f6a3202
feat[array]: validity in display array (#5799)
joseph-isaacs Dec 19, 2025
2d28ba3
ListView to List (#5802)
gatesn Dec 19, 2025
d12f356
Push down cast (#5803)
gatesn Dec 19, 2025
155ca5b
Fix Arrow list export (#5804)
gatesn Dec 19, 2025
1e0f608
Benchmarks re-org (#5676)
AdamGS Dec 19, 2025
265f29a
Update all patch updates (#5809)
renovate[bot] Dec 22, 2025
fdd2fcc
Update CodSpeedHQ/action digest to 972e343 (#5808)
renovate[bot] Dec 23, 2025
0baac4e
Cleanup unused dependencies and dead file (#5787)
AdamGS Dec 23, 2025
adf2182
performance[vortex-array]: don't call is_valid to count bytes in varb…
asubiotto Dec 23, 2025
c7b0ef9
Removes vortex_unwrap completely in favor of vortex_expect (#5805)
Pratham1812 Dec 23, 2025
e2f4f2c
Fix: decimal cast error message (#5821)
connortsui20 Dec 27, 2025
052025a
Fix: remove lance feature from vortex-bench CI (#5823)
connortsui20 Dec 27, 2025
5d50f72
Fix: benchmark name for `bench.yml` (#5828)
connortsui20 Dec 27, 2025
41ca6f0
Update dependency ch.qos.logback:logback-classic to v1.5.23 (#5832)
renovate[bot] Dec 29, 2025
d86c20a
Fix: actually actually fix CI (#5830)
connortsui20 Dec 29, 2025
4004b65
Update dependency org.immutables:value to v2.12.0 (#5834)
renovate[bot] Dec 29, 2025
27acf01
Update Rust crate tracing to v0.1.44 (#5833)
renovate[bot] Dec 29, 2025
dde9c0b
Fix: finally fix CI (#5835)
connortsui20 Dec 29, 2025
a4368bf
Fix: CI SQL Remote (#5836)
connortsui20 Dec 29, 2025
d67c02c
Fix: CI sql script (#5838)
connortsui20 Dec 30, 2025
b2cd767
Fix: don't fail on missing lance for datafusion (#5841)
connortsui20 Dec 30, 2025
da5d463
Fix: bring back lance compression benchmark (#5840)
connortsui20 Dec 30, 2025
a2090b6
Chore(deps): Bump rsa in the cargo group across 1 directory
dependabot[bot] Jan 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
65 changes: 65 additions & 0 deletions .github/DISCUSSION_TEMPLATE/issue-triage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
labels: ["needs-confirmation"]
body:
- type: markdown
attributes:
value: |
> [!IMPORTANT]
> Please check for both existing [Discussions](https://github.com/vortex-data/vortex/discussions) and [Issues](https://github.com/vortex-data/vortex/issues) prior to opening a new Discussion.
- type: markdown
attributes:
value: "# Issue Details"
- type: textarea
attributes:
label: Issue Description
description: |
Provide a detailed description of the issue. Include relevant information, such as:
- Which integration you are using if any, e.g. DataFusion, DuckDB, Polars, etc.
- Which language you are using, e.g. Python, Rust, Java, etc.
- The Vortex package version you are using.
- If this is a regression of an existing issue that was closed or resolved, please include the previous item reference (Discussion, Issue, PR, commit) in your description.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: |
Describe how you expect Vortex to behave in this situation. Include any relevant documentation links.
validations:
required: true
- type: textarea
attributes:
label: Actual Behavior
description: |
Describe how Vortex actually behaves in this situation. If it is not immediately obvious how the actual behavior differs from the expected behavior described above, please be sure to mention the deviation specifically.
validations:
required: true
- type: textarea
attributes:
label: Reproduction Steps
description: |
Provide a detailed set of step-by-step instructions for reproducing this issue.
validations:
required: true
- type: input
attributes:
label: OS Version Information
description: |
Please tell us what operating system (name and version) you are using.
placeholder: Ubuntu 24.04.1 (Noble Numbat)
validations:
required: true

- type: markdown
attributes:
value: |
# User Acknowledgements
> [!TIP]
> Use these links to review the existing Vortex [Discussions](https://github.com/vortex-data/vortex/discussions) and [Issues](https://github.com/vortex-data/vortex/issues).
- type: checkboxes
attributes:
label: "I acknowledge that:"
options:
- label: I have searched the Vortex repository (both open and closed Discussions and Issues) and confirm this is not a duplicate of an existing issue or discussion.
required: true
- label: I have checked the "Preview" tab on all text fields to ensure that everything looks right, and have wrapped all configuration and code in code blocks with a group of three backticks (` ``` `) on separate lines.
required: true
27 changes: 0 additions & 27 deletions .github/ISSUE_TEMPLATE/bug_report.yml

This file was deleted.

5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Features, Bug Reports, Questions
url: https://github.com/vortex-data/vortex/discussions/new/choose
about: Our preferred starting point if you have any questions or suggestions about configuration, features or behavior.
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/preapproved.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Pre-Discussed and Approved Topics
about: |-
Only for topics already discussed and approved in the GitHub Discussions section.
---

**DO NOT OPEN A NEW ISSUE. PLEASE USE THE DISCUSSIONS SECTION.**

**I DIDN'T READ THE ABOVE LINE. PLEASE CLOSE THIS ISSUE.**
31 changes: 20 additions & 11 deletions .github/actions/setup-rust/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,41 +15,50 @@ inputs:
targets:
description: "optional targets override (e.g. wasm32-unknown-unknown)"
required: false
cache-suffix:
description: "optional suffix for cache key to isolate builds with different RUSTFLAGS (e.g. 'sanitizer')"
required: false
default: ""

runs:
using: "composite"
steps:
- name: Rust Version
id: rust-version
- name: Resolve Toolchain Config
id: toolchain-config
shell: bash
run: echo "version=$(cat rust-toolchain.toml | grep channel | awk -F'\"' '{print $2}')" >> $GITHUB_OUTPUT
run: |
DEFAULT_VERSION=$(grep channel rust-toolchain.toml | awk -F'"' '{print $2}')
TOOLCHAIN="${TOOLCHAIN_OVERRIDE:-$DEFAULT_VERSION}"
echo "toolchain=$TOOLCHAIN" >> $GITHUB_OUTPUT
echo "targets=$TARGETS" >> $GITHUB_OUTPUT
env:
TOOLCHAIN_OVERRIDE: ${{ inputs.toolchain }}
TARGETS: ${{ inputs.targets }}

- name: Install Mold
if: runner.os == 'Linux'
uses: rui314/setup-mold@v1

- name: Rust Toolchain
id: rust-toolchain
uses: dtolnay/rust-toolchain@master
uses: dtolnay/rust-toolchain@stable
if: steps.rustup-cache.outputs.cache-hit != 'true'
with:
toolchain: "${{ inputs.toolchain || steps.rust-version.outputs.version }}"
targets: "${{inputs.targets || ''}}"
toolchain: "${{ steps.toolchain-config.outputs.toolchain }}"
targets: "${{ steps.toolchain-config.outputs.targets }}"
components: "${{ inputs.components || 'clippy, rustfmt' }}"

- name: Rust Dependency Cache
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref_name == 'develop' }}
shared-key: "rust-cache-${{ runner.os }}-${{ runner.environment }}" # To allow reuse across jobs
shared-key: "rust-cache-${{ runner.os }}-${{ runner.arch }}-${{ runner.environment }}-${{ steps.toolchain-config.outputs.toolchain }}-${{ steps.toolchain-config.outputs.targets }}${{ inputs.cache-suffix && format('-{0}', inputs.cache-suffix) || '' }}"

- name: Rust Compile Cache
uses: mozilla-actions/sccache-action@v0.0.9

- name: Export Path
shell: bash
run: echo "PATH=$PATH" >> $GITHUB_ENV

- name: Install Protoc (for lance-encoding build step)
if: runner.os != 'Windows'
uses: arduino/setup-protoc@v3
with:
version: "29.3"
Expand Down
8 changes: 7 additions & 1 deletion .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name-template: "🌪 $RESOLVED_VERSION"
name-template: "$RESOLVED_VERSION"
tag-template: "$RESOLVED_VERSION"
categories:
- title: "⚠️ Breaks"
Expand All @@ -15,6 +15,9 @@ categories:
collapse-after: 8
labels:
- "fix"
- title: "📖 Documentation"
labels:
- "documentation"
- title: "🧰 Maintenance"
labels:
- "chore"
Expand All @@ -33,6 +36,9 @@ version-resolver:
- "wire-break"
default: patch

exclude-labels:
- "skip-changelog"

template: |
## Changes

Expand Down
11 changes: 11 additions & 0 deletions .github/runs-on.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
images:
vortex-ci-amd64:
platform: "linux"
arch: "x64"
name: "vortex-ci-*"
owner: "375504701696"
vortex-ci-arm64:
platform: "linux"
arch: "arm64"
name: "vortex-ci-*"
owner: "375504701696"
129 changes: 129 additions & 0 deletions .github/scripts/run-sql-bench.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright the Vortex contributors
#
# Runs SQL benchmarks (datafusion-bench, duckdb-bench, lance-bench) for the given targets.
# This script is used by the sql-benchmarks.yml workflow.
#
# Usage:
# run-sql-bench.sh <subcommand> <targets> [options]
#
# Arguments:
# subcommand The benchmark subcommand (e.g., tpch, clickbench, tpcds)
# targets Comma-separated list of engine:format pairs
# (e.g., "datafusion:parquet,datafusion:vortex,duckdb:parquet")
#
# Options:
# --scale-factor <sf> Scale factor for the benchmark (e.g., 1.0, 10.0)
# --remote-storage <url> Remote storage URL (e.g., s3://bucket/path/)
# If provided, runs in remote mode (no lance support).
# --benchmark-id <id> Benchmark ID for error messages (e.g., tpch-s3)

set -Eeu -o pipefail

subcommand="$1"
targets="$2"
shift 2

scale_factor=""
remote_storage=""
benchmark_id=""

while [[ $# -gt 0 ]]; do
case "$1" in
--scale-factor)
scale_factor="$2"
shift 2
;;
--remote-storage)
remote_storage="$2"
shift 2
;;
--benchmark-id)
benchmark_id="$2"
shift 2
;;
*)
echo "Unknown option: $1" >&2
exit 1
;;
esac
done

is_remote=false
if [[ -n "$remote_storage" ]]; then
is_remote=true
fi

# Lance on remote storage is not supported. The infrastructure to generate and upload lance files
# to S3 does not exist. If you need lance on S3, you must first implement:
# 1. Lance data generation in data-gen (or a separate step)
# 2. Lance data upload to S3 before this step runs
if $is_remote && echo "$targets" | grep -q 'lance'; then
echo "ERROR: Lance format is not supported for remote storage benchmarks."
echo "Remove 'datafusion:lance' from targets for benchmark '${benchmark_id:-unknown}'."
exit 1
fi

# Extract formats for each engine from the targets string.
# Example input: "datafusion:parquet,datafusion:vortex,datafusion:lance,duckdb:parquet"
#
# Pipeline: split by comma -> filter by engine prefix -> remove prefix -> rejoin with commas
#
# Lance is filtered out of df_formats because it uses a separate binary (lance-bench).
#
# The `|| true` is needed because some benchmarks don't use all engines (e.g., statpopgen only has
# duckdb targets). grep returns exit code 1 when no matches are found. Both greps must be in the
# subshell so that `|| true` covers the case where grep -v receives empty input.
df_formats=$(echo "$targets" | tr ',' '\n' | (grep '^datafusion:' | grep -v ':lance$' || true) | sed 's/datafusion://' | tr '\n' ',' | sed 's/,$//')
ddb_formats=$(echo "$targets" | tr ',' '\n' | (grep '^duckdb:' || true) | sed 's/duckdb://' | tr '\n' ',' | sed 's/,$//')
has_lance=$(echo "$targets" | grep -q 'datafusion:lance' && echo "true" || echo "false")

# Build options string.
opts=""
if $is_remote; then
opts="--opt remote-data-dir=$remote_storage"
fi
if [[ -n "$scale_factor" ]]; then
if [[ -n "$opts" ]]; then
opts="--opt scale-factor=$scale_factor $opts"
else
opts="--opt scale-factor=$scale_factor"
fi
fi

touch results.json

if [[ -n "$df_formats" ]]; then
# shellcheck disable=SC2086
target/release_debug/datafusion-bench "$subcommand" \
-d gh-json \
--formats "$df_formats" \
$opts \
-o df-results.json

cat df-results.json >> results.json
fi

if [[ -n "$ddb_formats" ]]; then
# shellcheck disable=SC2086
target/release_debug/duckdb-bench "$subcommand" \
-d gh-json \
--formats "$ddb_formats" \
$opts \
--delete-duckdb-database \
-o ddb-results.json

cat ddb-results.json >> results.json
fi

# Lance-bench only runs for local benchmarks.
if ! $is_remote && [[ "$has_lance" == "true" ]] && [[ -f "target/release_debug/lance-bench" ]]; then
# shellcheck disable=SC2086
target/release_debug/lance-bench "$subcommand" \
-d gh-json \
$opts \
-o lance-results.json

cat lance-results.json >> results.json
fi
Loading
Loading