pub enum Statement {
Show 66 variants Analyze { table_name: ObjectName, partitions: Option<Vec<Expr>>, for_columns: bool, columns: Vec<Ident>, cache_metadata: bool, noscan: bool, compute_statistics: bool, }, Truncate { table_name: ObjectName, partitions: Option<Vec<Expr>>, table: bool, }, Msck { table_name: ObjectName, repair: bool, partition_action: Option<AddDropSync>, }, Query(Box<Query>), Insert { or: Option<SqliteOnConflict>, ignore: bool, into: bool, table_name: ObjectName, columns: Vec<Ident>, overwrite: bool, source: Box<Query>, partitioned: Option<Vec<Expr>>, after_columns: Vec<Ident>, table: bool, on: Option<OnInsert>, returning: Option<Vec<SelectItem>>, }, Directory { overwrite: bool, local: bool, path: String, file_format: Option<FileFormat>, source: Box<Query>, }, Copy { source: CopySource, to: bool, target: CopyTarget, options: Vec<CopyOption>, legacy_options: Vec<CopyLegacyOption>, values: Vec<Option<String>>, }, CopyIntoSnowflake { into: ObjectName, from_stage: ObjectName, from_stage_alias: Option<Ident>, stage_params: StageParamsObject, from_transformations: Option<Vec<StageLoadSelectItem>>, files: Option<Vec<String>>, pattern: Option<String>, file_format: DataLoadingOptions, copy_options: DataLoadingOptions, validation_mode: Option<String>, }, Close { cursor: CloseCursor, }, Update { table: TableWithJoins, assignments: Vec<Assignment>, from: Option<TableWithJoins>, selection: Option<Expr>, returning: Option<Vec<SelectItem>>, }, Delete { tables: Vec<ObjectName>, from: Vec<TableWithJoins>, using: Option<Vec<TableWithJoins>>, selection: Option<Expr>, returning: Option<Vec<SelectItem>>, order_by: Vec<OrderByExpr>, limit: Option<Expr>, }, CreateView { or_replace: bool, materialized: bool, name: ObjectName, columns: Vec<Ident>, query: Box<Query>, with_options: Vec<SqlOption>, cluster_by: Vec<Ident>, with_no_schema_binding: bool, if_not_exists: bool, temporary: bool, }, CreateTable {
Show 28 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>, comment: Option<String>, auto_increment_offset: Option<u32>, default_charset: Option<String>, collation: Option<String>, on_commit: Option<OnCommit>, on_cluster: Option<String>, order_by: Option<Vec<Ident>>, strict: bool,
}, CreateVirtualTable { name: ObjectName, if_not_exists: bool, module_name: Ident, module_args: Vec<Ident>, }, CreateIndex { name: Option<ObjectName>, table_name: ObjectName, using: Option<Ident>, columns: Vec<OrderByExpr>, unique: bool, concurrently: bool, if_not_exists: bool, include: Vec<Ident>, nulls_distinct: Option<bool>, predicate: Option<Expr>, }, CreateRole {
Show 18 fields names: Vec<ObjectName>, if_not_exists: bool, login: Option<bool>, inherit: Option<bool>, bypassrls: Option<bool>, password: Option<Password>, superuser: Option<bool>, create_db: Option<bool>, create_role: Option<bool>, replication: Option<bool>, connection_limit: Option<Expr>, valid_until: Option<Expr>, in_role: Vec<Ident>, in_group: Vec<Ident>, role: Vec<Ident>, user: Vec<Ident>, admin: Vec<Ident>, authorization_owner: Option<ObjectName>,
}, AlterTable { name: ObjectName, if_exists: bool, only: bool, operations: Vec<AlterTableOperation>, }, AlterIndex { name: ObjectName, operation: AlterIndexOperation, }, AlterView { name: ObjectName, columns: Vec<Ident>, query: Box<Query>, with_options: Vec<SqlOption>, }, AlterRole { name: Ident, operation: AlterRoleOperation, }, AttachDatabase { schema_name: Ident, database_file_name: Expr, database: bool, }, Drop { object_type: ObjectType, if_exists: bool, names: Vec<ObjectName>, cascade: bool, restrict: bool, purge: bool, temporary: bool, }, DropFunction { if_exists: bool, func_desc: Vec<DropFunctionDesc>, option: Option<ReferentialAction>, }, Declare { name: Ident, binary: bool, sensitive: Option<bool>, scroll: Option<bool>, hold: Option<bool>, query: Box<Query>, }, Fetch { name: Ident, direction: FetchDirection, into: Option<ObjectName>, }, Discard { object_type: DiscardObject, }, SetRole { context_modifier: ContextModifier, role_name: Option<Ident>, }, SetVariable { local: bool, hivevar: bool, variable: ObjectName, value: Vec<Expr>, }, SetTimeZone { local: bool, value: Expr, }, SetNames { charset_name: String, collation_name: Option<String>, }, SetNamesDefault {}, ShowFunctions { filter: Option<ShowStatementFilter>, }, ShowVariable { variable: Vec<Ident>, }, ShowVariables { filter: Option<ShowStatementFilter>, }, ShowCreate { obj_type: ShowCreateObject, obj_name: ObjectName, }, ShowColumns { extended: bool, full: bool, table_name: ObjectName, filter: Option<ShowStatementFilter>, }, ShowTables { extended: bool, full: bool, db_name: Option<Ident>, filter: Option<ShowStatementFilter>, }, ShowCollation { filter: Option<ShowStatementFilter>, }, Use { db_name: Ident, }, StartTransaction { modes: Vec<TransactionMode>, begin: bool, }, SetTransaction { modes: Vec<TransactionMode>, snapshot: Option<Value>, session: bool, }, Comment { object_type: CommentObject, object_name: ObjectName, comment: Option<String>, if_exists: bool, }, Commit { chain: bool, }, Rollback { chain: bool, }, CreateSchema { schema_name: SchemaName, if_not_exists: bool, }, CreateDatabase { db_name: ObjectName, if_not_exists: bool, location: Option<String>, managed_location: Option<String>, }, CreateFunction { or_replace: bool, temporary: bool, name: ObjectName, args: Option<Vec<OperateFunctionArg>>, return_type: Option<DataType>, params: CreateFunctionBody, }, CreateProcedure { or_alter: bool, name: ObjectName, params: Option<Vec<ProcedureParam>>, body: Vec<Statement>, }, CreateMacro { or_replace: bool, temporary: bool, name: ObjectName, args: Option<Vec<MacroArg>>, definition: MacroDefinition, }, CreateStage { or_replace: bool, temporary: bool, if_not_exists: bool, name: ObjectName, stage_params: StageParamsObject, directory_table_params: DataLoadingOptions, file_format: DataLoadingOptions, copy_options: DataLoadingOptions, comment: Option<String>, }, Assert { condition: Expr, message: Option<Expr>, }, Grant { privileges: Privileges, objects: GrantObjects, grantees: Vec<Ident>, with_grant_option: bool, granted_by: Option<Ident>, }, Revoke { privileges: Privileges, objects: GrantObjects, grantees: Vec<Ident>, granted_by: Option<Ident>, cascade: bool, }, Deallocate { name: Ident, prepare: bool, }, Execute { name: Ident, parameters: Vec<Expr>, }, Prepare { name: Ident, data_types: Vec<DataType>, statement: Box<Statement>, }, Kill { modifier: Option<KillType>, id: u64, }, ExplainTable { describe_alias: bool, table_name: ObjectName, }, Explain { describe_alias: bool, analyze: bool, verbose: bool, statement: Box<Statement>, format: Option<AnalyzeFormat>, }, Savepoint { name: Ident, }, Merge { into: bool, table: TableFactor, source: TableFactor, on: Box<Expr>, clauses: Vec<MergeClause>, }, Cache { table_flag: Option<ObjectName>, table_name: ObjectName, has_as: bool, options: Vec<SqlOption>, query: Option<Query>, }, UNCache { table_name: ObjectName, if_exists: bool, }, CreateSequence { temporary: bool, if_not_exists: bool, name: ObjectName, data_type: Option<DataType>, sequence_options: Vec<SequenceOptions>, owned_by: Option<ObjectName>, }, CreateType { name: ObjectName, representation: UserDefinedTypeRepresentation, }, Pragma { name: ObjectName, value: Option<Value>, is_eq: bool, },
}
Expand description

