HiveDialect in sqlparser::dialect - Rust

Source§
Source§
Source§
Source§
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§

Determine if a character is a valid start character for an unquoted identifier

Source§

Determine if a character is a valid unquoted identifier character

Source§

Does the dialect support FILTER (WHERE expr) for aggregate queries?

Source§

Returns true if the dialect supports identifiers starting with a numeric prefix such as tables named 59901_user_login

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§
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§

Return the character used to quote identifiers.

Source§

Most dialects do not have custom operators. Override this method to provide custom operators.

Source§

Determine if the dialect supports escaping characters via ’' in string literals. Read more

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 sets, roll up, or cube expressions.

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 the dialect supports the (+) syntax for OUTER JOIN.

Source§

Returns true if the dialect supports a join specification on CROSS JOIN.

Source§

Returns true if the dialect supports CONNECT BY.

Source§

Returns true if the dialect supports EXECUTE IMMEDIATE statements.

Source§

Returns true if the dialect supports the MATCH_RECOGNIZE operation.

Source§

Returns true if the dialect supports (NOT) IN () expressions

Source§

Returns true if the dialect supports BEGIN {DEFERRED | IMMEDIATE | EXCLUSIVE | TRY | CATCH} [TRANSACTION] statements

Source§

Returns true if the dialect supports END {TRY | CATCH} statements

Source§

Returns true if the dialect supports named arguments of the form FUN(a = '1', b = '2').

Source§

Returns true if the dialect supports named arguments of the form FUN(a : '1', b : '2').

Source§

Returns true if the dialect supports named arguments of the form FUN(a := '1', b := '2').

Source§

Returns true if the dialect supports named arguments of the form FUN(a => '1', b => '2').

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 numbers containing underscores, e.g. 10_000_000

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 lambda functions, for example: Read more

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 triple quoted string e.g. """abc"""

Source§

Dialect-specific prefix parser override

Source§

Does the dialect support trailing commas around the query?

Source§

Does the dialect support parsing LIMIT 1, 2 as LIMIT 2 OFFSET 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§

Does the dialect support trailing commas in the projection list?

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§

Returns true if the dialect supports double dot notation for object names Read more

Source§

Return true if the dialect supports the STRUCT literal Read more

Source§

Return true if the dialect supports empty projections in SELECT statements Read more

Source§

Return true if the dialect supports wildcard expansion on arbitrary expressions in projections. Read more

Source§

Return true if the dialect supports “FROM-first” selects. Read more

Source§

Return true if the dialect supports pipe operator. Read more

Source§

Does the dialect support MySQL-style 'user'@'host' grantee syntax?

Source§

Does the dialect support the MATCH() AGAINST() syntax?

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

Source§

Dialect-specific infix parser override Read more

Source§

Dialect-specific precedence override Read more

Source§

Get the precedence of the next token, looking at the full token stream. Read more

Source§

Dialect-specific statement parser override Read more

Source§

Dialect-specific column option parser override Read more

Source§

Decide the lexical Precedence of operators. Read more

Source§

Returns the precedence when the precedence is otherwise unknown

Source§

Returns true if this dialect requires the TABLE keyword after DESCRIBE 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§

Returns true if this dialect allows dollar placeholders e.g. SELECT $var (SQLite)

Source§

Does the dialect support with clause in create index statement? e.g. CREATE INDEX idx ON t WITH (key = value, key2)

Source§

Returns true if the dialect supports EXPLAIN statements with utility options e.g. EXPLAIN (ANALYZE TRUE, BUFFERS TRUE) SELECT * FROM tbl;

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§

Returns true if the dialect supports a! expressions

Source§

Returns true if the dialect supports << and >> shift operators.

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 supports the TRY_CONVERT function

Source§

Returns true if the dialect supports the LISTEN, UNLISTEN and NOTIFY statements

Source§

Returns true if the dialect supports the LOAD extension statement

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 CREATE TABLE SELECT statement

Source§
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 grantee types that should be treated as identifiers

Source§

Returns true if this dialect supports the INSERT INTO ... SET col1 = 1, ... syntax. Read more

Source§

Does the dialect support table function in insertion?

Source§

Does the dialect support insert formats, e.g. INSERT INTO ... FORMAT <format>

Source§

Returns true if this dialect supports SET statements without an explicit assignment operator such as =. For example: SET SHOWPLAN_XML ON.

Source§
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§
Source§
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.

Source§

Returns true if this dialect supports the E’…’ syntax for string literals Read more

Source§

Returns true if the dialect supports the table hints in the FROM clause.

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 geometric types. Read more

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 supports ALTER TABLE tbl DROP COLUMN c1, ..., cn

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 the dialect supports the x NOTNULL operator expression.

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

Source§

Returns true if the dialect supports SEMANTIC_VIEW() table functions. Read more

Source§

Support quote delimited string literals, e.g. Q'{...}' 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 considers the && operator as a boolean AND operator.

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 OPTIMIZE TABLE statement. Read more

Source§

Returns true if this dialect supports the INSTALL statement. Read more

Source§

Returns true if this dialect supports the DETACH statement. Read more

Source§

Returns true if this dialect supports the PREWHERE clause in SELECT statements. Read more

Source§

Returns true if this dialect supports the WITH FILL clause in ORDER BY expressions. Read more

Source§

Returns true if this dialect supports the LIMIT BY clause. Read more

Source§

Returns true if this dialect supports the INTERPOLATE clause in ORDER BY expressions. Read more

Source§

Returns true if this dialect supports the SETTINGS clause. Read more

Source§

Returns true if this dialect supports the FORMAT clause in SELECT statements. Read more