pub struct TableProperties {Show 18 fields
pub commit_num_retries: usize,
pub commit_min_retry_wait_ms: u64,
pub commit_max_retry_wait_ms: u64,
pub commit_total_retry_timeout_ms: u64,
pub write_format_default: String,
pub write_target_file_size_bytes: usize,
pub metadata_compression_codec: CompressionCodec,
pub write_datafusion_fanout_enabled: bool,
pub gc_enabled: bool,
pub max_snapshot_age_ms: i64,
pub min_snapshots_to_keep: usize,
pub max_ref_age_ms: i64,
pub cdc_enabled: bool,
pub cdc_min_chunk_size: usize,
pub cdc_max_chunk_size: usize,
pub cdc_norm_level: i32,
pub encryption_key_id: Option<String>,
pub encryption_data_key_length: usize,
}Expand description
TableProperties that contains the properties of a table.
Fields§
§commit_num_retries: usizeThe number of times to retry a commit.
commit_min_retry_wait_ms: u64The minimum wait time between retries.
commit_max_retry_wait_ms: u64The maximum wait time between retries.
commit_total_retry_timeout_ms: u64The total timeout for commit retries.
write_format_default: StringThe default format for files.
write_target_file_size_bytes: usizeThe target file size for files.
metadata_compression_codec: CompressionCodecCompression codec for metadata files (JSON)
write_datafusion_fanout_enabled: boolWhether to use FanoutWriter for partitioned tables.
gc_enabled: boolWhether garbage collection is enabled on drop.
When false, data files will not be deleted when a table is dropped.
max_snapshot_age_ms: i64Default maximum age of a snapshot to keep when expiring snapshots.
min_snapshots_to_keep: usizeDefault minimum number of snapshots to keep per branch when expiring snapshots.
max_ref_age_ms: i64Default maximum age of a snapshot reference to keep when expiring snapshots.
cdc_enabled: boolWhether content-defined chunking is enabled.
true only when write.parquet.content-defined-chunking.enabled = "true".
cdc_min_chunk_size: usizeContent-defined chunking minimum chunk size in bytes.
cdc_max_chunk_size: usizeContent-defined chunking maximum chunk size in bytes.
cdc_norm_level: i32Content-defined chunking normalization level (gearhash bit adjustment).
encryption_key_id: Option<String>The master key id used to encrypt this table’s manifest list and data
files. None if encryption.key-id is not set.
encryption_data_key_length: usizeThe encryption data encryption key length in bytes.
Implementations§
Source§impl TableProperties
impl TableProperties
Sourcepub const PROPERTY_FORMAT_VERSION: &str = "format-version"
pub const PROPERTY_FORMAT_VERSION: &str = "format-version"
Reserved table property for table format version.
Iceberg will default a new table’s format version to the latest stable and recommended version. This reserved property keyword allows users to override the Iceberg format version of the table metadata.
If this table property exists when creating a table, the table will use the specified format version. If a table updates this property, it will try to upgrade to the specified format version.
Sourcepub const PROPERTY_UUID: &str = "uuid"
pub const PROPERTY_UUID: &str = "uuid"
Reserved table property for table UUID.
Sourcepub const PROPERTY_SNAPSHOT_COUNT: &str = "snapshot-count"
pub const PROPERTY_SNAPSHOT_COUNT: &str = "snapshot-count"
Reserved table property for the total number of snapshots.
Sourcepub const PROPERTY_CURRENT_SNAPSHOT_SUMMARY: &str = "current-snapshot-summary"
pub const PROPERTY_CURRENT_SNAPSHOT_SUMMARY: &str = "current-snapshot-summary"
Reserved table property for current snapshot summary.
Sourcepub const PROPERTY_CURRENT_SNAPSHOT_ID: &str = "current-snapshot-id"
pub const PROPERTY_CURRENT_SNAPSHOT_ID: &str = "current-snapshot-id"
Reserved table property for current snapshot id.
Sourcepub const PROPERTY_CURRENT_SNAPSHOT_TIMESTAMP: &str = "current-snapshot-timestamp-ms"
pub const PROPERTY_CURRENT_SNAPSHOT_TIMESTAMP: &str = "current-snapshot-timestamp-ms"
Reserved table property for current snapshot timestamp.
Sourcepub const PROPERTY_CURRENT_SCHEMA: &str = "current-schema"
pub const PROPERTY_CURRENT_SCHEMA: &str = "current-schema"
Reserved table property for the JSON representation of current schema.
Sourcepub const PROPERTY_DEFAULT_PARTITION_SPEC: &str = "default-partition-spec"
pub const PROPERTY_DEFAULT_PARTITION_SPEC: &str = "default-partition-spec"
Reserved table property for the JSON representation of current(default) partition spec.
Sourcepub const PROPERTY_DEFAULT_SORT_ORDER: &str = "default-sort-order"
pub const PROPERTY_DEFAULT_SORT_ORDER: &str = "default-sort-order"
Reserved table property for the JSON representation of current(default) sort order.
Sourcepub const PROPERTY_METADATA_PREVIOUS_VERSIONS_MAX: &str = "write.metadata.previous-versions-max"
pub const PROPERTY_METADATA_PREVIOUS_VERSIONS_MAX: &str = "write.metadata.previous-versions-max"
Property key for max number of previous versions to keep.
Sourcepub const PROPERTY_METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT: usize = 100
pub const PROPERTY_METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT: usize = 100
Default value for max number of previous versions to keep.
Sourcepub const PROPERTY_WRITE_PARTITION_SUMMARY_LIMIT: &str = "write.summary.partition-limit"
pub const PROPERTY_WRITE_PARTITION_SUMMARY_LIMIT: &str = "write.summary.partition-limit"
Property key for max number of partitions to keep summary stats for.
Sourcepub const PROPERTY_WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT: u64 = 0
pub const PROPERTY_WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT: u64 = 0
Default value for the max number of partitions to keep summary stats for.
Sourcepub const RESERVED_PROPERTIES: [&str; 9]
pub const RESERVED_PROPERTIES: [&str; 9]
Reserved Iceberg table properties list.
Reserved table properties are only used to control behaviors when creating or updating a table. The value of these properties are not persisted as a part of the table metadata.
Sourcepub const PROPERTY_COMMIT_NUM_RETRIES: &str = "commit.retry.num-retries"
pub const PROPERTY_COMMIT_NUM_RETRIES: &str = "commit.retry.num-retries"
Property key for number of commit retries.
Sourcepub const PROPERTY_COMMIT_NUM_RETRIES_DEFAULT: usize = 4
pub const PROPERTY_COMMIT_NUM_RETRIES_DEFAULT: usize = 4
Default value for number of commit retries.
Sourcepub const PROPERTY_COMMIT_MIN_RETRY_WAIT_MS: &str = "commit.retry.min-wait-ms"
pub const PROPERTY_COMMIT_MIN_RETRY_WAIT_MS: &str = "commit.retry.min-wait-ms"
Property key for minimum wait time (ms) between retries.
Sourcepub const PROPERTY_COMMIT_MIN_RETRY_WAIT_MS_DEFAULT: u64 = 100
pub const PROPERTY_COMMIT_MIN_RETRY_WAIT_MS_DEFAULT: u64 = 100
Default value for minimum wait time (ms) between retries.
Sourcepub const PROPERTY_COMMIT_MAX_RETRY_WAIT_MS: &str = "commit.retry.max-wait-ms"
pub const PROPERTY_COMMIT_MAX_RETRY_WAIT_MS: &str = "commit.retry.max-wait-ms"
Property key for maximum wait time (ms) between retries.
Sourcepub const PROPERTY_COMMIT_MAX_RETRY_WAIT_MS_DEFAULT: u64
pub const PROPERTY_COMMIT_MAX_RETRY_WAIT_MS_DEFAULT: u64
Default value for maximum wait time (ms) between retries.
Sourcepub const PROPERTY_COMMIT_TOTAL_RETRY_TIME_MS: &str = "commit.retry.total-timeout-ms"
pub const PROPERTY_COMMIT_TOTAL_RETRY_TIME_MS: &str = "commit.retry.total-timeout-ms"
Property key for total maximum retry time (ms).
Sourcepub const PROPERTY_COMMIT_TOTAL_RETRY_TIME_MS_DEFAULT: u64
pub const PROPERTY_COMMIT_TOTAL_RETRY_TIME_MS_DEFAULT: u64
Default value for total maximum retry time (ms).
Sourcepub const PROPERTY_DEFAULT_FILE_FORMAT: &str = "write.format.default"
pub const PROPERTY_DEFAULT_FILE_FORMAT: &str = "write.format.default"
Default file format for data files
Sourcepub const PROPERTY_DELETE_DEFAULT_FILE_FORMAT: &str = "write.delete.format.default"
pub const PROPERTY_DELETE_DEFAULT_FILE_FORMAT: &str = "write.delete.format.default"
Default file format for delete files
Sourcepub const PROPERTY_DEFAULT_FILE_FORMAT_DEFAULT: &str = "parquet"
pub const PROPERTY_DEFAULT_FILE_FORMAT_DEFAULT: &str = "parquet"
Default value for data file format
Sourcepub const PROPERTY_WRITE_TARGET_FILE_SIZE_BYTES: &str = "write.target-file-size-bytes"
pub const PROPERTY_WRITE_TARGET_FILE_SIZE_BYTES: &str = "write.target-file-size-bytes"
Target file size for newly written files.
Sourcepub const PROPERTY_WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT: usize
pub const PROPERTY_WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT: usize
Default target file size
Sourcepub const PROPERTY_METADATA_COMPRESSION_CODEC: &str = "write.metadata.compression-codec"
pub const PROPERTY_METADATA_COMPRESSION_CODEC: &str = "write.metadata.compression-codec"
Compression codec for metadata files (JSON)
Sourcepub const PROPERTY_METADATA_COMPRESSION_CODEC_DEFAULT: &str = "none"
pub const PROPERTY_METADATA_COMPRESSION_CODEC_DEFAULT: &str = "none"
Default metadata compression codec - uncompressed
Sourcepub const PROPERTY_DATAFUSION_WRITE_FANOUT_ENABLED: &str = "write.datafusion.fanout.enabled"
pub const PROPERTY_DATAFUSION_WRITE_FANOUT_ENABLED: &str = "write.datafusion.fanout.enabled"
Whether to use FanoutWriter for partitioned tables (handles unsorted data).
If false, uses ClusteredWriter (requires sorted data, more memory efficient).
Sourcepub const PROPERTY_DATAFUSION_WRITE_FANOUT_ENABLED_DEFAULT: bool = true
pub const PROPERTY_DATAFUSION_WRITE_FANOUT_ENABLED_DEFAULT: bool = true
Default value for fanout writer enabled
Sourcepub const PROPERTY_GC_ENABLED: &str = "gc.enabled"
pub const PROPERTY_GC_ENABLED: &str = "gc.enabled"
Property key for enabling garbage collection on drop.
When set to false, data files will not be deleted when a table is dropped.
Defaults to true.
Sourcepub const PROPERTY_GC_ENABLED_DEFAULT: bool = true
pub const PROPERTY_GC_ENABLED_DEFAULT: bool = true
Default value for gc.enabled
Sourcepub const PROPERTY_MAX_SNAPSHOT_AGE_MS: &str = "history.expire.max-snapshot-age-ms"
pub const PROPERTY_MAX_SNAPSHOT_AGE_MS: &str = "history.expire.max-snapshot-age-ms"
Property key for the default maximum age of a snapshot to keep when expiring snapshots.
Sourcepub const PROPERTY_MAX_SNAPSHOT_AGE_MS_DEFAULT: i64
pub const PROPERTY_MAX_SNAPSHOT_AGE_MS_DEFAULT: i64
Default value for history.expire.max-snapshot-age-ms (5 days).
Sourcepub const PROPERTY_MIN_SNAPSHOTS_TO_KEEP: &str = "history.expire.min-snapshots-to-keep"
pub const PROPERTY_MIN_SNAPSHOTS_TO_KEEP: &str = "history.expire.min-snapshots-to-keep"
Property key for the default minimum number of snapshots to keep when expiring snapshots.
Sourcepub const PROPERTY_MIN_SNAPSHOTS_TO_KEEP_DEFAULT: usize = 1
pub const PROPERTY_MIN_SNAPSHOTS_TO_KEEP_DEFAULT: usize = 1
Default value for history.expire.min-snapshots-to-keep.
Sourcepub const PROPERTY_MAX_REF_AGE_MS: &str = "history.expire.max-ref-age-ms"
pub const PROPERTY_MAX_REF_AGE_MS: &str = "history.expire.max-ref-age-ms"
Property key for the default maximum age of a snapshot reference to keep when expiring.
Sourcepub const PROPERTY_MAX_REF_AGE_MS_DEFAULT: i64 = i64::MAX
pub const PROPERTY_MAX_REF_AGE_MS_DEFAULT: i64 = i64::MAX
Default value for history.expire.max-ref-age-ms (effectively never expire refs).
Sourcepub const PROPERTY_PARQUET_CDC_ENABLED: &str = "write.parquet.content-defined-chunking.enabled"
pub const PROPERTY_PARQUET_CDC_ENABLED: &str = "write.parquet.content-defined-chunking.enabled"
Enable content-defined chunking with parquet defaults (or per-property overrides).
Sourcepub const PROPERTY_PARQUET_CDC_ENABLED_DEFAULT: bool = false
pub const PROPERTY_PARQUET_CDC_ENABLED_DEFAULT: bool = false
Default value for content-defined chunking enabled.
Sourcepub const PROPERTY_PARQUET_CDC_MIN_CHUNK_SIZE: &str = "write.parquet.content-defined-chunking.min-chunk-size"
pub const PROPERTY_PARQUET_CDC_MIN_CHUNK_SIZE: &str = "write.parquet.content-defined-chunking.min-chunk-size"
Minimum chunk size in bytes for content-defined chunking.
Sourcepub const PROPERTY_PARQUET_CDC_MIN_CHUNK_SIZE_DEFAULT: usize
pub const PROPERTY_PARQUET_CDC_MIN_CHUNK_SIZE_DEFAULT: usize
Default matches parquet::file::properties::DEFAULT_CDC_MIN_CHUNK_SIZE.
Sourcepub const PROPERTY_PARQUET_CDC_MAX_CHUNK_SIZE: &str = "write.parquet.content-defined-chunking.max-chunk-size"
pub const PROPERTY_PARQUET_CDC_MAX_CHUNK_SIZE: &str = "write.parquet.content-defined-chunking.max-chunk-size"
Maximum chunk size in bytes for content-defined chunking.
Sourcepub const PROPERTY_PARQUET_CDC_MAX_CHUNK_SIZE_DEFAULT: usize
pub const PROPERTY_PARQUET_CDC_MAX_CHUNK_SIZE_DEFAULT: usize
Default matches parquet::file::properties::DEFAULT_CDC_MAX_CHUNK_SIZE.
Sourcepub const PROPERTY_PARQUET_CDC_NORM_LEVEL: &str = "write.parquet.content-defined-chunking.norm-level"
pub const PROPERTY_PARQUET_CDC_NORM_LEVEL: &str = "write.parquet.content-defined-chunking.norm-level"
Normalization level (gearhash bit adjustment) for content-defined chunking.
Sourcepub const PROPERTY_PARQUET_CDC_NORM_LEVEL_DEFAULT: i32 = 0
pub const PROPERTY_PARQUET_CDC_NORM_LEVEL_DEFAULT: i32 = 0
Default matches parquet::file::properties::DEFAULT_CDC_NORM_LEVEL.
Sourcepub const PROPERTY_ENCRYPTION_KEY_ID: &str = "encryption.key-id"
pub const PROPERTY_ENCRYPTION_KEY_ID: &str = "encryption.key-id"
Property key for the master key id used to encrypt the table’s manifest list and data files as defined in https://iceberg.apache.org/docs/nightly/encryption/.
Sourcepub const PROPERTY_ENCRYPTION_DATA_KEY_LENGTH: &str = "encryption.data-key-length"
pub const PROPERTY_ENCRYPTION_DATA_KEY_LENGTH: &str = "encryption.data-key-length"
Property key for the encryption data encryption key (DEK) length in bytes.
Sourcepub const PROPERTY_ENCRYPTION_DATA_KEY_LENGTH_DEFAULT: usize = 16
pub const PROPERTY_ENCRYPTION_DATA_KEY_LENGTH_DEFAULT: usize = 16
Default value for the encryption DEK length (16 bytes = AES-128).
Trait Implementations§
Source§impl Debug for TableProperties
impl Debug for TableProperties
Auto Trait Implementations§
impl Freeze for TableProperties
impl RefUnwindSafe for TableProperties
impl Send for TableProperties
impl Sync for TableProperties
impl Unpin for TableProperties
impl UnsafeUnpin for TableProperties
impl UnwindSafe for TableProperties
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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