A top-level statement (SELECT, INSERT, CREATE, etc.)

Variants§

§

Analyze

Fields

§table_name: ObjectName
§partitions: Option<Vec<Expr>>
§for_columns: bool
§columns: Vec<Ident>
§cache_metadata: bool
§noscan: bool
§compute_statistics: bool

Analyze (Hive)

§

Truncate

Fields

§table_name: ObjectName
§partitions: Option<Vec<Expr>>
§table: bool

TABLE - optional keyword;

Truncate (Hive)

§

Msck

Fields

§table_name: ObjectName
§repair: bool
§partition_action: Option<AddDropSync>

Msck (Hive)

§

Query(Box<Query>)

SELECT

§

Insert

Fields

§or: Option<SqliteOnConflict>

Only for Sqlite

§ignore: bool

Only for mysql

§into: bool

INTO - optional keyword

§table_name: ObjectName

TABLE

§columns: Vec<Ident>

COLUMNS

§overwrite: bool

Overwrite (Hive)

§source: Box<Query>

A SQL query that specifies what to insert

§partitioned: Option<Vec<Expr>>

partitioned insert (Hive)

§after_columns: Vec<Ident>

Columns defined after PARTITION

§table: bool

whether the insert has the table keyword (Hive)

§returning: Option<Vec<SelectItem>>

