pub enum SchemaChange {
AddField {
name: String,
logical_type: LogicalType,
},
RenameField {
field_name: String,
new_name: String,
},
DropField {
field_name: String,
},
AlterFieldType {
field_name: String,
logical_type: LogicalType,
},
TransformField {
field_name: String,
logical_type: LogicalType,
transform: TransformSpec,
},
}Expand description
A top-level table schema edit addressed by its current field name.
Variants§
AddField
Append a nullable top-level value field.
RenameField
Rename a top-level field while retaining its stable field id.
DropField
Drop a non-key top-level field.
AlterFieldType
Losslessly widen one existing non-key field’s logical type.
The catalog derives and persists the built-in transform from the field’s actual current type and this target type.
TransformField
Transform one existing non-key field, optionally changing its logical type.
The field name is resolved when this change is applied. Catalog storage retains the resulting stable field id with the opaque transform spec.
Trait Implementations§
Source§impl Clone for SchemaChange
impl Clone for SchemaChange
Source§impl Debug for SchemaChange
impl Debug for SchemaChange
Source§impl<'de> Deserialize<'de> for SchemaChange
impl<'de> Deserialize<'de> for SchemaChange
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SchemaChange
Source§impl PartialEq for SchemaChange
impl PartialEq for SchemaChange
Source§impl Serialize for SchemaChange
impl Serialize for SchemaChange
impl StructuralPartialEq for SchemaChange
Auto Trait Implementations§
impl !Freeze for SchemaChange
impl RefUnwindSafe for SchemaChange
impl Send for SchemaChange
impl Sync for SchemaChange
impl Unpin for SchemaChange
impl UnsafeUnpin for SchemaChange
impl UnwindSafe for SchemaChange
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DebugAny for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more