Commit 27e6b40
feat(array): builders skip child canonicalization and append nested values in bulk [builders-child-stack] (#9064)
Collapses the first four PRs of the builders-child-stack into one
(#8964, #8966, and #9131 were closed and folded in here):
With this change all builders lose set_validity method as it's no longer
used in the codebase and there are always better ways of expressing the
desired operation
- **Append repeated and viewed lists in bulk, not a value at a time** —
bulk-append paths for repeated and viewed lists, and sparse array
canonicalisation no longer goes through scalars.
- **Builders no longer canonicalize their children** (#8964).
- **Accumulate nested builder validity without a null buffer** (#8966).
- **Append constant runs and sparse patches without slicing or
canonicalizing** (#9131) — constant structs, extensions, and fixed-size
lists append directly; sparse patches and fills append without slicing
the patch array; the fixed-size-list fill tile is built once, not once
per gap.
---------
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <robert@spiraldb.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent b748502 commit 27e6b40
20 files changed
Lines changed: 2053 additions & 412 deletions
File tree
- encodings/sparse/src
- vortex-array/src
- aggregate_fn/fns/uncompressed_size_in_bytes
- arrays
- constant/vtable
- varbin
- builders
Large diffs are not rendered by default.
Lines changed: 17 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
| 341 | + | |
341 | 342 | | |
342 | 343 | | |
343 | 344 | | |
| |||
376 | 377 | | |
377 | 378 | | |
378 | 379 | | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
379 | 387 | | |
| 388 | + | |
380 | 389 | | |
381 | 390 | | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
| 391 | + | |
386 | 392 | | |
387 | | - | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
388 | 400 | | |
389 | 401 | | |
390 | 402 | | |
| |||
0 commit comments