Expand description
Rejects an ALTER TABLE whose column type changes would break the persisted partition expressions of a region, before any region is altered.
Bounds keep the type they were written with. Row routing compares them with
row values as Values, which only stays valid across a timestamp unit
widening; scans coerce the bound to the common comparison type, which can
overflow (a millisecond bound in year 3000 cast to nanoseconds).
partition depends on this crate, so the Persisted* types mirror the JSON of
partition::partition::PartitionBound and partition::expr::PartitionExpr.
A test in partition runs real serialized expressions through this validator.
StructsΒ§
EnumsΒ§
- Persisted
Op π - Persisted
Operand π - Persisted
Partition πBound
FunctionsΒ§
- changed_
column_ πtypes - Returns the columns present in both schemas whose type differs, as (old, new).
- incompatible π
- validate_
comparison π - validate_
expr π - validate_
operand π - validate_
region_ partition_ bounds - Returns an error naming the first region whose partition expression canβt take
the type changes in
changed_columns. - value_
to_ πscalar_ value - Converts a bound the same way as
partition::expr::Operand::try_as_logical_expr. ReturnsNonefor values that canβt be partition bounds.