pub enum TableRequirement {
AssertCreate,
AssertTableUuid {
uuid: Uuid,
},
AssertRefSnapshotId {
ref: String,
snapshot_id: i64,
},
AssertLastAssignedFieldId {
last_assigned_field_id: i32,
},
AssertCurrentSchemaId {
current_schema_id: i32,
},
AssertLastAssignedPartitionId {
last_assigned_partition_id: i32,
},
AssertDefaultSpecId {
default_spec_id: i32,
},
AssertDefaultSortOrderId {
default_sort_order_id: i32,
},
}
Expand description
Requirements that must be met before applying updates to table metadata
This enum defines preconditions that must be satisfied before a table update can be committed. Requirements are checked atomically to prevent concurrent modifications from corrupting table state.
§Requirements Types
- Table existence checks
- UUID validation
- Reference state validation
- Schema and partition spec version checks
- Sort order validation
- Column and partition ID validation
Each variant includes the specific values that must match the current table state.
Variants§
AssertCreate
The table must not already exist; used for create transactions
AssertTableUuid
The table UUID must match the requirement’s uuid
AssertRefSnapshotId
The table branch or tag identified by the requirement’s ref
must reference the requirement’s snapshot-id
;
if snapshot-id
is null
or missing, the ref must not already exist
AssertLastAssignedFieldId
The table’s last assigned column id must match the requirement’s last-assigned-field-id
AssertCurrentSchemaId
The table’s current schema id must match the requirement’s current-schema-id
AssertLastAssignedPartitionId
The table’s last assigned partition id must match the requirement’s last-assigned-partition-id
AssertDefaultSpecId
The table’s default spec id must match the requirement’s default-spec-id
AssertDefaultSortOrderId
The table’s default sort order id must match the requirement’s default-sort-order-id
Trait Implementations§
Source§impl Clone for TableRequirement
impl Clone for TableRequirement
Source§fn clone(&self) -> TableRequirement
fn clone(&self) -> TableRequirement
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TableRequirement
impl Debug for TableRequirement
Source§impl<'de> Deserialize<'de> for TableRequirement
impl<'de> Deserialize<'de> for TableRequirement
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>,
Source§impl PartialEq for TableRequirement
impl PartialEq for TableRequirement
Source§impl Serialize for TableRequirement
impl Serialize for TableRequirement
impl StructuralPartialEq for TableRequirement
Auto Trait Implementations§
impl Freeze for TableRequirement
impl RefUnwindSafe for TableRequirement
impl Send for TableRequirement
impl Sync for TableRequirement
impl Unpin for TableRequirement
impl UnwindSafe for TableRequirement
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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