RETURNING

INSERT

§

Directory

Fields

§overwrite: bool
§local: bool
§path: String
§file_format: Option<FileFormat>
§source: Box<Query>
§

Copy

Fields

§source: CopySource

The source of ‘COPY TO’, or the target of ‘COPY FROM’

§to: bool

If true, is a ‘COPY TO’ statement. If false is a ‘COPY FROM’

§target: CopyTarget

The target of ‘COPY TO’, or the source of ‘COPY FROM’

§options: Vec<CopyOption>

WITH options (from PostgreSQL version 9.0)

§legacy_options: Vec<CopyLegacyOption>

WITH options (before PostgreSQL version 9.0)

§values: Vec<Option<String>>

VALUES a vector of values to be copied

§

CopyIntoSnowflake

Fields

§from_stage: ObjectName
§from_stage_alias: Option<Ident>
§stage_params: StageParamsObject
§from_transformations: Option<Vec<StageLoadSelectItem>>
§pattern: Option<String>
§copy_options: DataLoadingOptions
§validation_mode: Option<String>
COPY INTO

See https://docs.snowflake.com/en/sql-reference/sql/copy-into-table Copy Into syntax available for Snowflake is different than the one implemented in Postgres. Although they share common prefix, it is reasonable to implement them in different enums. This can be refactored later once custom dialects are allowed to have custom Statements.

§

Close

Fields

§cursor: CloseCursor

Cursor name

Close - closes the portal underlying an open cursor.

§

Update

Fields

§table: TableWithJoins

TABLE

§assignments: Vec<Assignment>

Column assignments

§from: Option<TableWithJoins>

Table which provide value to be set

§selection: Option<Expr>

WHERE

§returning: Option<Vec<SelectItem>>

RETURNING

UPDATE

§

Delete

Fields

§tables: Vec<ObjectName>

Multi tables delete are supported in mysql

§from: Vec<TableWithJoins>

FROM

§using: Option<Vec<TableWithJoins>>

USING (Snowflake, Postgres, MySQL)

§selection: Option<Expr>

WHERE

§returning: Option<Vec<SelectItem>>

RETURNING

§order_by: Vec<OrderByExpr>

ORDER BY (MySQL)

§limit: Option<Expr>

LIMIT (MySQL)

DELETE

§

CreateView

Fields

§or_replace: bool
§materialized: bool
§name: ObjectName

View name

§columns: Vec<Ident>
§query: Box<Query>
§with_options: Vec<SqlOption>
§cluster_by: Vec<Ident>
§with_no_schema_binding: bool

if true, has RedShift [WITH NO SCHEMA BINDING] clause https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_VIEW.html

§if_not_exists: bool

if true, has SQLite IF NOT EXISTS clause https://www.sqlite.org/lang_createview.html

§temporary: bool

if true, has SQLite TEMP or TEMPORARY clause https://www.sqlite.org/lang_createview.html

CREATE VIEW

§

CreateTable

Fields

§or_replace: bool
§temporary: bool
§external: bool
§global: Option<bool>
§if_not_exists: bool
§transient: bool
§name: ObjectName

Table name

§columns: Vec<ColumnDef>

Optional schema

§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
§engine: Option<String>
§comment: Option<String>
§auto_increment_offset: Option<u32>
§default_charset: Option<String>
§collation: Option<String>
§on_commit: Option<OnCommit>
§on_cluster: Option<String>
§order_by: Option<Vec<Ident>>

