Struct sqlparser::ast::helpers::stmt_create_table::CreateTableBuilder
source · pub struct CreateTableBuilder {Show 23 fields
pub or_replace: bool,
pub temporary: bool,
pub external: bool,
pub global: Option<bool>,
pub if_not_exists: 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<String>,
pub default_charset: Option<String>,
pub collation: Option<String>,
pub on_commit: Option<OnCommit>,
pub on_cluster: Option<String>,
}
Expand description
Builder for create table statement variant (1).
This structure helps building and accessing a create table with more ease, without needing to:
- Match the enum itself a lot of times; or
- Moving a lot of variables around the code.
Example
use sqlparser::ast::helpers::stmt_create_table::CreateTableBuilder;
use sqlparser::ast::{ColumnDef, DataType, Ident, ObjectName};
let builder = CreateTableBuilder::new(ObjectName(vec![Ident::new("table_name")]))
.if_not_exists(true)
.columns(vec![ColumnDef {
name: Ident::new("c1"),
data_type: DataType::Int(None),
collation: None,
options: vec![],
}]);
// You can access internal elements with ease
assert!(builder.if_not_exists);
// Convert to a statement
assert_eq!(
builder.build().to_string(),
"CREATE TABLE IF NOT EXISTS table_name (c1 INT)"
)
Fields§
§or_replace: bool
§temporary: bool
§external: bool
§global: Option<bool>
§if_not_exists: bool
§name: ObjectName
§columns: Vec<ColumnDef>
§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<String>
§default_charset: Option<String>
§collation: Option<String>
§on_commit: Option<OnCommit>
§on_cluster: Option<String>
Implementations§
source§impl CreateTableBuilder
impl CreateTableBuilder
pub fn new(name: ObjectName) -> Self
pub fn or_replace(self, or_replace: bool) -> Self
pub fn temporary(self, temporary: bool) -> Self
pub fn external(self, external: bool) -> Self
pub fn global(self, global: Option<bool>) -> Self
pub fn if_not_exists(self, if_not_exists: bool) -> Self
pub fn columns(self, columns: Vec<ColumnDef>) -> Self
pub fn constraints(self, constraints: Vec<TableConstraint>) -> Self
pub fn hive_distribution(self, hive_distribution: HiveDistributionStyle) -> Self
pub fn hive_formats(self, hive_formats: Option<HiveFormat>) -> Self
pub fn table_properties(self, table_properties: Vec<SqlOption>) -> Self
pub fn with_options(self, with_options: Vec<SqlOption>) -> Self
pub fn file_format(self, file_format: Option<FileFormat>) -> Self
pub fn location(self, location: Option<String>) -> Self
pub fn query(self, query: Option<Box<Query>>) -> Self
pub fn without_rowid(self, without_rowid: bool) -> Self
pub fn like(self, like: Option<ObjectName>) -> Self
pub fn clone_clause(self, clone: Option<ObjectName>) -> Self
pub fn engine(self, engine: Option<String>) -> Self
pub fn default_charset(self, default_charset: Option<String>) -> Self
pub fn collation(self, collation: Option<String>) -> Self
pub fn on_commit(self, on_commit: Option<OnCommit>) -> Self
pub fn on_cluster(self, on_cluster: Option<String>) -> Self
pub fn build(self) -> Statement
Trait Implementations§
source§impl Clone for CreateTableBuilder
impl Clone for CreateTableBuilder
source§fn clone(&self) -> CreateTableBuilder
fn clone(&self) -> CreateTableBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CreateTableBuilder
impl Debug for CreateTableBuilder
source§impl<'de> Deserialize<'de> for CreateTableBuilder
impl<'de> Deserialize<'de> for CreateTableBuilder
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for CreateTableBuilder
impl Hash for CreateTableBuilder
source§impl PartialEq<CreateTableBuilder> for CreateTableBuilder
impl PartialEq<CreateTableBuilder> for CreateTableBuilder
source§fn eq(&self, other: &CreateTableBuilder) -> bool
fn eq(&self, other: &CreateTableBuilder) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.