pub struct CreateTable {Show 53 fields
pub or_replace: bool,
pub temporary: bool,
pub external: bool,
pub dynamic: bool,
pub global: Option<bool>,
pub if_not_exists: bool,
pub transient: bool,
pub volatile: bool,
pub iceberg: bool,
pub name: ObjectName,
pub columns: Vec<ColumnDef>,
pub constraints: Vec<TableConstraint>,
pub hive_distribution: HiveDistributionStyle,
pub hive_formats: Option<HiveFormat>,
pub table_options: CreateTableOptions,
pub file_format: Option<FileFormat>,
pub location: Option<String>,
pub query: Option<Box<Query>>,
pub without_rowid: bool,
pub like: Option<CreateTableLikeKind>,
pub clone: Option<ObjectName>,
pub version: Option<TableVersion>,
pub comment: Option<CommentDef>,
pub on_commit: Option<OnCommit>,
pub on_cluster: Option<Ident>,
pub primary_key: Option<Box<Expr>>,
pub order_by: Option<OneOrManyWithParens<Expr>>,
pub partition_by: Option<Box<Expr>>,
pub cluster_by: Option<WrappedCollection<Vec<Expr>>>,
pub clustered_by: Option<ClusteredBy>,
pub inherits: Option<Vec<ObjectName>>,
pub partition_of: Option<ObjectName>,
pub for_values: Option<ForValues>,
pub strict: bool,
pub copy_grants: bool,
pub enable_schema_evolution: Option<bool>,
pub change_tracking: Option<bool>,
pub data_retention_time_in_days: Option<u64>,
pub max_data_extension_time_in_days: Option<u64>,
pub default_ddl_collation: Option<String>,
pub with_aggregation_policy: Option<ObjectName>,
pub with_row_access_policy: Option<RowAccessPolicy>,
pub with_tags: Option<Vec<Tag>>,
pub external_volume: Option<String>,
pub base_location: Option<String>,
pub catalog: Option<String>,
pub catalog_sync: Option<String>,
pub storage_serialization_policy: Option<StorageSerializationPolicy>,
pub target_lag: Option<String>,
pub warehouse: Option<Ident>,
pub refresh_mode: Option<RefreshModeKind>,
pub initialize: Option<InitializeKind>,
pub require_user: bool,
}Expand description
CREATE TABLE statement.
Fields§
§or_replace: boolOR REPLACE clause
temporary: boolTEMP or TEMPORARY clause
external: boolEXTERNAL clause
dynamic: boolDYNAMIC clause
global: Option<bool>GLOBAL clause
if_not_exists: boolIF NOT EXISTS clause
transient: boolTRANSIENT clause
volatile: boolVOLATILE clause
iceberg: boolICEBERG clause
name: ObjectNameTable name
columns: Vec<ColumnDef>Column definitions
constraints: Vec<TableConstraint>Table constraints
hive_distribution: HiveDistributionStyleHive-specific distribution style
hive_formats: Option<HiveFormat>Hive-specific formats like ROW FORMAT DELIMITED or ROW FORMAT SERDE 'serde_class' WITH SERDEPROPERTIES (...)
table_options: CreateTableOptionsTable options
file_format: Option<FileFormat>General comment for the table
location: Option<String>Location of the table data
query: Option<Box<Query>>Query used to populate the table
without_rowid: boolIf the table should be created without a rowid (SQLite)
like: Option<CreateTableLikeKind>LIKE clause
clone: Option<ObjectName>CLONE clause
version: Option<TableVersion>Table version (for systems that support versioned tables)
comment: Option<CommentDef>For Hive dialect, the table comment is after the column definitions without =,
so the comment field is optional and different than the comment field in the general options list.
Hive
on_commit: Option<OnCommit>ClickHouse “ON COMMIT” clause: https://clickhouse.com/docs/en/sql-reference/statements/create/table/
on_cluster: Option<Ident>ClickHouse “ON CLUSTER” clause: https://clickhouse.com/docs/en/sql-reference/distributed-ddl/
primary_key: Option<Box<Expr>>ClickHouse “PRIMARY KEY “ clause. https://clickhouse.com/docs/en/sql-reference/statements/create/table/
order_by: Option<OneOrManyWithParens<Expr>>ClickHouse “ORDER BY “ clause. Note that omitted ORDER BY is different than empty (represented as ()), the latter meaning “no sorting”. https://clickhouse.com/docs/en/sql-reference/statements/create/table/
partition_by: Option<Box<Expr>>BigQuery: A partition expression for the table. https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#partition_expression
cluster_by: Option<WrappedCollection<Vec<Expr>>>BigQuery: Table clustering column list. https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#table_option_list Snowflake: Table clustering list which contains base column, expressions on base columns. https://docs.snowflake.com/en/user-guide/tables-clustering-keys#defining-a-clustering-key-for-a-table
clustered_by: Option<ClusteredBy>Hive: Table clustering column list. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTable
inherits: Option<Vec<ObjectName>>Postgres INHERITs clause, which contains the list of tables from which
the new table inherits.
https://www.postgresql.org/docs/current/ddl-inherit.html
https://www.postgresql.org/docs/current/sql-createtable.html#SQL-CREATETABLE-PARMS-INHERITS
partition_of: Option<ObjectName>PostgreSQL PARTITION OF clause to create a partition of a parent table.
Contains the parent table name.
https://www.postgresql.org/docs/current/sql-createtable.html
for_values: Option<ForValues>PostgreSQL partition bound specification for PARTITION OF. https://www.postgresql.org/docs/current/sql-createtable.html
strict: boolSQLite “STRICT” clause. if the “STRICT” table-option keyword is added to the end, after the closing “)”, then strict typing rules apply to that table.
copy_grants: boolSnowflake “COPY GRANTS” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
enable_schema_evolution: Option<bool>Snowflake “ENABLE_SCHEMA_EVOLUTION” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
change_tracking: Option<bool>Snowflake “CHANGE_TRACKING” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
data_retention_time_in_days: Option<u64>Snowflake “DATA_RETENTION_TIME_IN_DAYS” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
max_data_extension_time_in_days: Option<u64>Snowflake “MAX_DATA_EXTENSION_TIME_IN_DAYS” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
default_ddl_collation: Option<String>Snowflake “DEFAULT_DDL_COLLATION” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
with_aggregation_policy: Option<ObjectName>Snowflake “WITH AGGREGATION POLICY” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
with_row_access_policy: Option<RowAccessPolicy>Snowflake “WITH ROW ACCESS POLICY” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
Snowflake “WITH TAG” clause https://docs.snowflake.com/en/sql-reference/sql/create-table
external_volume: Option<String>Snowflake “EXTERNAL_VOLUME” clause for Iceberg tables https://docs.snowflake.com/en/sql-reference/sql/create-iceberg-table
base_location: Option<String>Snowflake “BASE_LOCATION” clause for Iceberg tables https://docs.snowflake.com/en/sql-reference/sql/create-iceberg-table
catalog: Option<String>Snowflake “CATALOG” clause for Iceberg tables https://docs.snowflake.com/en/sql-reference/sql/create-iceberg-table
catalog_sync: Option<String>Snowflake “CATALOG_SYNC” clause for Iceberg tables https://docs.snowflake.com/en/sql-reference/sql/create-iceberg-table
storage_serialization_policy: Option<StorageSerializationPolicy>Snowflake “STORAGE_SERIALIZATION_POLICY” clause for Iceberg tables https://docs.snowflake.com/en/sql-reference/sql/create-iceberg-table
target_lag: Option<String>Snowflake “TARGET_LAG” clause for dybamic tables https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table
warehouse: Option<Ident>Snowflake “WAREHOUSE” clause for dybamic tables https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table
refresh_mode: Option<RefreshModeKind>Snowflake “REFRESH_MODE” clause for dybamic tables https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table
initialize: Option<InitializeKind>Snowflake “INITIALIZE” clause for dybamic tables https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table
require_user: boolSnowflake “REQUIRE USER” clause for dybamic tables https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table
Trait Implementations§
Source§impl Clone for CreateTable
impl Clone for CreateTable
Source§fn clone(&self) -> CreateTable
fn clone(&self) -> CreateTable
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more