ClickHouse “ORDER BY “ clause. Note that omitted ORDER BY is different than empty (represented as ()), the latter meaning “no sorting”. https://clickhouse.com/docs/en/sql-reference/statements/create/table/

§strict: bool

SQLite “STRICT” clause. if the “STRICT” table-option keyword is added to the end, after the closing “)”, then strict typing rules apply to that table.

CREATE TABLE

§

CreateVirtualTable

Fields

§if_not_exists: bool
§module_name: Ident
§module_args: Vec<Ident>

SQLite’s CREATE VIRTUAL TABLE .. USING <module_name> (<module_args>)

§

CreateIndex

Fields

§name: Option<ObjectName>

index name

§table_name: ObjectName
§using: Option<Ident>
§columns: Vec<OrderByExpr>
§unique: bool
§concurrently: bool
§if_not_exists: bool
§include: Vec<Ident>
§nulls_distinct: Option<bool>
§predicate: Option<Expr>

CREATE INDEX

§

CreateRole

Fields

§if_not_exists: bool
§login: Option<bool>
§inherit: Option<bool>
§bypassrls: Option<bool>
§password: Option<Password>
§superuser: Option<bool>
§create_db: Option<bool>
§create_role: Option<bool>
§replication: Option<bool>
§connection_limit: Option<Expr>
§valid_until: Option<Expr>
§in_role: Vec<Ident>
§in_group: Vec<Ident>
§role: Vec<Ident>
§user: Vec<Ident>
§admin: Vec<Ident>
§authorization_owner: Option<ObjectName>

CREATE ROLE See postgres

§

AlterTable

Fields

§name: ObjectName

Table name

§if_exists: bool
§only: bool

ALTER TABLE

§

AlterIndex

Fields

§

AlterView

Fields

§name: ObjectName

View name

§columns: Vec<Ident>
§query: Box<Query>
§with_options: Vec<SqlOption>

ALTER VIEW

§

AlterRole

Fields

§name: Ident

ALTER ROLE

§

AttachDatabase

Fields

§schema_name: Ident

The name to bind to the newly attached database

§database_file_name: Expr

An expression that indicates the path to the database file

§database: bool

true if the syntax is ‘ATTACH DATABASE’, false if it’s just ‘ATTACH’

ATTACH DATABASE ‘path/to/file’ AS alias (SQLite-specific)

§

Drop

Fields

§object_type: ObjectType

The type of the object to drop: TABLE, VIEW, etc.

§if_exists: bool

An optional IF EXISTS clause. (Non-standard.)

§names: Vec<ObjectName>

One or more objects to drop. (ANSI SQL requires exactly one.)

§cascade: bool

Whether CASCADE was specified. This will be false when RESTRICT or no drop behavior at all was specified.

§restrict: bool

Whether RESTRICT was specified. This will be false when CASCADE or no drop behavior at all was specified.

§purge: bool

Hive allows you specify whether the table’s stored data will be deleted along with the dropped table

§temporary: bool

MySQL-specific “TEMPORARY” keyword

DROP

§

DropFunction

Fields

§if_exists: bool
§func_desc: Vec<DropFunctionDesc>

One or more function to drop

§option: Option<ReferentialAction>

CASCADE or RESTRICT

DROP Function

§

Declare

Fields

§name: Ident

Cursor name

§binary: bool

Causes the cursor to return data in binary rather than in text format.

§sensitive: Option<bool>

None = Not specified Some(true) = INSENSITIVE Some(false) = ASENSITIVE

§scroll: Option<bool>

None = Not specified Some(true) = SCROLL Some(false) = NO SCROLL

§hold: Option<bool>

None = Not specified Some(true) = WITH HOLD, specifies that the cursor can continue to be used after the transaction that created it successfully commits Some(false) = WITHOUT HOLD, specifies that the cursor cannot be used outside of the transaction that created it

§query: Box<Query>

DECLARE - Declaring Cursor Variables

Note: this is a PostgreSQL-specific statement, but may also compatible with other SQL.

§

Fetch

Fields

§name: Ident

Cursor name

§direction: FetchDirection
§into: Option<ObjectName>

Optional, It’s possible to fetch rows form cursor to the table

FETCH - retrieve rows from a query using a cursor

Note: this is a PostgreSQL-specific statement, but may also compatible with other SQL.

