You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(schema): represent, serialize and validate v3 column default values
First of a multi-part split of column default value support (#730) — the
schema foundation the read and evolution paths build on. Purely additive;
no read/write behavior change on its own.
- SchemaField carries `initial-default` / `write-default` (immutable
std::shared_ptr<const Literal>) with copy-preserving WithInitialDefault /
WithWriteDefault modifiers; getters return optional<reference_wrapper>.
- JSON serde reads/writes `initial-default` / `write-default` via the
existing single-value serialization.
- Schema::Validate rejects default values below format v3 and validates
they are non-null primitive literals matching the field type.
- Generic schema projection maps a column missing from a data file with an
initial-default to FieldProjection::Kind::kDefault.
Read-path application (Parquet/Avro) and schema evolution follow in separate
PRs. See #731 for the full end-to-end proof-of-concept.
0 commit comments