ExtendedTableRef |
::= |
UnusedExtension |
TableOverOpt |
::= |
|
SqlSelectKeywords |
::= |
E |
SqlInsertKeywords |
::= |
E |
NonReservedKeyWord |
::= |
( CommonNonReservedKeyWord | DdlNonReservedKeyWord ) |
ExtensionModelDefinition |
::= |
UnusedExtension |
ExtensionModelSchemaObjDefinition |
::= |
UnusedExtension |
ExtensionModelDrop |
::= |
UnusedExtension |
ExtensionModelAlter |
::= |
UnusedExtension |
ExtendedBuiltinFunctionCall |
::= |
UnusedExtension |
FloorCeilOptions |
::= |
StandardFloorCeilOptions |
getEndPos |
::= |
java code |
CompoundIdentifier2 |
::= |
Identifier ( <DOT> Identifier )? |
CompoundIdentifier3 |
::= |
Identifier ( <DOT> Identifier ( <DOT> Identifier )? )? |
QuotedString |
::= |
<QUOTED_STRING> |
FarragoSqlStmtEof |
::= |
( DdlStmtEof | ( SqlStmtEof | PsmBody ) ) <EOF> |
DdlStmtEof |
::= |
( ( <CREATE> ( ( <OR> <REPLACE> ) ( ( <RENAME> <TO> SimpleIdentifier ) )? )? ( SchemaDefinition | DataWrapperDefinition | SchemaObjectDefinition | IndexDefinition | DataServerDefinition | UserDefinition | RoleDefinition | ExtensionModelDefinition | LabelDefinition | CatalogDefinition ) ) | ( <DROP> ( ( SchemaDrop | CatalogDrop | TableDrop | IndexDrop | ViewDrop | RoutineDrop | UserDefinedTypeDrop | UserDefinedOrderingDrop | JarDrop | DataServerDrop | DataWrapperDrop | ForeignTableDrop | UserDrop | RoleDrop | ExtensionModelDrop ) | LabelDrop ) ) | ( <TRUNCATE> ( <TABLE> TableIdentifier ) ) | ( <SET> ( <CATALOG> Expression | <SCHEMA> Expression | <PATH> Expression ) ) | <ALTER> ( <SYSTEM> ( <SET> SystemParamAssignment | <ADD> CatalogExtension | <REPLACE> CatalogReplace | <DEALLOCATE> DeallocateOld ) | <SESSION> ( <IMPLEMENTATION> SessionImplementation | <SET> SessionParamAssignment ) | <TABLE> | ) | <GRANT> ( GrantRoleStmt | GrantPrivStmt ) | <CHECKPOINT> | <COMMIT> | <ROLLBACK> Rollback | <SAVEPOINT> Savepoint | <RELEASE> <SAVEPOINT> ReleaseSavepoint | <IMPORT> ImportForeignSchemaStmt | <ANALYZE> AnalyzeStmt ) <EOF> |
SchemaDefinition |
::= |
<SCHEMA> CompoundIdentifier2 ( <AUTHORIZATION> SimpleIdentifier )? ( SchemaPath )? OptionalDescription ( <CREATE> SchemaObjectDefinition )* |
SchemaObjectDefinition |
::= |
( TableDefinition | ViewDefinition | ForeignTableDefinition | FunctionDefinition | ProcedureDefinition | ConstructorDefinition | JarDefinition | UserDefinedTypeDefinition | UserDefinedOrderingDefinition | ExtensionModelSchemaObjDefinition ) |
SchemaPath |
::= |
SearchPath |
SearchPath |
::= |
<PATH> SearchPathElement ( <COMMA> SearchPathElement )* |
SearchPathElement |
::= |
CompoundIdentifier2 |
TableDefinition |
::= |
( UnscopedTableDefinition | ScopedTableDefinition ) ( DataServerReference )? OptionalStorageOptions ( <CREATE> IndexDefinition )* |
UnscopedTableDefinition |
::= |
<TABLE> CompoundIdentifier3 <LPAREN> TableElementList <RPAREN> OptionalSampleList OptionalDescription |
ScopedTableDefinition |
::= |
<GLOBAL> <TEMPORARY> UnscopedTableDefinition ( <ON> <COMMIT> ( <PRESERVE> | <DELETE> ) <ROWS> )? |
ViewDefinition |
::= |
<VIEW> CompoundIdentifier3 ( <LPAREN> SimpleIdentifierCommaList <RPAREN> )? OptionalDescription <AS> OrderedQueryOrExpr |
IndexDefinition |
::= |
( <CLUSTERED> )? <INDEX> SimpleIdentifier <ON> TableIdentifier <LPAREN> SimpleIdentifierCommaList <RPAREN> |
UserDefinition |
::= |
<USER> SimpleIdentifier <AUTHORIZATION> Expression ( <DEFAULT_KW> ( CatalogReference | SchemaReference ) )? |
RoleDefinition |
::= |
<ROLE> SimpleIdentifier ( <WITH> <ADMIN> SimpleIdentifier )? |
LabelDefinition |
::= |
<LABEL> SimpleIdentifier ( <FROM> <LABEL> SimpleIdentifier )? OptionalDescription |
CatalogDefinition |
::= |
<CATALOG> SimpleIdentifier OptionalDescription |
TableIdentifier |
::= |
CompoundIdentifier3 |
ColumnIdentifier |
::= |
SimpleIdentifier |
ColumnSetIdentifier |
::= |
CompoundIdentifier3 |
ViewReference |
::= |
<VIEW> CompoundIdentifier3 |
RoutineReference |
::= |
( <SPECIFIC> )? RoutineReferenceImpl |
SpecificRoutineReference |
::= |
<SPECIFIC> RoutineReferenceImpl |
RoutineReferenceImpl |
::= |
( <ROUTINE> | <FUNCTION> | <PROCEDURE> ) CompoundIdentifier3 |
TableElementList |
::= |
TableElement ( <COMMA> TableElement )* |
TableElement |
::= |
( ColumnDefinition | TableConstraint ) |
BasicColumnDefinition |
::= |
SimpleIdentifier TypedElement |
TypedElement |
::= |
DataType |
ColumnDefinition |
::= |
BasicColumnDefinition ( DefaultClause | SequenceOptions )? ( ColumnConstraint )* ( CollateClause )? OptionalStorageOptions |
DefaultClause |
::= |
<DEFAULT_KW> ( Literal ) |
SequenceOptions |
::= |
<GENERATED> ( <ALWAYS> | <BY> <DEFAULT_KW> ) <AS> <IDENTITY> ( <LPAREN> ( CommonSequenceOption )* <RPAREN> )? |
CommonSequenceOption |
::= |
<START> <WITH> NumericLiteral |
|
| |
BasicSequenceOption |
BasicSequenceOption |
::= |
<INCREMENT> <BY> NumericLiteral |
|
| |
<MINVALUE> NumericLiteral |
|
| |
<NO> <MINVALUE> |
|
| |
<MAXVALUE> NumericLiteral |
|
| |
<NO> <MAXVALUE> |
|
| |
<CYCLE> |
|
| |
<NO> <CYCLE> |
TableConstraint |
::= |
( <CONSTRAINT> Identifier )? TableUniqueConstraint |
TableUniqueConstraint |
::= |
UniqueConstraint <LPAREN> SimpleIdentifierCommaList <RPAREN> |
UniqueConstraint |
::= |
( <UNIQUE> | <PRIMARY> <KEY> ) |
ColumnConstraint |
::= |
( <CONSTRAINT> Identifier )? ( <NOT> <NULL> | UniqueConstraint ) |
SchemaDrop |
::= |
SchemaReference CascadeOption |
CatalogDrop |
::= |
CatalogReference CascadeOption |
CatalogReference |
::= |
<CATALOG> SimpleIdentifier |
SchemaReference |
::= |
<SCHEMA> CompoundIdentifier2 |
TableDrop |
::= |
<TABLE> TableIdentifier CascadeOption |
ViewDrop |
::= |
ViewReference CascadeOption |
RoutineDrop |
::= |
RoutineReference CascadeOption |
UserDefinedTypeDrop |
::= |
<TYPE> CompoundIdentifier3 CascadeOption |
UserDefinedOrderingDrop |
::= |
<ORDERING> <FOR> CompoundIdentifier3 CascadeOption |
JarDrop |
::= |
<JAR> CompoundIdentifier3 <OPTIONS> <LPAREN> NumericLiteral <RPAREN> CascadeOption |
IndexDrop |
::= |
<INDEX> CompoundIdentifier3 |
CascadeOption |
::= |
( ( <RESTRICT> | <CASCADE> ) )? |
SystemParamAssignment |
::= |
SimpleIdentifier <EQ> SystemParamValue |
SessionParamAssignment |
::= |
SimpleIdentifier <EQ> SystemParamValue |
CatalogExtension |
::= |
<CATALOG> <JAR> CompoundIdentifier3 |
CatalogReplace |
::= |
<CATALOG> |
DeallocateOld |
::= |
<OLD> |
SessionImplementation |
::= |
<SET> ( <JAR> CompoundIdentifier3 | <DEFAULT_KW> ) |
|
| |
<ADD> <JAR> CompoundIdentifier3 |
AlterTableStmt |
::= |
TableIdentifier ( <ADD> ( <COLUMN> )? AddColumnStmt | <ALTER> <COLUMN> AlterColumnStmt | <REBUILD> ) |
AddColumnStmt |
::= |
ColumnDefinition |
AlterColumnStmt |
::= |
ColumnIdentifier AlterIdentityColumnStmt |
AlterIdentityColumnStmt |
::= |
( <RESTART> <WITH> NumericLiteral | <SET> BasicSequenceOption )+ |
SystemParamValue |
::= |
( StrictLiteral | <MAX> | <MIN> ) |
Rollback |
::= |
( <TO> <SAVEPOINT> SimpleIdentifier )? |
Savepoint |
::= |
SimpleIdentifier |
ReleaseSavepoint |
::= |
SimpleIdentifier |
DataWrapperDefinition |
::= |
ForeignOpt <DATA> <WRAPPER> SimpleIdentifier <LIBRARY> QuotedString <LANGUAGE> <JAVA> OptionalStorageOptions OptionalDescription |
ForeignOpt |
::= |
<LOCAL> |
|
| |
<FOREIGN> |
DataWrapperReference |
::= |
ForeignOpt <DATA> <WRAPPER> SimpleIdentifier |
DataServerDefinition |
::= |
<SERVER> SimpleIdentifier ( <TYPE> QuotedString )? ( <VERSION> QuotedString )? DataWrapperReference OptionalStorageOptions OptionalDescription |
FunctionDefinition |
::= |
<FUNCTION> CompoundIdentifier3 <LPAREN> ( RoutineParamList )? <RPAREN> ReturnsClause RoutineCharacteristics ( <STATIC> <DISPATCH> )? ( SqlFunctionBody | ExternalRoutineBody ) |
ConstructorDefinition |
::= |
<SPECIFIC> <METHOD> CompoundIdentifier3 <FOR> CompoundIdentifier3 RightsClause PsmBody |
PsmBody |
::= |
<BEGIN> ( ConstructorAssignment )* <RETURN> <SELF> <SEMICOLON> <END> |
ConstructorAssignment |
::= |
<SET> <SELF> <DOT> SimpleIdentifier <EQ> Expression <SEMICOLON> |
ReturnsClause |
::= |
<RETURNS> ( <TABLE> <LPAREN> TableFunctionColumnListElement ( <COMMA> TableFunctionColumnListElement )* <RPAREN> | TypedElement ) |
TableFunctionColumnListElement |
::= |
BasicColumnDefinition |
|
| |
SimpleIdentifier <DOT> <STAR> |
ProcedureDefinition |
::= |
<PROCEDURE> CompoundIdentifier3 <LPAREN> ( RoutineParamList )? <RPAREN> RoutineCharacteristics ( ExternalRoutineBody ) |
SqlFunctionBody |
::= |
RightsClause <RETURN> Expression |
RightsClause |
::= |
( <SQL> <SECURITY> ( <INVOKER> | <DEFINER> ) )? |
ExternalRoutineBody |
::= |
<EXTERNAL> <NAME> ( Identifier | QuotedString ) ( RoutineParameterStyle )? ( <EXTERNAL> <SECURITY> ( <DEFINER> | <INVOKER> | <IMPLEMENTATION> <DEFINED> ) )? |
RoutineParameterStyle |
::= |
<PARAMETER> <STYLE> ( <SQL> | <GENERAL> | <JAVA> | <SYSTEM> <DEFINED> <JAVA> ) |
RoutineCharacteristics |
::= |
( ( <LANGUAGE> ( <JAVA> | <SQL> ) ) | RoutineParameterStyle | ( <SPECIFIC> CompoundIdentifier2 ) | <DETERMINISTIC> | <DYNAMIC_FUNCTION> | <NOT> ( <DETERMINISTIC> | <DYNAMIC_FUNCTION> ) | <NO> <SQL> | <CONTAINS> <SQL> | <READS> <SQL> <DATA> | <MODIFIES> <SQL> <DATA> | <RETURNS> <NULL> <ON> <NULL> <INPUT> | <CALLED> <ON> <NULL> <INPUT> )* |
RoutineParamList |
::= |
RoutineParam ( <COMMA> RoutineParam )* |
RoutineParam |
::= |
( ( <IN> | <OUT> | <INOUT> ) )? SimpleIdentifier ( NonColumnListRoutineParam | <SELECT> <FROM> SimpleIdentifier ) |
NonColumnListRoutineParam |
::= |
( TypedElement | <CURSOR> ) |
JarDefinition |
::= |
<JAR> CompoundIdentifier3 <LIBRARY> QuotedString <OPTIONS> <LPAREN> NumericLiteral <RPAREN> |
UserDefinedTypeDefinition |
::= |
<TYPE> CompoundIdentifier3 <AS> ( ObjectTypeDefinition | DistinctTypeDefinition ) UserDefinedTypeOptions OptionalDescription MethodSpecificationList |
UserDefinedOrderingDefinition |
::= |
<ORDERING> <FOR> CompoundIdentifier3 ( <EQUALS> <ONLY> <BY> OrderingCategory | <ORDER> <FULL> <BY> OrderingCategory ) |
OrderingCategory |
::= |
( <RELATIVE> <WITH> SpecificRoutineReference | <MAP> <WITH> SpecificRoutineReference | <STATE> ( CompoundIdentifier3 )? ) |
MethodSpecificationList |
::= |
( MethodSpecification ( <COMMA> MethodSpecification )* )? |
MethodSpecification |
::= |
<CONSTRUCTOR> <METHOD> SimpleIdentifier <LPAREN> ( RoutineParamList )? <RPAREN> ReturnsClause <SELF> <AS> <RESULT> RoutineCharacteristics |
UserDefinedTypeOptions |
::= |
( <FINAL> | <INSTANTIABLE> | <NOT> ( <FINAL> | <INSTANTIABLE> ) )* |
ObjectTypeDefinition |
::= |
<LPAREN> AttributeDefinition ( <COMMA> AttributeDefinition )* <RPAREN> |
DistinctTypeDefinition |
::= |
DataType |
AttributeDefinition |
::= |
SimpleIdentifier DataType ( DefaultClause )? ( CollateClause )? |
DataServerReference |
::= |
<SERVER> SimpleIdentifier |
ForeignTableDefinition |
::= |
<FOREIGN> <TABLE> CompoundIdentifier3 ( <LPAREN> ForeignTableElementList <RPAREN> )? DataServerReference OptionalStorageOptions OptionalDescription |
ForeignTableReference |
::= |
<FOREIGN> <TABLE> CompoundIdentifier3 |
ForeignTableElementList |
::= |
ColumnDefinition ( <COMMA> ColumnDefinition )* |
OptionalDescription |
::= |
( <DESCRIPTION> StringLiteral )? |
OptionalSampleList |
::= |
( <SAMPLE> <LPAREN> Sample ( <COMMA> Sample )* <RPAREN> )? |
Sample |
::= |
CompoundIdentifier ( Baseline | ) <AS> Identifier |
Baseline |
::= |
<BASELINE> <TIMESTAMP> <QUOTED_STRING> |
|
| |
|
OptionalStorageOptions |
::= |
( <OPTIONS> <LPAREN> StorageOption ( <COMMA> StorageOption )* <RPAREN> )? |
StorageOption |
::= |
SimpleIdentifier QuotedString |
ImportForeignSchemaStmt |
::= |
<FOREIGN> <SCHEMA> SimpleIdentifier ( ( <LIMIT> <TO> | <EXCEPT> ) ( <LPAREN> SimpleIdentifierCommaList <RPAREN> | <TABLE_NAME> <LIKE> QuotedString ) )? <FROM> DataServerReference <INTO> CompoundIdentifier2 |
DataWrapperDrop |
::= |
DataWrapperReference CascadeOption |
DataServerDrop |
::= |
DataServerReference CascadeOption |
ForeignTableDrop |
::= |
ForeignTableReference CascadeOption |
UserDrop |
::= |
<USER> SimpleIdentifier |
RoleDrop |
::= |
<ROLE> SimpleIdentifier |
LabelDrop |
::= |
<LABEL> SimpleIdentifier CascadeOption |
PrivilegedAction |
::= |
( <INSERT> | <UPDATE> | <SELECT> | <DELETE> | <EXECUTE> | <USAGE> ) |
PrivilegedActionList |
::= |
PrivilegedAction ( <COMMA> PrivilegedAction )* |
GrantOptions |
::= |
( <WITH> <GRANT> <OPTION> )? ( <GRANTED> <BY> ( <CURRENT_ROLE> | <CURRENT_USER> ) )? |
GrantPrivStmt |
::= |
( <ALL> getPos <PRIVILEGES> getPos | PrivilegedActionList ) <ON> ( ( <TABLE> )? ColumnSetIdentifier | SpecificRoutineReference ) <TO> SimpleIdentifierCommaList ( <WITH> <HIERARCHY> <OPTION> )? GrantOptions |
GrantRoleStmt |
::= |
<ROLE> SimpleIdentifierCommaList <TO> SimpleIdentifierCommaList GrantOptions |
AnalyzeStmt |
::= |
<TABLE> TableIdentifier ( <COMPUTE> | <ESTIMATE> ) <STATISTICS> <FOR> ( ( <ALL> <COLUMNS> ) | ( <COLUMNS> <LPAREN> SimpleIdentifierCommaList <RPAREN> ) ) ( <SAMPLE> UnsignedNumericLiteral <PERCENT> )? |
DdlNonReservedKeyWord |
::= |
( <BASELINE> | <COLUMNS> | <COMPUTE> | <ESTIMATE> | <INDEX> | <JAR> | <PERCENT> | <REBUILD> | <RENAME> | <REPLACE> | <SAMPLE> | <STATISTICS> ) |
E |
::= |
java code |
startList |
::= |
java code |
getPos |
::= |
java code |
checkQueryExpression |
::= |
java code |
checkNonQueryExpression |
::= |
java code |
parseDateLiteral |
::= |
java code |
parseTimeLiteral |
::= |
java code |
parseTimestampLiteral |
::= |
java code |
parseIntervalLiteral |
::= |
java code |
convertException |
::= |
java code |
cleanupParseException |
::= |
java code |
matchesPrefix |
::= |
java code |
OrderedQueryOrExpr |
::= |
( QueryOrExpr ) ( OrderBy )? |
LeafQuery |
::= |
SqlSelect |
|
| |
TableConstructor |
|
| |
ExplicitTable |
ParenthesizedExpression |
::= |
<LPAREN> OrderedQueryOrExpr <RPAREN> |
ParenthesizedQueryOrCommaList |
::= |
<LPAREN> OrderedQueryOrExpr ( <COMMA> Expression )* <RPAREN> |
FunctionParameterList |
::= |
<LPAREN> ( <DISTINCT> | <ALL> )? OrderedQueryOrExpr ( <COMMA> Expression )* <RPAREN> |
SqlQueryEof |
::= |
OrderedQueryOrExpr ( <EOF> ) |
SqlStmtEof |
::= |
( OrderedQueryOrExpr | SqlExplain | SqlInsert | SqlDelete | SqlUpdate | SqlMerge | SqlProcedureCall ) ( <EOF> ) |
SqlSelect |
::= |
<SELECT> SqlSelectKeywords ( <DISTINCT> | <ALL> | E ) SelectList <FROM> FromClause WhereOpt GroupByOpt HavingOpt WindowOpt |
SqlExplain |
::= |
<EXPLAIN> <PLAN> ( ExplainDetailLevel )? ExplainDepth ( <AS> <XML> | ) <FOR> ( OrderedQueryOrExpr | SqlInsert | SqlDelete | SqlUpdate | SqlMerge ) |
ExplainDepth |
::= |
( <WITH> <TYPE> | <WITH> <IMPLEMENTATION> | <WITHOUT> <IMPLEMENTATION> | ) |
ExplainDetailLevel |
::= |
( <EXCLUDING> <ATTRIBUTES> | <INCLUDING> ( <ALL> )? <ATTRIBUTES> ) |
SqlProcedureCall |
::= |
<CALL> NamedRoutineCall |
NamedRoutineCall |
::= |
CompoundIdentifier ( <LPAREN> <RPAREN> | ParenthesizedQueryOrCommaList ) |
SqlInsert |
::= |
<INSERT> SqlInsertKeywords <INTO> CompoundIdentifier ( <LPAREN> SimpleIdentifierCommaList <RPAREN> )? OrderedQueryOrExpr |
SqlDelete |
::= |
<DELETE> <FROM> CompoundIdentifier ( ( <AS> )? SimpleIdentifier )? WhereOpt |
SqlUpdate |
::= |
<UPDATE> CompoundIdentifier ( ( <AS> )? SimpleIdentifier )? <SET> SimpleIdentifier <EQ> Expression ( <COMMA> SimpleIdentifier <EQ> Expression )* WhereOpt |
SqlMerge |
::= |
<MERGE> <INTO> CompoundIdentifier ( ( <AS> )? SimpleIdentifier )? <USING> TableRef <ON> Expression ( WhenMatchedClause ( WhenNotMatchedClause )? | WhenNotMatchedClause ) |
WhenMatchedClause |
::= |
<WHEN> <MATCHED> <THEN> <UPDATE> <SET> SimpleIdentifier <EQ> Expression ( <COMMA> SimpleIdentifier <EQ> Expression )* |
WhenNotMatchedClause |
::= |
<WHEN> <NOT> <MATCHED> <THEN> <INSERT> SqlInsertKeywords ( <LPAREN> SimpleIdentifierCommaList <RPAREN> )? ( <LPAREN> )? <VALUES> RowConstructor ( <RPAREN> )? |
SelectList |
::= |
SelectItem ( <COMMA> SelectItem )* |
SelectItem |
::= |
SelectExpression ( ( <AS> )? SimpleIdentifier )? |
SelectExpression |
::= |
Identifier <DOT> <STAR> |
|
| |
<STAR> |
|
| |
Expression |
FromClause |
::= |
TableRef ( ( <NATURAL> | ) ( <JOIN> | <INNER> <JOIN> | <LEFT> ( <OUTER> )? <JOIN> | <RIGHT> ( <OUTER> )? <JOIN> | <FULL> ( <OUTER> )? <JOIN> | <CROSS> <JOIN> ) TableRef ( <ON> Expression | <USING> <LPAREN> SimpleIdentifierCommaList <RPAREN> | ) | <COMMA> TableRef )* |
TableRef |
::= |
( CompoundIdentifier TableOverOpt | ( <LATERAL> )? ParenthesizedExpression TableOverOpt | <UNNEST> ParenthesizedQueryOrCommaList | <TABLE> <LPAREN> TableFunctionCall <RPAREN> | ExtendedTableRef ) ( ( <AS> )? Identifier ( <LPAREN> SimpleIdentifierCommaList <RPAREN> )? )? ( <TABLESAMPLE> ( <SUBSTITUTE> <LPAREN> StringLiteral <RPAREN> | ( <BERNOULLI> | <SYSTEM> ) <LPAREN> UnsignedNumericLiteral <RPAREN> ( <REPEATABLE> <LPAREN> IntLiteral <RPAREN> )? ) )? |
TableFunctionCall |
::= |
( <SPECIFIC> )? NamedRoutineCall |
ExplicitTable |
::= |
<TABLE> CompoundIdentifier |
TableConstructor |
::= |
<VALUES> RowConstructorList |
RowConstructorList |
::= |
RowConstructor ( <COMMA> RowConstructor )* |
RowConstructor |
::= |
( <LPAREN> <ROW> ParenthesizedQueryOrCommaList <RPAREN> | ( <ROW> )? ParenthesizedQueryOrCommaList | Expression ) |
WhereOpt |
::= |
<WHERE> Expression |
|
| |
|
GroupByOpt |
::= |
<GROUP> <BY> ExpressionCommaList |
|
| |
<GROUP> <BY> <LPAREN> <RPAREN> |
|
| |
|
ExpressionCommaList |
::= |
Expression ( <COMMA> Expression )* |
HavingOpt |
::= |
<HAVING> Expression |
|
| |
|
WindowOpt |
::= |
<WINDOW> SimpleIdentifier <AS> WindowSpecification ( <COMMA> SimpleIdentifier <AS> WindowSpecification )* |
|
| |
|
WindowSpecification |
::= |
<LPAREN> ( SimpleIdentifier | ) ( <PARTITION> <BY> ExpressionCommaList | ) ( OrderBy | ) ( ( <ROWS> | <RANGE> ) ( <BETWEEN> WindowRange <AND> WindowRange | WindowRange ) )? ( <ALLOW> <PARTIAL> | <DISALLOW> <PARTIAL> )? <RPAREN> |
WindowRange |
::= |
<CURRENT> <ROW> |
|
| |
<UNBOUNDED> ( <PRECEDING> | <FOLLOWING> ) |
|
| |
StrictLiteral ( <PRECEDING> | <FOLLOWING> ) |
OrderBy |
::= |
<ORDER> <BY> OrderItem ( <COMMA> OrderItem )* |
OrderItem |
::= |
Expression ( <ASC> | <DESC> | ) |
SqlExpressionEof |
::= |
Expression ( <EOF> ) |
QueryOrExpr |
::= |
LeafQueryOrExpr ( BinaryQueryOperator LeafQueryOrExpr )* |
LeafQueryOrExpr |
::= |
Expression |
|
| |
LeafQuery |
Expression |
::= |
Expression2 |
Expression2 |
::= |
Expression3 ( ( ( ( <NOT> <IN> | <IN> ) ParenthesizedQueryOrCommaList | ( <NOT> <BETWEEN> ( <SYMMETRIC> | <ASYMMETRIC> )? | <BETWEEN> ( <SYMMETRIC> | <ASYMMETRIC> )? ) Expression3 | ( <NOT> ( <LIKE> | <SIMILAR> <TO> ) | <LIKE> | <SIMILAR> <TO> ) Expression2 ( <ESCAPE> Expression3 )? | BinaryRowOperator Expression3 | PostfixRowOperator ) )+ | ) |
Expression3 |
::= |
AtomicRowExpression |
|
| |
CursorExpression |
|
| |
<ROW> <LPAREN> SimpleIdentifierCommaList <RPAREN> |
|
| |
PrefixRowOperator Expression3 |
|
| |
( <ROW> )? ParenthesizedQueryOrCommaList ( ( <OVERLAPS> ParenthesizedQueryOrCommaList ) | ( IntervalQualifier ) )? |
CollateClause |
::= |
<COLLATE> <COLLATION_ID> |
AtomicRowExpression |
::= |
Literal |
|
| |
DynamicParam |
|
| |
BuiltinFunctionCall |
|
| |
JdbcFunctionCall |
|
| |
MultisetConstructor |
|
| |
NamedFunctionCall |
|
| |
ContextVariable |
|
| |
CompoundIdentifier |
|
| |
NewSpecification |
|
| |
<CASE> ( Expression )? ( <WHEN> Expression <THEN> Expression )+ ( <ELSE> Expression )? <END> |
Literal |
::= |
NumericLiteral |
|
| |
StringLiteral |
|
| |
SpecialLiteral |
|
| |
DateTimeLiteral |
|
| |
IntervalLiteral |
StrictLiteral |
::= |
NumericLiteral |
|
| |
StringLiteral |
|
| |
SpecialLiteral |
|
| |
DateTimeLiteral |
|
| |
IntervalLiteral |
UnsignedNumericLiteral |
::= |
<UNSIGNED_INTEGER_LITERAL> |
|
| |
<DECIMAL_NUMERIC_LITERAL> |
|
| |
<APPROX_NUMERIC_LITERAL> |
NumericLiteral |
::= |
<PLUS> UnsignedNumericLiteral |
|
| |
<MINUS> UnsignedNumericLiteral |
|
| |
UnsignedNumericLiteral |
SpecialLiteral |
::= |
<TRUE> |
|
| |
<FALSE> |
|
| |
<UNKNOWN> |
|
| |
<NULL> |
StringLiteral |
::= |
<BINARY_STRING_LITERAL> ( <QUOTED_STRING> )* |
|
| |
( <PREFIXED_STRING_LITERAL> | <QUOTED_STRING> | <UNICODE_STRING_LITERAL> ) ( <QUOTED_STRING> )* ( <UESCAPE> <QUOTED_STRING> )? |
DateTimeLiteral |
::= |
<LBRACE_D> <QUOTED_STRING> <RBRACE> |
|
| |
<LBRACE_T> <QUOTED_STRING> <RBRACE> |
|
| |
<LBRACE_TS> <QUOTED_STRING> <RBRACE> |
|
| |
<DATE> <QUOTED_STRING> |
|
| |
<TIME> <QUOTED_STRING> |
|
| |
<TIMESTAMP> <QUOTED_STRING> |
MultisetConstructor |
::= |
<MULTISET> <LPAREN> LeafQueryOrExpr <RPAREN> |
|
| |
<MULTISET> <LBRACKET> Expression ( <COMMA> Expression )* <RBRACKET> |
IntervalLiteral |
::= |
<INTERVAL> ( <MINUS> | <PLUS> )? <QUOTED_STRING> IntervalQualifier |
IntervalQualifier |
::= |
( <YEAR> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ( <TO> <MONTH> )? | <MONTH> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? | <DAY> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ( <TO> ( <HOUR> | <MINUTE> | <SECOND> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ) )? | <HOUR> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ( <TO> ( <MINUTE> | <SECOND> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ) )? | <MINUTE> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ( <TO> ( <SECOND> ( <LPAREN> UnsignedIntLiteral <RPAREN> )? ) )? | <SECOND> ( <LPAREN> UnsignedIntLiteral ( <COMMA> UnsignedIntLiteral )? <RPAREN> )? ) |
TimeUnit |
::= |
<YEAR> |
|
| |
<MONTH> |
|
| |
<DAY> |
|
| |
<HOUR> |
|
| |
<MINUTE> |
|
| |
<SECOND> |
DynamicParam |
::= |
<HOOK> |
Identifier |
::= |
( <IDENTIFIER> | <QUOTED_IDENTIFIER> | <UNICODE_QUOTED_IDENTIFIER> ( <UESCAPE> <QUOTED_STRING> )? | NonReservedKeyWord ) |
SimpleIdentifier |
::= |
Identifier |
SimpleIdentifierCommaList |
::= |
SimpleIdentifier ( <COMMA> SimpleIdentifier )* |
CompoundIdentifier |
::= |
Identifier ( <DOT> Identifier )* |
NewSpecification |
::= |
<NEW> NamedRoutineCall |
UnsignedIntLiteral |
::= |
<UNSIGNED_INTEGER_LITERAL> |
IntLiteral |
::= |
( <UNSIGNED_INTEGER_LITERAL> | <PLUS> <UNSIGNED_INTEGER_LITERAL> ) |
|
| |
<MINUS> <UNSIGNED_INTEGER_LITERAL> |
DataType |
::= |
( TypeName ( <LPAREN> UnsignedIntLiteral ( <COMMA> UnsignedIntLiteral )? <RPAREN> )? ( <CHARACTER> <SET> Identifier )? ( CollectionsTypeName )? ) |
TypeName |
::= |
( ( <CHARACTER> | <CHAR> ) ( <VARYING> )? | <VARCHAR> | <DATE> | <TIME> | <TIMESTAMP> | ( <DECIMAL> | <DEC> | <NUMERIC> ) | <BOOLEAN> | <INTEGER> | <INT> | ( <BINARY> ) ( <VARYING> )? | <VARBINARY> | <TINYINT> | <SMALLINT> | <BIGINT> | <REAL> | <DOUBLE> ( <PRECISION> )? | <FLOAT> | CollectionsTypeName | CompoundIdentifier ) |
CollectionsTypeName |
::= |
<MULTISET> |
CursorExpression |
::= |
<CURSOR> Expression |
BuiltinFunctionCall |
::= |
( <CAST> <LPAREN> Expression <AS> ( DataType | <INTERVAL> IntervalQualifier ) <RPAREN> ) |
|
| |
( <EXTRACT> <LPAREN> TimeUnit <FROM> Expression <RPAREN> ) |
|
| |
( <POSITION> <LPAREN> AtomicRowExpression <IN> Expression <RPAREN> ) |
|
| |
( <CONVERT> <LPAREN> Expression <USING> Identifier <RPAREN> ) |
|
| |
( <TRANSLATE> <LPAREN> Expression <USING> Identifier <RPAREN> ) |
|
| |
( <OVERLAY> <LPAREN> Expression <PLACING> Expression <FROM> Expression ( <FOR> Expression )? <RPAREN> ) |
|
| |
( <FLOOR> FloorCeilOptions ) |
|
| |
( ( <CEIL> | <CEILING> ) FloorCeilOptions ) |
|
| |
( <SUBSTRING> <LPAREN> Expression ( <FROM> | <COMMA> ) Expression ( ( <FOR> | <COMMA> ) Expression )? <RPAREN> ) |
|
| |
( <TRIM> <LPAREN> ( ( <BOTH> | <TRAILING> | <LEADING> )? ( Expression )? ( <FROM> | <RPAREN> ) )? Expression <RPAREN> ) |
|
| |
ExtendedBuiltinFunctionCall |
NamedFunctionCall |
::= |
( <SPECIFIC> )? ( FunctionName ( <LPAREN> <STAR> <RPAREN> | <LPAREN> <RPAREN> | FunctionParameterList ) ( <OVER> ( SimpleIdentifier | WindowSpecification ) )? ) |
StandardFloorCeilOptions |
::= |
ParenthesizedQueryOrCommaList ( <OVER> ( SimpleIdentifier | WindowSpecification ) )? |
NonReservedJdbcFunctionName |
::= |
( <SUBSTRING> ) |
FunctionName |
::= |
( CompoundIdentifier | ReservedFunctionName ) |
ReservedFunctionName |
::= |
( <ABS> | <AVG> | <CARDINALITY> | <CHAR_LENGTH> | <CHARACTER_LENGTH> | <COALESCE> | <COLLECT> | <CUME_DIST> | <COUNT> | <CURRENT_DATE> | <CURRENT_TIME> | <CURRENT_TIMESTAMP> | <DENSE_RANK> | <ELEMENT> | <EXP> | <FIRST_VALUE> | <FUSION> | <LAST_VALUE> | <LN> | <LOCALTIME> | <LOCALTIMESTAMP> | <LOWER> | <MAX> | <MIN> | <MOD> | <NULLIF> | <OCTET_LENGTH> | <PERCENT_RANK> | <POWER> | <RANK> | <ROW_NUMBER> | <SQRT> | <SUM> | <UPPER> ) |
ContextVariable |
::= |
( <CURRENT_CATALOG> | <CURRENT_DATE> | <CURRENT_DEFAULT_TRANSFORM_GROUP> | <CURRENT_PATH> | <CURRENT_ROLE> | <CURRENT_SCHEMA> | <CURRENT_TIME> | <CURRENT_TIMESTAMP> | <CURRENT_USER> | <LOCALTIME> | <LOCALTIMESTAMP> | <SESSION_USER> | <SYSTEM_USER> | <USER> ) |
JdbcFunctionCall |
::= |
( <LBRACE_FN> ( <INSERT> | ReservedFunctionName | NonReservedJdbcFunctionName | Identifier ) ( <LPAREN> <STAR> <RPAREN> | <LPAREN> <RPAREN> | ParenthesizedQueryOrCommaList ) <RBRACE> ) |
BinaryQueryOperator |
::= |
( <UNION> ( <ALL> | <DISTINCT> )? | <INTERSECT> ( <ALL> | <DISTINCT> )? | <EXCEPT> ( <ALL> | <DISTINCT> )? ) |
BinaryMultisetOperator |
::= |
( <MULTISET> ( <UNION> ( <ALL> | <DISTINCT> )? | <INTERSECT> ( <ALL> | <DISTINCT> )? | <EXCEPT> ( <ALL> | <DISTINCT> )? ) ) |
BinaryRowOperator |
::= |
<EQ> |
|
| |
<GT> |
|
| |
<LT> |
|
| |
<LE> |
|
| |
<GE> |
|
| |
<NE> |
|
| |
<PLUS> |
|
| |
<MINUS> |
|
| |
<STAR> |
|
| |
<SLASH> |
|
| |
<CONCAT> |
|
| |
<AND> |
|
| |
<OR> |
|
| |
<IS> <DISTINCT> <FROM> |
|
| |
<IS> <NOT> <DISTINCT> <FROM> |
|
| |
<MEMBER> <OF> |
|
| |
<SUBMULTISET> <OF> |
|
| |
BinaryMultisetOperator |
PrefixRowOperator |
::= |
<PLUS> |
|
| |
<MINUS> |
|
| |
<NOT> |
|
| |
<EXISTS> |
PostfixRowOperator |
::= |
<IS> ( <A> <SET> | <NOT> ( <NULL> | <TRUE> | <FALSE> | <UNKNOWN> ) | ( <NULL> | <TRUE> | <FALSE> | <UNKNOWN> ) ) |
CommonNonReservedKeyWord |
::= |
( <A> | <ABSOLUTE> | <ACTION> | <ADA> | <ADD> | <ADMIN> | <AFTER> | <ALWAYS> | <ASC> | <ASSERTION> | <ASSIGNMENT> | <ATTRIBUTE> | <ATTRIBUTES> | <BEFORE> | <BERNOULLI> | <BREADTH> | <C> | <CASCADE> | <CATALOG> | <CATALOG_NAME> | <CHAIN> | <CHARACTER_SET_CATALOG> | <CHARACTER_SET_NAME> | <CHARACTER_SET_SCHEMA> | <CHARACTERISTICS> | <CHARACTERS> | <CLASS_ORIGIN> | <COBOL> | <COLLATION> | <COLLATION_CATALOG> | <COLLATION_NAME> | <COLLATION_SCHEMA> | <COLUMN_NAME> | <COMMAND_FUNCTION> | <COMMAND_FUNCTION_CODE> | <COMMITTED> | <CONDITION_NUMBER> | <CONNECTION> | <CONNECTION_NAME> | <CONSTRAINT_CATALOG> | <CONSTRAINT_NAME> | <CONSTRAINT_SCHEMA> | <CONSTRAINTS> | <CONSTRUCTOR> | <CONTAINS> | <CONTINUE> | <CURSOR_NAME> | <DATA> | <DATETIME_INTERVAL_CODE> | <DATETIME_INTERVAL_PRECISION> | <DEFAULTS> | <DEFERRABLE> | <DEFERRED> | <DEFINED> | <DEFINER> | <DEGREE> | <DEPTH> | <DERIVED> | <DESC> | <DESCRIPTION> | <DESCRIPTOR> | <DIAGNOSTICS> | <DISPATCH> | <DOMAIN> | <DYNAMIC_FUNCTION> | <DYNAMIC_FUNCTION_CODE> | <EQUALS> | <EXCEPTION> | <EXCLUDE> | <EXCLUDING> | <FINAL> | <FIRST> | <FOLLOWING> | <FORTRAN> | <FOUND> | <G> | <GENERAL> | <GENERATED> | <GO> | <GOTO> | <GRANTED> | <HIERARCHY> | <IMMEDIATE> | <IMPLEMENTATION> | <INCLUDING> | <INCREMENT> | <INITIALLY> | <INPUT> | <INSTANCE> | <INSTANTIABLE> | <INVOKER> | <ISOLATION> | <JAVA> | <K> | <KEY> | <KEY_MEMBER> | <KEY_TYPE> | <LABEL> | <LAST> | <LENGTH> | <LEVEL> | <LIBRARY> | <LOCATOR> | <M> | <MAP> | <MATCHED> | <MAXVALUE> | <MESSAGE_LENGTH> | <MESSAGE_OCTET_LENGTH> | <MESSAGE_TEXT> | <MINVALUE> | <MORE_KW> | <MUMPS> | <NAME> | <NAMES> | <NESTING> | <NEXT> | <NORMALIZED> | <NULLABLE> | <NULLS> | <NUMBER> | <OBJECT> | <OCTETS> | <OPTION> | <OPTIONS> | <ORDERING> | <ORDINALITY> | <OTHERS> | <OUTPUT> | <OVERRIDING> | <PAD> | <PARAMETER_MODE> | <PARAMETER_NAME> | <PARAMETER_ORDINAL_POSITION> | <PARAMETER_SPECIFIC_CATALOG> | <PARAMETER_SPECIFIC_NAME> | <PARAMETER_SPECIFIC_SCHEMA> | <PARTIAL> | <PASCAL> | <PATH> | <PLACING> | <PLAN> | <PLI> | <PRECEDING> | <PRESERVE> | <PRIOR> | <PRIVILEGES> | <PUBLIC> | <READ> | <RELATIVE> | <REPEATABLE> | <RESTART> | <RESTRICT> | <RETURNED_CARDINALITY> | <RETURNED_LENGTH> | <RETURNED_OCTET_LENGTH> | <RETURNED_SQLSTATE> | <ROLE> | <ROUTINE> | <ROUTINE_CATALOG> | <ROUTINE_NAME> | <ROUTINE_SCHEMA> | <ROW_COUNT> | <SCALE> | <SCHEMA> | <SCHEMA_NAME> | <SCOPE_CATALOGS> | <SCOPE_NAME> | <SCOPE_SCHEMA> | <SECTION> | <SECURITY> | <SELF> | <SEQUENCE> | <SERIALIZABLE> | <SERVER> | <SERVER_NAME> | <SESSION> | <SETS> | <SIMPLE> | <SIZE> | <SOURCE> | <SPACE> | <SPECIFIC_NAME> | <STATE> | <STATEMENT> | <STRUCTURE> | <STYLE> | <SUBCLASS_ORIGIN> | <SUBSTITUTE> | <TABLE_NAME> | <TEMPORARY> | <TIES> | <TOP_LEVEL_COUNT> | <TRANSACTION> | <TRANSACTIONS_ACTIVE> | <TRANSACTIONS_COMMITTED> | <TRANSACTIONS_ROLLED_BACK> | <TRANSFORM> | <TRANSFORMS> | <TRIGGER_CATALOG> | <TRIGGER_NAME> | <TRIGGER_SCHEMA> | <TYPE> | <UNBOUNDED> | <UNCOMMITTED> | <UNDER> | <UNNAMED> | <USAGE> | <USER_DEFINED_TYPE_CATALOG> | <USER_DEFINED_TYPE_CODE> | <USER_DEFINED_TYPE_NAME> | <USER_DEFINED_TYPE_SCHEMA> | <VERSION> | <VIEW> | <WRAPPER> | <WORK> | <WRITE> | <XML> | <ZONE> ) |
UnusedExtension |
::= |
( <ZONE> ) |