§

Discard

Fields

§object_type: DiscardObject

DISCARD [ ALL | PLANS | SEQUENCES | TEMPORARY | TEMP ]

Note: this is a PostgreSQL-specific statement, but may also compatible with other SQL.

§

SetRole

Fields

§context_modifier: ContextModifier

Non-ANSI optional identifier to inform if the role is defined inside the current session (SESSION) or transaction (LOCAL).

§role_name: Option<Ident>

Role name. If NONE is specified, then the current role name is removed.

SET [ SESSION | LOCAL ] ROLE role_name. Examples: ANSI, Postgresql, MySQL, and Oracle.

§

SetVariable

Fields

§local: bool
§hivevar: bool
§variable: ObjectName
§value: Vec<Expr>
SET <variable>

Note: this is not a standard SQL statement, but it is supported by at least MySQL and PostgreSQL. Not all MySQL-specific syntatic forms are supported yet.

§

SetTimeZone

Fields

§local: bool
§value: Expr
SET TIME ZONE <value>

Note: this is a PostgreSQL-specific statements SET TIME ZONE <value> is an alias for SET timezone TO <value> in PostgreSQL

§

SetNames

Fields

§charset_name: String
§collation_name: Option<String>

SET NAMES ‘charset_name’ [COLLATE ‘collation_name’]

Note: this is a MySQL-specific statement.

§

SetNamesDefault

Fields

SET NAMES DEFAULT

Note: this is a MySQL-specific statement.

§

ShowFunctions

SHOW FUNCTIONS

Note: this is a Presto-specific statement.

§

ShowVariable

Fields

§variable: Vec<Ident>
SHOW <variable>

Note: this is a PostgreSQL-specific statement.

§

ShowVariables

SHOW VARIABLES

Note: this is a MySQL-specific statement.

§

ShowCreate

Fields

§obj_name: ObjectName

SHOW CREATE TABLE

Note: this is a MySQL-specific statement.

§

ShowColumns

Fields

§extended: bool
§full: bool
§table_name: ObjectName

SHOW COLUMNS

Note: this is a MySQL-specific statement.

§

ShowTables

Fields

§extended: bool
§full: bool
§db_name: Option<Ident>

SHOW TABLES

Note: this is a MySQL-specific statement.

§

ShowCollation

SHOW COLLATION

Note: this is a MySQL-specific statement.

§

Use

Fields

§db_name: Ident

USE

Note: This is a MySQL-specific statement.

§

StartTransaction

Fields

§begin: bool

START [ TRANSACTION | WORK ] | START TRANSACTION } ... If begin is false.

BEGIN [ TRANSACTION | WORK ] | START TRANSACTION } ... If begin is true

§

SetTransaction

Fields

§snapshot: Option<Value>
§session: bool

SET TRANSACTION ...

§

Comment

Fields

§object_type: CommentObject
§object_name: ObjectName
§comment: Option<String>
§if_exists: bool

An optional IF EXISTS clause. (Non-standard.) See https://docs.snowflake.com/en/sql-reference/sql/comment

COMMENT ON ...

Note: this is a PostgreSQL-specific statement.

§

Commit

Fields

§chain: bool

COMMIT [ TRANSACTION | WORK ] [ AND [ NO ] CHAIN ]

§

Rollback

Fields

§chain: bool

ROLLBACK [ TRANSACTION | WORK ] [ AND [ NO ] CHAIN ]

§

CreateSchema

Fields

§schema_name: SchemaName

<schema name> | AUTHORIZATION <schema authorization identifier> | <schema name> AUTHORIZATION <schema authorization identifier>

§if_not_exists: bool

CREATE SCHEMA

§

CreateDatabase

Fields

§db_name: ObjectName
§if_not_exists: bool
§location: Option<String>
§managed_location: Option<String>

CREATE DATABASE

§

CreateFunction

Fields

§or_replace: bool
§temporary: bool
§return_type: Option<DataType>
§params: CreateFunctionBody

Optional parameters.

CREATE FUNCTION

Supported variants:

  1. Hive
  2. Postgres
§

CreateProcedure

Fields

§or_alter: bool
CREATE PROCEDURE
§

CreateMacro

Fields

§or_replace: bool
§temporary: bool
§definition: MacroDefinition
CREATE MACRO

Supported variants:

  1. DuckDB
§

CreateStage

Fields

