pub struct CreateDatabaseBuilder {Show 20 fields
pub db_name: ObjectName,
pub if_not_exists: bool,
pub location: Option<String>,
pub managed_location: Option<String>,
pub or_replace: bool,
pub transient: bool,
pub clone: Option<ObjectName>,
pub data_retention_time_in_days: Option<u64>,
pub max_data_extension_time_in_days: Option<u64>,
pub external_volume: Option<String>,
pub catalog: Option<String>,
pub replace_invalid_characters: Option<bool>,
pub default_ddl_collation: Option<String>,
pub storage_serialization_policy: Option<StorageSerializationPolicy>,
pub comment: Option<String>,
pub catalog_sync: Option<String>,
pub catalog_sync_namespace_mode: Option<CatalogSyncNamespaceMode>,
pub catalog_sync_namespace_flatten_delimiter: Option<String>,
pub with_tags: Option<Vec<Tag>>,
pub with_contacts: Option<Vec<ContactEntry>>,
}Expand description
Builder for create database statement variant (1).
This structure helps building and accessing a create database 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_database::CreateDatabaseBuilder;
use sqlparser::ast::{ColumnDef, Ident, ObjectName};
let builder = CreateDatabaseBuilder::new(ObjectName::from(vec![Ident::new("database_name")]))
.if_not_exists(true);
// You can access internal elements with ease
assert!(builder.if_not_exists);
// Convert to a statement
assert_eq!(
builder.build().to_string(),
"CREATE DATABASE IF NOT EXISTS database_name"
)Fields§
§db_name: ObjectName§if_not_exists: bool§location: Option<String>§managed_location: Option<String>§or_replace: bool§transient: bool§clone: Option<ObjectName>§data_retention_time_in_days: Option<u64>§max_data_extension_time_in_days: Option<u64>§external_volume: Option<String>§catalog: Option<String>§replace_invalid_characters: Option<bool>§default_ddl_collation: Option<String>§storage_serialization_policy: Option<StorageSerializationPolicy>§comment: Option<String>§catalog_sync: Option<String>§catalog_sync_namespace_mode: Option<CatalogSyncNamespaceMode>§catalog_sync_namespace_flatten_delimiter: Option<String>§with_contacts: Option<Vec<ContactEntry>>Implementations§
Source§impl CreateDatabaseBuilder
impl CreateDatabaseBuilder
pub fn new(name: ObjectName) -> Self
pub fn location(self, location: Option<String>) -> Self
pub fn managed_location(self, managed_location: Option<String>) -> Self
pub fn or_replace(self, or_replace: bool) -> Self
pub fn transient(self, transient: bool) -> Self
pub fn if_not_exists(self, if_not_exists: bool) -> Self
pub fn clone_clause(self, clone: Option<ObjectName>) -> Self
pub fn data_retention_time_in_days( self, data_retention_time_in_days: Option<u64>, ) -> Self
pub fn max_data_extension_time_in_days( self, max_data_extension_time_in_days: Option<u64>, ) -> Self
pub fn external_volume(self, external_volume: Option<String>) -> Self
pub fn catalog(self, catalog: Option<String>) -> Self
pub fn replace_invalid_characters( self, replace_invalid_characters: Option<bool>, ) -> Self
pub fn default_ddl_collation( self, default_ddl_collation: Option<String>, ) -> Self
pub fn storage_serialization_policy( self, storage_serialization_policy: Option<StorageSerializationPolicy>, ) -> Self
pub fn comment(self, comment: Option<String>) -> Self
pub fn catalog_sync(self, catalog_sync: Option<String>) -> Self
pub fn catalog_sync_namespace_mode( self, catalog_sync_namespace_mode: Option<CatalogSyncNamespaceMode>, ) -> Self
pub fn catalog_sync_namespace_flatten_delimiter( self, catalog_sync_namespace_flatten_delimiter: Option<String>, ) -> Self
pub fn with_contacts(self, with_contacts: Option<Vec<ContactEntry>>) -> Self
pub fn build(self) -> Statement
Trait Implementations§
Source§impl Clone for CreateDatabaseBuilder
impl Clone for CreateDatabaseBuilder
Source§fn clone(&self) -> CreateDatabaseBuilder
fn clone(&self) -> CreateDatabaseBuilder
Returns a duplicate 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 CreateDatabaseBuilder
impl Debug for CreateDatabaseBuilder
Source§impl<'de> Deserialize<'de> for CreateDatabaseBuilder
impl<'de> Deserialize<'de> for CreateDatabaseBuilder
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 CreateDatabaseBuilder
impl Hash for CreateDatabaseBuilder
Source§impl PartialEq for CreateDatabaseBuilder
impl PartialEq for CreateDatabaseBuilder
Source§impl Serialize for CreateDatabaseBuilder
impl Serialize for CreateDatabaseBuilder
Source§impl TryFrom<Statement> for CreateDatabaseBuilder
impl TryFrom<Statement> for CreateDatabaseBuilder
Source§impl Visit for CreateDatabaseBuilder
impl Visit for CreateDatabaseBuilder
Source§impl VisitMut for CreateDatabaseBuilder
impl VisitMut for CreateDatabaseBuilder
fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
impl Eq for CreateDatabaseBuilder
impl StructuralPartialEq for CreateDatabaseBuilder
Auto Trait Implementations§
impl Freeze for CreateDatabaseBuilder
impl RefUnwindSafe for CreateDatabaseBuilder
impl Send for CreateDatabaseBuilder
impl Sync for CreateDatabaseBuilder
impl Unpin for CreateDatabaseBuilder
impl UnwindSafe for CreateDatabaseBuilder
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