Add support for Create Iceberg Table statement for Snowflake parser (#1664)

This commit is contained in:
Denys Tsomenko 2025-01-20 22:39:44 +02:00 committed by GitHub
parent 183274e274
commit c7c0de6551
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 296 additions and 5 deletions

View file

@ -8396,6 +8396,29 @@ impl fmt::Display for SessionParamValue {
}
}
/// Snowflake StorageSerializationPolicy for Iceberg Tables
/// ```sql
/// [ STORAGE_SERIALIZATION_POLICY = { COMPATIBLE | OPTIMIZED } ]
/// ```
///
/// <https://docs.snowflake.com/en/sql-reference/sql/create-iceberg-table>
#[derive(Debug, Copy, Clone, PartialEq, PartialOrd, Eq, Ord, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "visitor", derive(Visit, VisitMut))]
pub enum StorageSerializationPolicy {
Compatible,
Optimized,
}
impl Display for StorageSerializationPolicy {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
StorageSerializationPolicy::Compatible => write!(f, "COMPATIBLE"),
StorageSerializationPolicy::Optimized => write!(f, "OPTIMIZED"),
}
}
}
#[cfg(test)]
mod tests {
use super::*;