#[non_exhaustive]pub struct IcebergSchema {
pub schema_id: i32,
pub identifier_field_ids: Option<Vec<i32>>,
pub type: Option<IcebergStructTypeEnum>,
pub fields: Vec<IcebergStructField>,
}Expand description
Defines the schema structure for an Iceberg table, including field definitions, data types, and schema metadata.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.schema_id: i32The unique identifier for this schema version within the Iceberg table's schema evolution history.
identifier_field_ids: Option<Vec<i32>>The list of field identifiers that uniquely identify records in the table, used for row-level operations and deduplication.
type: Option<IcebergStructTypeEnum>The root type of the schema structure, typically "struct" for Iceberg table schemas.
fields: Vec<IcebergStructField>The list of field definitions that make up the table schema, including field names, types, and metadata.
Implementations§
Source§impl IcebergSchema
impl IcebergSchema
Sourcepub fn schema_id(&self) -> i32
pub fn schema_id(&self) -> i32
The unique identifier for this schema version within the Iceberg table's schema evolution history.
Sourcepub fn identifier_field_ids(&self) -> &[i32]
pub fn identifier_field_ids(&self) -> &[i32]
The list of field identifiers that uniquely identify records in the table, used for row-level operations and deduplication.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .identifier_field_ids.is_none().
Sourcepub fn type(&self) -> Option<&IcebergStructTypeEnum>
pub fn type(&self) -> Option<&IcebergStructTypeEnum>
The root type of the schema structure, typically "struct" for Iceberg table schemas.
Sourcepub fn fields(&self) -> &[IcebergStructField]
pub fn fields(&self) -> &[IcebergStructField]
The list of field definitions that make up the table schema, including field names, types, and metadata.
Source§impl IcebergSchema
impl IcebergSchema
Sourcepub fn builder() -> IcebergSchemaBuilder
pub fn builder() -> IcebergSchemaBuilder
Creates a new builder-style object to manufacture IcebergSchema.
Trait Implementations§
Source§impl Clone for IcebergSchema
impl Clone for IcebergSchema
Source§fn clone(&self) -> IcebergSchema
fn clone(&self) -> IcebergSchema
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IcebergSchema
impl Debug for IcebergSchema
Source§impl PartialEq for IcebergSchema
impl PartialEq for IcebergSchema
Source§fn eq(&self, other: &IcebergSchema) -> bool
fn eq(&self, other: &IcebergSchema) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IcebergSchema
Auto Trait Implementations§
impl Freeze for IcebergSchema
impl RefUnwindSafe for IcebergSchema
impl Send for IcebergSchema
impl Sync for IcebergSchema
impl Unpin for IcebergSchema
impl UnsafeUnpin for IcebergSchema
impl UnwindSafe for IcebergSchema
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