1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct TimePartitioning { /// [Optional] Number of milliseconds for which to keep the storage for partitions in the table. The storage in a partition will have an expiration time of its partition time plus this value. #[serde(skip_serializing_if = "Option::is_none")] pub expiration_ms: Option<String>, /// [Beta] [Optional] If not set, the table is partitioned by pseudo column, referenced via either '_PARTITIONTIME' as TIMESTAMP type, or '_PARTITIONDATE' as DATE type. If field is specified, the table is instead partitioned by this field. The field must be a top-level TIMESTAMP or DATE field. Its mode must be NULLABLE or REQUIRED. #[serde(skip_serializing_if = "Option::is_none")] pub field: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub require_partition_filter: Option<bool>, /// [Required] The supported types are DAY, HOUR, MONTH, and YEAR, which will generate one partition per day, hour, month, and year, respectively. When the type is not specified, the default behavior is DAY. #[serde(rename = "type")] pub r#type: String, }