Struct CreateTable
pub struct CreateTable {Show 51 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 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: bool§temporary: bool§external: bool§dynamic: bool§global: Option<bool>§if_not_exists: bool§transient: bool§volatile: bool§iceberg: bool§name: ObjectNameTable name
columns: Vec<ColumnDef>Optional schema
constraints: Vec<TableConstraint>§hive_distribution: HiveDistributionStyle§hive_formats: Option<HiveFormat>§table_options: CreateTableOptions§file_format: Option<FileFormat>§location: Option<String>§query: Option<Box<Query>>§without_rowid: bool§like: Option<CreateTableLikeKind>§clone: Option<ObjectName>§version: Option<TableVersion>§comment: Option<CommentDef>§on_commit: Option<OnCommit>§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
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§
§impl Clone for CreateTable
impl Clone for CreateTable
§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§impl Debug for CreateTable
impl Debug for CreateTable
§impl Display for CreateTable
impl Display for CreateTable
§impl From<CreateTable> for Statement
impl From<CreateTable> for Statement
§fn from(c: CreateTable) -> Statement
fn from(c: CreateTable) -> Statement
§impl Hash for CreateTable
impl Hash for CreateTable
§impl Ord for CreateTable
impl Ord for CreateTable
§impl PartialEq for CreateTable
impl PartialEq for CreateTable
§impl PartialOrd for CreateTable
impl PartialOrd for CreateTable
§impl Spanned for CreateTable
impl Spanned for CreateTable
§impl Visit for CreateTable
impl Visit for CreateTable
§impl VisitMut for CreateTable
impl VisitMut for CreateTable
fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where
V: VisitorMut,
impl Eq for CreateTable
impl StructuralPartialEq for CreateTable
Auto Trait Implementations§
impl Freeze for CreateTable
impl RefUnwindSafe for CreateTable
impl Send for CreateTable
impl Sync for CreateTable
impl Unpin for CreateTable
impl UnwindSafe for CreateTable
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.