§or_replace: bool
§temporary: bool
§if_not_exists: bool
§stage_params: StageParamsObject
§directory_table_params: DataLoadingOptions
§copy_options: DataLoadingOptions
§comment: Option<String>
§

Assert

Fields

§condition: Expr
§message: Option<Expr>

ASSERT <condition> [AS <message>]

§

Grant

Fields

§privileges: Privileges
§grantees: Vec<Ident>
§with_grant_option: bool
§granted_by: Option<Ident>

GRANT privileges ON objects TO grantees

§

Revoke

Fields

§privileges: Privileges
§grantees: Vec<Ident>
§granted_by: Option<Ident>
§cascade: bool

REVOKE privileges ON objects FROM grantees

§

Deallocate

Fields

§name: Ident
§prepare: bool

DEALLOCATE [ PREPARE ] { name | ALL }

Note: this is a PostgreSQL-specific statement.

§

Execute

Fields

§name: Ident
§parameters: Vec<Expr>

EXECUTE name [ ( parameter [, ...] ) ]

Note: this is a PostgreSQL-specific statement.

§

Prepare

Fields

§name: Ident
§data_types: Vec<DataType>
§statement: Box<Statement>

PREPARE name [ ( data_type [, ...] ) ] AS statement

Note: this is a PostgreSQL-specific statement.

§

Kill

Fields

§modifier: Option<KillType>
§id: u64
§

ExplainTable

Fields

§describe_alias: bool

If true, query used the MySQL DESCRIBE alias for explain

§table_name: ObjectName

Table name

EXPLAIN TABLE Note: this is a MySQL-specific statement. See https://dev.mysql.com/doc/refman/8.0/en/explain.html

§

Explain

Fields

§describe_alias: bool
§analyze: bool

Carry out the command and show actual run times and other statistics.

§verbose: bool
§statement: Box<Statement>

A SQL query that specifies what to explain

§format: Option<AnalyzeFormat>

Optional output format of explain

EXPLAIN / DESCRIBE for select_statement

§

Savepoint

Fields

§name: Ident

SAVEPOINT – define a new savepoint within the current transaction

§

Merge

Fields

§into: bool
§on: Box<Expr>
§clauses: Vec<MergeClause>
§

Cache

Fields

§table_flag: Option<ObjectName>

Table flag

§table_name: ObjectName

Table name

§has_as: bool
§options: Vec<SqlOption>

Table confs

§query: Option<Query>

Cache table as a Query

CACHE [ FLAG ] TABLE <table_name> [ OPTIONS('K1' = 'V1', 'K2' = V2) ] [ AS ] [ <query> ].

See Spark SQL docs for more details.

§

UNCache

Fields

§table_name: ObjectName

Table name

§if_exists: bool

UNCACHE TABLE [ IF EXISTS ] <table_name>

§

CreateSequence

Fields

§temporary: bool
§if_not_exists: bool
§data_type: Option<DataType>
§sequence_options: Vec<SequenceOptions>
§owned_by: Option<ObjectName>

CreateSequence – define a new sequence CREATE [ { TEMPORARY | TEMP } ] SEQUENCE [ IF NOT EXISTS ] <sequence_name>

§

CreateType

CREATE TYPE <name>

§

Pragma

Fields

§value: Option<Value>
§is_eq: bool

Trait Implementations§

source§

impl Clone for Statement

source§

fn clone(&self) -> Statement

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Statement

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Display for Statement

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Hash for Statement

source§

fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Statement

source§

fn cmp(&self, other: &Statement) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Statement

source§

fn eq(&self, other: &Statement) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Statement

source§

fn partial_cmp(&self, other: &Statement) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl TryFrom<Statement> for CreateTableBuilder

§

type Error = ParserError

The type returned in the event of a conversion error.
source§

fn try_from( stmt: Statement ) -> Result<CreateTableBuilder, <CreateTableBuilder as TryFrom<Statement>>::Error>

Performs the conversion.
source§

impl Visit for Statement

source§

fn visit<V>(&self, visitor: &mut V) -> ControlFlow<<V as Visitor>::Break>where V: Visitor,

source§

impl VisitMut for Statement

source§

fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where V: VisitorMut,

source§

impl Eq for Statement

source§

impl StructuralEq for Statement

source§

impl StructuralPartialEq for Statement

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Comparable<K> for Qwhere Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> Allocation for Twhere T: RefUnwindSafe + Send + Sync,