Repository navigation
Commit 350aebd
committed
Move the remaining aggregate functions into vortex-aggregates
vortex-array now keeps only the aggregate function framework and
`all_non_distinct`, which `assert_arrays_eq!` uses to compare arrays. The
other concrete aggregates (min/max, sum, counts, sortedness, constancy,
uncompressed size and the rest), their Dict kernels, the grouped encoding
kernels and their benches move to vortex-aggregates, whose `initialize`
registers them on a session. `Stat::aggregate_fn` is replaced by
`vortex_aggregates::stat_aggregate_fn`.
`ExtensionStoragePushdown` stays in vortex-array. Pushing `is_sorted` and
`min_max` down into extension storage becomes
`vortex_aggregates::register_storage_ordered`, which `initialize` calls for the
temporal types and `vortex_uuid::initialize` calls for UUIDs.
Validation and encoding paths that must work with any session no longer go
through the registry: integer arrays use `integer_bounds` (which now also
reports strict sortedness and caches Min, Max and NullCount), and boolean
arrays use the new `bool_bounds`. This covers validity, RunEnd ends,
bit-packing, FoR, datetime-parts comparison and the compressor's integer
statistics.
Tests of aggregate behaviour move alongside the aggregates. Core tests use a
test-only row-count aggregate and run the aggregate consistency checks only
when aggregates are registered. Test
sessions that compute statistics register the aggregates.
Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps4mp7KF5c4p66aoSoXx5j
Signed-off-by: Claude <noreply@anthropic.com>1 parent 837a4ae commit 350aebd
191 files changed
Lines changed: 3188 additions & 2513 deletions
File tree
- benchmarks/string-bench/src
- encodings
- alp
- src
- alp/compute
- datetime-parts
- src
- compute
- decimal-byte-parts
- src
- decimal_byte_parts
- compute
- fastlanes
- src
- bitpacking
- array/bitpack_compress
- compute
- delta
- for_
- array
- compute
- onpair
- tests
- runend
- benches
- src
- compute
- sum
- sequence
- src
- compute
- sparse
- benches
- src
- compute
- uuid
- src
- zstd/src
- fuzz
- src
- array
- sum
- vortex-aggregates
- benches
- src
- all_nan
- all_non_nan
- all_non_null
- all_null
- bounded_max
- bounded_min
- count
- dict
- first
- framework_tests
- is_constant
- is_sorted
- last
- max
- mean
- min_max
- min
- nan_count
- null_count
- sum_v2
- sum
- uncompressed_size_in_bytes
- vortex-array
- benches
- src
- aggregate_fn
- fns
- arrays
- bool
- chunked/compute
- constant/compute
- dict/compute
- listview/tests
- primitive
- struct_
- compute
- union/tests
- array
- compute/conformance
- expr/stats
- scalar/typed_view/decimal
- stats
- vortex-btrblocks
- src
- tests
- vortex-compressor
- src
- compressor
- constant
- stats
- vortex-duckdb/src/convert
- vortex-expr
- src/stats
- rewrite
- vortex-functions
- src
- vortex-layout
- benches
- src
- layouts
- zoned
- aggregates/bloom_filter/canonical
- plan/physical
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
| 36 | + | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
6 | 8 | | |
7 | | - | |
8 | | - | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | | - | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| 291 | + | |
291 | 292 | | |
292 | 293 | | |
293 | 294 | | |
294 | | - | |
295 | 295 | | |
296 | 296 | | |
297 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
6 | 8 | | |
7 | | - | |
8 | | - | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | | - | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
0 commit comments