pub struct CommitMetadata { /* private fields */ }Expand description
CommitMetadata bundles the metadata about a commit operation. This includes the commit path,
version, and protocol/metadata state of the table being committed to. Catalog committers can
use the protocol and metadata getters to validate or inspect the commit.
Note that this struct cannot be constructed. It is handed to the Committer (in the
commit method) by the kernel when a transaction is being committed.
See the module-level documentation for more details.
Implementations§
Source§impl CommitMetadata
impl CommitMetadata
Sourcepub fn published_commit_path(&self) -> DeltaResult<Url>
pub fn published_commit_path(&self) -> DeltaResult<Url>
The commit path is the absolute path (e.g. s3://bucket/table/_delta_log/{version}.json) to the published delta file for this commit.
Sourcepub fn staged_commit_path(&self) -> DeltaResult<Url>
pub fn staged_commit_path(&self) -> DeltaResult<Url>
The staged commit path is the absolute path (e.g. s3://bucket/table/_delta_log/{version}.{uuid}.json) to the staged commit file.
Sourcepub fn commit_type(&self) -> CommitType
pub fn commit_type(&self) -> CommitType
The type of commit operation being performed.
Sourcepub fn in_commit_timestamp(&self) -> i64
pub fn in_commit_timestamp(&self) -> i64
The in-commit timestamp for the commit. Note that this may differ from the actual commit file modification time.
Sourcepub fn max_published_version(&self) -> Option<Version>
pub fn max_published_version(&self) -> Option<Version>
The maximum published version of the table.
Sourcepub fn table_root(&self) -> &Url
pub fn table_root(&self) -> &Url
The root URL of the table being committed to.
Sourcepub fn has_writer_feature(&self, feature_name: &str) -> bool
pub fn has_writer_feature(&self, feature_name: &str) -> bool
Check if the effective protocol has a specific writer feature by name.
Sourcepub fn has_reader_feature(&self, feature_name: &str) -> bool
pub fn has_reader_feature(&self, feature_name: &str) -> bool
Check if the effective protocol has a specific reader feature by name.
Sourcepub fn metadata_configuration(&self) -> Option<&HashMap<String, String>>
pub fn metadata_configuration(&self) -> Option<&HashMap<String, String>>
Get the raw metadata configuration for the effective metadata. Returns None if no
metadata is set.
Sourcepub fn has_protocol_change(&self) -> bool
pub fn has_protocol_change(&self) -> bool
Returns true if this commit changes the table’s protocol.
Sourcepub fn has_metadata_change(&self) -> bool
pub fn has_metadata_change(&self) -> bool
Returns true if this commit changes the table’s metadata.
Sourcepub fn has_domain_metadata_change(&self, domain: &str) -> bool
pub fn has_domain_metadata_change(&self, domain: &str) -> bool
Returns true if this commit includes a domain metadata change for the given domain name.
Sourcepub fn new_unchecked(table_root: Url, version: Version) -> DeltaResult<Self>
Available on crate features test-utils only.
pub fn new_unchecked(table_root: Url, version: Version) -> DeltaResult<Self>
test-utils only.Creates a new CommitMetadata for the given table_root and version. Test-only.
Uses a default modern protocol (empty features) and empty metadata.
Sourcepub fn new_unchecked_with(
table_root: Url,
version: Version,
reader_features: Vec<&str>,
writer_features: Vec<&str>,
configuration: HashMap<String, String>,
) -> DeltaResult<Self>
Available on crate features test-utils only.
pub fn new_unchecked_with( table_root: Url, version: Version, reader_features: Vec<&str>, writer_features: Vec<&str>, configuration: HashMap<String, String>, ) -> DeltaResult<Self>
test-utils only.Creates a new CommitMetadata with specific features and configuration. Test-only.
Sourcepub fn with_protocol_change(self) -> Self
Available on crate features test-utils only.
pub fn with_protocol_change(self) -> Self
test-utils only.Marks this CommitMetadata as having a protocol change. Test-only.
that changes the protocol.
Sourcepub fn with_metadata_change(self) -> Self
Available on crate features test-utils only.
pub fn with_metadata_change(self) -> Self
test-utils only.Marks this CommitMetadata as having a metadata change. Test-only.
Copies the existing metadata into the new_metadata field to simulate an ALTER TABLE
that changes the metadata.
Sourcepub fn with_domain_change(self, domain: &str) -> Self
Available on crate features test-utils only.
pub fn with_domain_change(self, domain: &str) -> Self
test-utils only.Adds a domain metadata change for the given domain name. Test-only.
Creates a synthetic domain metadata entry to simulate a domain metadata change (e.g. clustering column change via ALTER TABLE CLUSTER BY).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CommitMetadata
impl RefUnwindSafe for CommitMetadata
impl Send for CommitMetadata
impl Sync for CommitMetadata
impl Unpin for CommitMetadata
impl UnsafeUnpin for CommitMetadata
impl UnwindSafe for CommitMetadata
Blanket Implementations§
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>
fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
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> 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<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§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-native-tls or default-engine-rustls 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-native-tls or default-engine-rustls or arrow-conversion) and crate feature arrow-conversion only.