Struct sqlparser::ast::helpers::stmt_create_table::CreateTableBuilder
source · pub struct CreateTableBuilder {Show 25 fields
pub or_replace: bool,
pub temporary: bool,
pub external: bool,
pub global: Option<bool>,
pub if_not_exists: bool,
pub transient: 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>,
pub order_by: Option<Vec<Ident>>,
}
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
§transient: 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>
§order_by: Option<Vec<Ident>>
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 transient(self, transient: 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 order_by(self, order_by: Option<Vec<Ident>>) -> 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 Hash for CreateTableBuilder
impl Hash for CreateTableBuilder
source§impl PartialEq for CreateTableBuilder
impl PartialEq 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 ==
.source§impl TryFrom<Statement> for CreateTableBuilder
impl TryFrom<Statement> for CreateTableBuilder
impl Eq for CreateTableBuilder
impl StructuralEq for CreateTableBuilder
impl StructuralPartialEq for CreateTableBuilder
Auto Trait Implementations§
impl RefUnwindSafe for CreateTableBuilder
impl Send for CreateTableBuilder
impl Sync for CreateTableBuilder
impl Unpin for CreateTableBuilder
impl UnwindSafe for CreateTableBuilder
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
Mutably borrows from an owned value. Read more