Skip to content

fix(expr): preserve metadata across typed null values - #90

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
values-typed-null-metadata
Sep 13, 2026
Merged

osipovartem merged 1 commit into
embucket-sync-df55.0.0from
values-typed-null-metadata

Conversation

@osipovartem

Copy link
Copy Markdown
Collaborator

Summary

  • treat typed null literals as metadata-neutral while inferring VALUES fields
  • keep their physical type in normal type coercion
  • cover typed and untyped nulls in both row orders

Why

Some SQL configurations represent NULL as a typed null scalar such as Utf8View(NULL). Its empty metadata must not conflict with metadata carried by concrete values in the same column. Concrete values with genuinely conflicting metadata remain rejected.

This is planning-only and adds no per-row execution work.

Validation

  • cargo +1.95.0 test -p datafusion-expr logical_plan::builder::tests::test_values_metadata
  • cargo +1.95.0 clippy -p datafusion-expr --all-targets -- -D warnings
  • cargo +1.95.0 fmt --all -- --check

@osipovartem
osipovartem merged commit 01b1b1f into embucket-sync-df55.0.0 Sep 13, 2026
17 of 19 checks passed
@osipovartem
osipovartem deleted the values-typed-null-metadata branch September 13, 2026 21:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant