pub struct TableConfiguration { /* private fields */ }
internal-api
only.Expand description
Holds all the configuration for a table at a specific version. This includes the supported
reader and writer features, table properties, schema, version, and table root. This can be used
to check whether a table supports a feature or has it enabled. For example, deletion vector
support can be checked with TableConfiguration::is_deletion_vector_supported
and deletion
vector write enablement can be checked with TableConfiguration::is_deletion_vector_enabled
.
TableConfiguration
performs checks upon construction with TableConfiguration::try_new
to validate that Metadata and Protocol are correctly formatted and mutually compatible. If
try_new
successfully returns TableConfiguration
, it is also guaranteed that reading the
table is supported.
Implementations§
Source§impl TableConfiguration
impl TableConfiguration
Sourcepub fn schema(&self) -> SchemaRef
pub fn schema(&self) -> SchemaRef
The logical schema (SchemaRef
) of this table at this version.
Sourcepub fn table_properties(&self) -> &TableProperties
pub fn table_properties(&self) -> &TableProperties
The TableProperties
of this table at this version.
Sourcepub fn column_mapping_mode(&self) -> ColumnMappingMode
pub fn column_mapping_mode(&self) -> ColumnMappingMode
The ColumnMappingMode
for this table at this version.
Sourcepub fn table_root(&self) -> &Url
pub fn table_root(&self) -> &Url
The Url
of the table this TableConfiguration
belongs to
Sourcepub fn version(&self) -> Version
pub fn version(&self) -> Version
The Version
which this TableConfiguration
belongs to.
Sourcepub fn ensure_write_supported(&self) -> DeltaResult<()>
pub fn ensure_write_supported(&self) -> DeltaResult<()>
Returns true
if the kernel supports writing to this table. This checks that the
protocol’s writer features are all supported.
Sourcepub fn is_cdf_read_supported(&self) -> bool
pub fn is_cdf_read_supported(&self) -> bool
Returns true
if kernel supports reading Change Data Feed on this table.
See the documentation of TableChanges
for more details.
Sourcepub fn is_deletion_vector_supported(&self) -> bool
pub fn is_deletion_vector_supported(&self) -> bool
Returns true
if deletion vectors is supported on this table. To support deletion vectors,
a table must support reader version 3, writer version 7, and the deletionVectors feature in
both the protocol’s readerFeatures and writerFeatures.
See: https://github.com/delta-io/delta/blob/master/PROTOCOL.md#deletion-vectors
Sourcepub fn is_deletion_vector_enabled(&self) -> bool
pub fn is_deletion_vector_enabled(&self) -> bool
Returns true
if writing deletion vectors is enabled for this table. This is the case
when the deletion vectors is supported on this table and the delta.enableDeletionVectors
table property is set to true
.
See: https://github.com/delta-io/delta/blob/master/PROTOCOL.md#deletion-vectors
Trait Implementations§
Source§impl Clone for TableConfiguration
impl Clone for TableConfiguration
Source§fn clone(&self) -> TableConfiguration
fn clone(&self) -> TableConfiguration
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TableConfiguration
impl Debug for TableConfiguration
Source§impl PartialEq for TableConfiguration
impl PartialEq for TableConfiguration
impl Eq for TableConfiguration
impl StructuralPartialEq for TableConfiguration
Auto Trait Implementations§
impl Freeze for TableConfiguration
impl RefUnwindSafe for TableConfiguration
impl Send for TableConfiguration
impl Sync for TableConfiguration
impl Unpin for TableConfiguration
impl UnwindSafe for TableConfiguration
Blanket Implementations§
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
dyn Any
reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send>
fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send>
Arc<dyn Any>
reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
Box<dyn Any>
: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
std::any::type_name
, since Any
does not provide it and
Any::type_id
is useless as a debugging aid (its Debug
is just a mess of hex digits).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> DynPartialEq for T
impl<T> DynPartialEq for T
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
key
and return true
if they are equal.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 moreSource§impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelTypewhere
ArrowType: TryFromKernel<KernelType>,
impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelTypewhere
ArrowType: TryFromKernel<KernelType>,
Source§fn try_into_arrow(self) -> Result<ArrowType, ArrowError>
fn try_into_arrow(self) -> Result<ArrowType, ArrowError>
default-engine
or arrow-conversion
) and crate feature arrow-conversion
only.Source§impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowTypewhere
KernelType: TryFromArrow<ArrowType>,
impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowTypewhere
KernelType: TryFromArrow<ArrowType>,
Source§fn try_into_kernel(self) -> Result<KernelType, ArrowError>
fn try_into_kernel(self) -> Result<KernelType, ArrowError>
default-engine
or arrow-conversion
) and crate feature arrow-conversion
only.