SQLiteDialect in sqlparser::dialect - Rust
Source§
Determine if a character starts a quoted identifier. The default
implementation, accepting “double quoted” ids is both ANSI-compliant
and appropriate for most dialects (with the notable exception of
MySQL, MS SQL, and sqlite). You can accept one of characters listed
in Word::matching_end_quote here
Source§
Returns true if the dialect supports BEGIN {DEFERRED | IMMEDIATE | EXCLUSIVE | TRY | CATCH} [TRANSACTION] statements
Source§
Returns true if the dialect supports ASC and DESC in column definitions
e.g. CREATE TABLE t (a INT ASC, b INT DESC);
Source§
Determine if a character starts a potential nested quoted identifier. Example: RedShift supports the following quote styles to all mean the same thing: Read more
Source§
Only applicable whenever Self::is_nested_delimited_identifier_start returns true
If the next sequence of tokens potentially represent a nested identifier, then this method
returns a tuple containing the outer quote style, and if present, the inner (nested) quote style. Read more
Source§
Most dialects do not have custom operators. Override this method to provide custom operators.
Source§
Determine whether the dialect strips the backslash when escaping LIKE wildcards (%, _). Read more
Source§
Determine if the dialect supports string literals with U& prefix.
This is used to specify Unicode code points in string literals.
For example, in PostgreSQL, the following is a valid string literal: Read more
Source§
Returns true if the dialect supports referencing another named window within a window clause declaration. Read more
Source§
Returns true if the dialect supports ARRAY_AGG() [WITHIN GROUP (ORDER BY)] expressions.
Otherwise, the dialect should expect an ORDER BY without the WITHIN GROUP clause, e.g. ANSI
Source§
Returns true if the dialects supports GROUP BY modifiers prefixed by a WITH keyword.
Example: GROUP BY value WITH ROLLUP.
Source§
Indicates whether the dialect supports left-associative join parsing by default when parentheses are omitted in nested joins. Read more
Source§
Returns true if dialect supports argument name as arbitrary expression.
e.g. FUN(LOWER('a'):'1', b:'2')
Such function arguments are represented in the AST by the FunctionArg::ExprNamed variant,
otherwise use the FunctionArg::Named variant (compatible reason).
Source§
Returns true if the dialect supports identifiers starting with a numeric
prefix such as tables named 59901_user_login
Source§
Returns true if the dialects supports specifying null treatment as part of a window function’s parameter list as opposed to after the parameter list. Read more
Source§
Returns true if the dialect supports defining structs or objects using a
syntax like {'x': 1, 'y': 2, 'z': 3}.
Source§
Returns true if the dialect supports defining object using the
syntax like Map {1: 10, 2: 20}.
Source§
Returns true if the dialect supports multiple variable assignment
using parentheses in a SET variable declaration. Read more
Source§
Returns true if the dialect supports multiple SET statements
in a single statement. Read more
Source§
Returns true if the dialect supports an EXCEPT clause following a
wildcard in a select list. Read more
Source§
Returns true if the dialect has a CONVERT function which accepts a type first
and an expression second, e.g. CONVERT(varchar, 1)
Source§
Returns true if the dialect supports concatenating of string literal
Example: SELECT 'Hello ' "world" => SELECT 'Hello world'
Source§
Returns true if the dialect supports concatenating string literals with a newline.
For example, the following statement would return true: Read more
Source§
Returns true if the dialect supports trailing commas in the FROM clause of a SELECT statement.
Example: SELECT 1 FROM T, U, LIMIT 1
Source§
Returns true if the dialect supports trailing commas in the
column definitions list of a CREATE statement.
Example: CREATE TABLE T (x INT, y TEXT,)
Source§
Return true if the dialect supports wildcard expansion on arbitrary expressions in projections. Read more
Source§
Returns true if the dialect supports an exclude option
following a wildcard in the projection section. For example:
SELECT * EXCLUDE col1 FROM tbl. Read more
Source§
Returns true if the dialect supports an exclude option
as the last item in the projection section, not necessarily
after a wildcard. For example:
SELECT *, c1, c2 EXCLUDE c3 FROM tbl Read more
Source§
Returns true if the dialect supports specifying multiple options
in a CREATE TABLE statement for the structure of the new table. For example:
CREATE TABLE t (a INT, b INT) AS SELECT 1 AS b, 2 AS a
Source§
Returns true if the dialect supports MySQL-specific SELECT modifiers
like HIGH_PRIORITY, STRAIGHT_JOIN, SQL_SMALL_RESULT, etc. Read more
Returns true if this dialect allows the EXTRACT function to words other than Keyword.
Returns true if this dialect allows the EXTRACT function to use single quotes in the part being extracted.
Returns true if this dialect supports the EXTRACT function
with a comma separator instead of FROM. Read more
Source§
Returns true if this dialect supports a subquery passed to a function as the only argument without enclosing parentheses. Read more
Returns true if this dialect supports the COMMENT clause in
CREATE VIEW statements using the COMMENT = 'comment' syntax. Read more
Source§
Returns true if this dialect supports the ARRAY type without
specifying an element type. Read more
Source§
Returns true if this dialect supports extra parentheses around
lone table names or derived tables in the FROM clause. Read more
Source§
Returns true if this dialect supports VALUES as a table factor
without requiring parentheses around the entire clause. Read more
Source§
Does the dialect support with clause in create index statement?
e.g. CREATE INDEX idx ON t WITH (key = value, key2)
Source§
Whether INTERVAL expressions require units (called “qualifiers” in the ANSI SQL spec) to be specified,
e.g. INTERVAL 1 DAY vs INTERVAL 1. Read more
Source§
Returns true if the dialect supports EXPLAIN statements with utility options
e.g. EXPLAIN (ANALYZE TRUE, BUFFERS TRUE) SELECT * FROM tbl;
Returns true if the dialect supports nested comments
e.g. /* /* nested */ */
Returns true if the dialect supports optimizer hints in multiline comments
e.g. /*!50110 KEY_BLOCK_SIZE = 1024*/
Source§
Returns true if this dialect supports treating the equals operator = within a SelectItem
as an alias assignment operator, rather than a boolean expression.
For example: the following statements are equivalent for such a dialect: Read more
Source§
Returns true if this dialect expects the TOP option
before the ALL/DISTINCT options in a SELECT statement.
Source§
Returns true if the dialect supports boolean literals (true and false).
For example, in MSSQL these are treated as identifiers rather than boolean literals.
Source§
Returns true if this dialect supports the LIKE 'pattern' option in
a SHOW statement before the IN option
Returns true if this dialect supports the COMMENT statement
Source§
Returns true if the dialect supports the CONSTRAINT keyword without a name
in table constraint definitions. Read more
Source§
Returns true if the specified keyword is reserved and cannot be used as an identifier without special handling like quoting.
Source§
Returns reserved keywords that may prefix a select item expression
e.g. SELECT CONNECT_BY_ROOT name FROM Tbl2 (Snowflake)
Source§
Returns true if this dialect supports the TABLESAMPLE option
before the table alias option. For example: Read more
Source§
Returns true if this dialect supports the INSERT INTO ... SET col1 = 1, ... syntax. Read more
Source§
Returns true if this dialect supports SET statements without an explicit
assignment operator such as =. For example: SET SHOWPLAN_XML ON.
Source§
Returns true if the specified keyword should be parsed as a select item alias.
When explicit is true, the keyword is preceded by an AS word. Parser is provided
to enable looking ahead if needed.
Source§
Returns true if the specified keyword should be parsed as a table factor alias.
When explicit is true, the keyword is preceded by an AS word. Parser is provided
to enable looking ahead if needed.
Source§
Returns true if this dialect supports querying historical table data by specifying which version of the data to query.
Returns true if this dialect requires a whitespace character after -- to start a single line comment. Read more
Source§
Returns true if the dialect supports array type definition with brackets with
an optional size. For example:
CREATE TABLE my_table (arr1 INT[], arr2 INT[3])
SELECT x::INT[]
Source§
Returns true if the dialect supports ORDER BY ALL.
ALL which means all columns of the SELECT clause. Read more
Source§
Returns true if the dialect supports SET NAMES <charset_name> [COLLATE <collation_name>]. Read more
Source§
Returns true if the dialect supports space-separated column options
in a CREATE TABLE statement. For example: Read more
Source§
Returns true if the dialect supports the USING clause in an ALTER COLUMN statement.
Example: Read more
Source§
Returns true if the dialect considers the specified ident as a function that returns an identifier. Typically used to generate identifiers programmatically. Read more
Source§
Returns true if this dialect allows an optional SIGNED suffix after integer data types. Read more
Source§
Returns true if the dialect supports the INTERVAL data type with Postgres-style options. Read more
Source§
Returns true if the dialect supports specifying which table to copy the schema from inside parenthesis. Read more
Returns true if the dialect supports query optimizer hints in the
format of single and multi line comments immediately following a
SELECT, INSERT, REPLACE, DELETE, or MERGE keyword. Read more
Source§
Returns true if the dialect supports casting an expression to a binary type
using the BINARY <expr> syntax.
Source§
Returns true if this dialect supports the REPLACE option in a
SELECT * wildcard expression. Read more
Source§
Returns true if this dialect supports the ILIKE option in a
SELECT * wildcard expression. Read more
Source§
Returns true if this dialect supports the RENAME option in a
SELECT * wildcard expression. Read more
Source§
Returns true if this dialect supports the WITH FILL clause
in ORDER BY expressions. Read more