Struct datafusion::sql::sqlparser::ast::CreateTable
source · pub struct CreateTable {Show 42 fields
pub or_replace: bool,
pub temporary: bool,
pub external: bool,
pub global: Option<bool>,
pub if_not_exists: bool,
pub transient: bool,
pub volatile: bool,
pub name: ObjectName,
pub columns: Vec<ColumnDef>,
pub constraints: Vec<TableConstraint>,
pub hive_distribution: HiveDistributionStyle,
pub hive_formats: Option<HiveFormat>,
pub table_properties: Vec<SqlOption>,
pub with_options: Vec<SqlOption>,
pub file_format: Option<FileFormat>,
pub location: Option<String>,
pub query: Option<Box<Query>>,
pub without_rowid: bool,
pub like: Option<ObjectName>,
pub clone: Option<ObjectName>,
pub engine: Option<TableEngine>,
pub comment: Option<CommentDef>,
pub auto_increment_offset: Option<u32>,
pub default_charset: Option<String>,
pub collation: Option<String>,
pub on_commit: Option<OnCommit>,
pub on_cluster: Option<String>,
pub primary_key: Option<Box<Expr>>,
pub order_by: Option<OneOrManyWithParens<Expr>>,
pub partition_by: Option<Box<Expr>>,
pub cluster_by: Option<WrappedCollection<Vec<Ident>>>,
pub options: Option<Vec<SqlOption>>,
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>>,
}
Expand description
CREATE TABLE statement.
Fields§
§or_replace: bool
§temporary: bool
§external: bool
§global: Option<bool>
§if_not_exists: bool
§transient: bool
§volatile: bool
§name: ObjectName
Table name
columns: Vec<ColumnDef>
Optional schema
constraints: Vec<TableConstraint>
§hive_distribution: HiveDistributionStyle
§hive_formats: Option<HiveFormat>
§table_properties: Vec<SqlOption>
§with_options: Vec<SqlOption>
§file_format: Option<FileFormat>
§location: Option<String>
§query: Option<Box<Query>>
§without_rowid: bool
§like: Option<ObjectName>
§clone: Option<ObjectName>
§engine: Option<TableEngine>
§comment: Option<CommentDef>
§auto_increment_offset: Option<u32>
§default_charset: Option<String>
§collation: Option<String>
§on_commit: Option<OnCommit>
§on_cluster: Option<String>
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<Ident>>>
BigQuery: Table clustering column list. https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#table_option_list
options: Option<Vec<SqlOption>>
BigQuery: Table options list. https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#table_option_list
strict: bool
SQLite “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: bool
Snowflake “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
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 moresource§impl Debug for CreateTable
impl Debug for CreateTable
source§impl Display for CreateTable
impl Display for CreateTable
source§impl Hash for CreateTable
impl Hash for CreateTable
source§impl Ord for CreateTable
impl Ord for CreateTable
source§fn cmp(&self, other: &CreateTable) -> Ordering
fn cmp(&self, other: &CreateTable) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for CreateTable
impl PartialEq for CreateTable
source§impl PartialOrd for CreateTable
impl PartialOrd for CreateTable
source§impl Visit for CreateTable
impl Visit for CreateTable
source§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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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