Skip to content

fix(store): support LIST columns in parted fill - #402

Merged
singaraiona merged 2 commits into
devfrom
agent/fix-parted-fill-list-columns
Aug 14, 2026
Merged

fix(store): support LIST columns in parted fill#402
singaraiona merged 2 commits into
devfrom
agent/fix-parted-fill-list-columns

Conversation

@singaraiona

Copy link
Copy Markdown
Collaborator

Summary

  • construct zero-row RAY_LIST columns with ray_list_new(0) during .db.parted.fill
  • preserve the original fill failure code and message, with table and partition context
  • add C and Rayfall regression coverage for empty nested-column round-trips, fill/read-back, idempotency, and corrupt-template error fidelity

Root cause

empty_table_like passed every dynamic column type to ray_vec_new. RAY_LIST is type code 0, while ray_vec_new only accepts positive concrete vector types, so gap-filling a table with a LIST column failed. The fill loop then replaced the underlying error with a generic io error.

Impact

Parted roots can now gap-fill tables containing LIST columns, including LIST-of-DICT data. When fill fails for another reason, callers receive the real error category and actionable table/partition context.

Validation

  • debug ASan/UBSan build: make -j2
  • focused C regression: RAYFORCE_CORES=2 ./rayforce.test -f splay_empty_list_column_roundtrip
  • focused Rayfall regression: RAYFORCE_CORES=2 ./rayforce.test -f db_parted_fill
  • full sanitizer suite: make test TEST_CORES=2 — 3,677/3,677 passed

Fixes #401

@singaraiona
singaraiona marked this pull request as ready for review August 14, 2026 13:08
@singaraiona
singaraiona merged commit 95defb7 into dev Aug 14, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

.db.parted.fill fails on nested (LIST) columns

1 participant