Skip to content

fix(table): reject non-column values - #19

Merged
vbanas merged 1 commit into
RayforceDB:masterfrom
belowzeroff:fix/table-column-validation
Oct 8, 2026
Merged

vbanas merged 1 commit into
RayforceDB:masterfrom
belowzeroff:fix/table-column-validation

Conversation

@belowzeroff

Copy link
Copy Markdown
Contributor

Summary

  • Reject scalar atoms passed as table columns before row-count inspection.
  • Keep vector and list columns supported.
  • Add a regression test for the invalid-column case.

User-facing behavior

Before this fix, code such as:

let table = Table::new(&["bad"], &[Value::i64(42)])?;

could proceed with an atom where the Rust API requires a vector or list column. The resulting failure was indirect and depended on the atom payload instead of clearly identifying the invalid column.

Now the constructor fails immediately with an explicit error:

table: column 0 is not a vector or list (type tag ...)

Valid vector and list columns continue to construct tables normally.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • RUST_TEST_THREADS=1 cargo test --workspace

@vbanas
vbanas merged commit d167af9 into RayforceDB:master Oct 8, 2026
2 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.

2 participants