Struct CreateDatabaseBuilder
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§
§impl CreateDatabaseBuilder
impl CreateDatabaseBuilder
pub fn new(name: ObjectName) -> CreateDatabaseBuilder
pub fn location(self, location: Option<String>) -> CreateDatabaseBuilder
pub fn managed_location( self, managed_location: Option<String>, ) -> CreateDatabaseBuilder
pub fn or_replace(self, or_replace: bool) -> CreateDatabaseBuilder
pub fn transient(self, transient: bool) -> CreateDatabaseBuilder
pub fn if_not_exists(self, if_not_exists: bool) -> CreateDatabaseBuilder
pub fn clone_clause(self, clone: Option<ObjectName>) -> CreateDatabaseBuilder
pub fn data_retention_time_in_days( self, data_retention_time_in_days: Option<u64>, ) -> CreateDatabaseBuilder
pub fn max_data_extension_time_in_days( self, max_data_extension_time_in_days: Option<u64>, ) -> CreateDatabaseBuilder
pub fn external_volume( self, external_volume: Option<String>, ) -> CreateDatabaseBuilder
pub fn catalog(self, catalog: Option<String>) -> CreateDatabaseBuilder
pub fn replace_invalid_characters( self, replace_invalid_characters: Option<bool>, ) -> CreateDatabaseBuilder
pub fn default_ddl_collation( self, default_ddl_collation: Option<String>, ) -> CreateDatabaseBuilder
pub fn storage_serialization_policy( self, storage_serialization_policy: Option<StorageSerializationPolicy>, ) -> CreateDatabaseBuilder
pub fn comment(self, comment: Option<String>) -> CreateDatabaseBuilder
pub fn catalog_sync(self, catalog_sync: Option<String>) -> CreateDatabaseBuilder
pub fn catalog_sync_namespace_mode( self, catalog_sync_namespace_mode: Option<CatalogSyncNamespaceMode>, ) -> CreateDatabaseBuilder
pub fn catalog_sync_namespace_flatten_delimiter( self, catalog_sync_namespace_flatten_delimiter: Option<String>, ) -> CreateDatabaseBuilder
pub fn with_contacts( self, with_contacts: Option<Vec<ContactEntry>>, ) -> CreateDatabaseBuilder
pub fn build(self) -> Statement
Trait Implementations§
§impl Clone for CreateDatabaseBuilder
impl Clone for CreateDatabaseBuilder
§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 more§impl Debug for CreateDatabaseBuilder
impl Debug for CreateDatabaseBuilder
§impl Hash for CreateDatabaseBuilder
impl Hash for CreateDatabaseBuilder
§impl PartialEq for CreateDatabaseBuilder
impl PartialEq for CreateDatabaseBuilder
§impl TryFrom<Statement> for CreateDatabaseBuilder
impl TryFrom<Statement> for CreateDatabaseBuilder
§type Error = ParserError
type Error = ParserError
The type returned in the event of a conversion error.
§fn try_from(
stmt: Statement,
) -> Result<CreateDatabaseBuilder, <CreateDatabaseBuilder as TryFrom<Statement>>::Error>
fn try_from( stmt: Statement, ) -> Result<CreateDatabaseBuilder, <CreateDatabaseBuilder as TryFrom<Statement>>::Error>
Performs the conversion.
§impl Visit for CreateDatabaseBuilder
impl Visit for CreateDatabaseBuilder
§impl VisitMut for CreateDatabaseBuilder
impl VisitMut for CreateDatabaseBuilder
fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where
V: VisitorMut,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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>
Converts
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>
Converts
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