Struct sql_parse::CreateTable
source · [−]pub struct CreateTable<'a> {
pub create_span: Span,
pub create_options: Vec<CreateOption<'a>>,
pub table_span: Span,
pub identifier: Identifier<'a>,
pub if_not_exists: Option<Span>,
pub create_definitions: Vec<CreateDefinition<'a>>,
pub options: Vec<TableOption<'a>>,
}
Expand description
Represent a create table statement
let sql = "CREATE TABLE `parts` (
`id` int(11) NOT NULL COMMENT 'THIS IS THE ID FIELD',
`hash` varchar(64) COLLATE utf8_bin NOT NULL,
`destination` varchar(64) COLLATE utf8_bin NOT NULL,
`part` varchar(64) COLLATE utf8_bin NOT NULL,
`success` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;";
let mut stmts = parse_statements(sql, &mut issues, &options);
let create: CreateTable = match stmts.pop() {
Some(Statement::CreateTable(c)) => c,
_ => panic!("We should get an create table statement")
};
assert!(create.identifier.as_str() == "parts");
println!("{:#?}", create.create_definitions)
Fields
create_span: Span
Span of “CREATE”
create_options: Vec<CreateOption<'a>>
Options specified after “CREATE”
table_span: Span
Span of “TABLE”
identifier: Identifier<'a>
Name of the table
if_not_exists: Option<Span>
Span of “IF NOT EXISTS” if specified
create_definitions: Vec<CreateDefinition<'a>>
Definitions of table members
options: Vec<TableOption<'a>>
Options specified after the table creation
Trait Implementations
sourceimpl<'a> Clone for CreateTable<'a>
impl<'a> Clone for CreateTable<'a>
sourcefn clone(&self) -> CreateTable<'a>
fn clone(&self) -> CreateTable<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'a> Debug for CreateTable<'a>
impl<'a> Debug for CreateTable<'a>
sourceimpl<'a> Spanned for CreateTable<'a>
impl<'a> Spanned for CreateTable<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for CreateTable<'a>
impl<'a> Send for CreateTable<'a>
impl<'a> Sync for CreateTable<'a>
impl<'a> Unpin for CreateTable<'a>
impl<'a> UnwindSafe for CreateTable<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more