123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531 |
- aggregate_with_filter ::= aggregate_name '(' expression ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- alter_cluster_set ::=
- 'ALTER' 'CLUSTER' name 'SET' '(' (cluster_option '=' value)* ')'
- ('WITH' with_options)?
- alter_cluster_set_with_options ::= 'WITH' '(' 'WAIT' ( ( 'UNTIL' 'READY' '(' (wait_until_ready_option '='? value)* ')' ) | ( 'FOR' '='? duration ) ) ')'
- alter_cluster_reset ::=
- 'ALTER' 'CLUSTER' name 'RESET' '(' (cluster_option_name)* ')'
- alter_connection ::=
- 'ALTER' 'CONNECTION' 'IF EXISTS'? name
- (
- (
- 'SET' '(' option '=' value ')'
- | ('DROP' | 'RESET') '(' option ')'
- )
- ( ','
- (
- 'SET' '(' option '=' value ')'
- | ('DROP' | 'RESET') '(' option ')'
- )
- ) *
- | 'ROTATE' 'KEYS'
- )
- ( 'WITH'? '(' field val ( ',' field val )* ')' )?
- alter_default_privileges ::=
- 'ALTER' 'DEFAULT' 'PRIVILEGES' 'FOR' (( 'ROLE' | 'USER' ) target_role (',' target_role)* | 'ALL' 'ROLES' ) ( 'IN' 'SCHEMA' schema_name (',' schema_name)* | 'IN' 'DATABASE' database_name (',' database_name)* )? ( abbreviated_grant | abbreviated_revoke )
- alter_network_policy::='ALTER' 'NETWORK POLICY' name '(' 'RULES' ( '(' network_policy_rule (',' network_policy_rule)* ')' )? ')'
- abbreviated_grant ::=
- 'GRANT' ((privilege (',' privilege)*) | 'ALL' 'PRIVILEGES'? ) 'ON' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS' | 'DATABASES' | 'SCHEMAS' | 'CLUSTERS') 'TO' 'GROUP'? grantee (',' grantee)*
- abbreviated_revoke ::=
- 'REVOKE' ((privilege (',' privilege)*) | 'ALL' 'PRIVILEGES'? ) 'ON' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS' | 'DATABASES' | 'SCHEMAS' | 'CLUSTERS') 'FROM' 'GROUP'? revokee (',' revokee)*
- alter_owner ::=
- 'ALTER' ('CLUSTER' | 'CLUSTER REPLICA' | 'CONNECTION' | 'DATABASE' | 'SCHEMA' | 'SOURCE' | 'SINK' | 'VIEW' | 'MATERIALIZED VIEW' | 'TABLE' | 'TYPE' | 'SECRET' ) name 'OWNER TO' new_owner
- alter_rename ::=
- 'ALTER' ('CONNECTION' | 'CLUSTER' | 'CLUSTER REPLICA' | 'INDEX' | 'SCHEMA' | 'SOURCE' | 'SINK' | 'VIEW' | 'MATERIALIZED VIEW' | 'TABLE' | 'SECRET' ) name 'RENAME TO' new_name
- alter_swap ::=
- 'ALTER' ('CLUSTER' | 'SCHEMA') name 'SWAP' 'WITH' target_name
- alter_sink ::=
- 'ALTER' 'SINK' name 'SET' 'FROM' item_name
- alter_table_set ::=
- 'ALTER' 'TABLE' name 'SET' '(' ('RETAIN HISTORY' '='? 'FOR' retention_period) ')'
- alter_table_reset ::=
- 'ALTER' 'TABLE' name 'RESET' '(' 'RETAIN HISTORY' ')'
- alter_index_set ::=
- 'ALTER' 'INDEX' name 'SET' ('ENABLED' | ('(' ('RETAIN HISTORY' '='? 'FOR' retention_period) ')'))
- alter_index_reset ::=
- 'ALTER' 'INDEX' name 'RESET' '(' 'RETAIN HISTORY' ')'
- alter_materialized_view_set ::=
- 'ALTER' 'MATERIALIZED VIEW' name 'SET' '(' ('RETAIN HISTORY' '='? 'FOR' retention_period) ')'
- alter_materialized_view_reset ::=
- 'ALTER' 'MATERIALIZED VIEW' name 'RESET' '(' 'RETAIN HISTORY' ')'
- alter_role ::=
- 'ALTER' 'ROLE' role_name ( alter_role_attributes | alter_role_set )
- alter_role_attributes ::= 'WITH'? 'INHERIT'
- alter_role_set ::= ('SET' name ( 'TO' | '=' ) ( value | 'DEFAULT' ) | 'RESET' name)
- alter_secret ::=
- 'ALTER' 'SECRET' 'IF EXISTS'? name AS value
- alter_source ::=
- 'ALTER' 'SOURCE' 'IF EXISTS'? name (
- alter_source_add_clause
- | alter_source_set_retain_history_clause
- | alter_source_reset_retain_history_clause
- )
- alter_source_add_clause ::=
- 'ADD' ('SUBSOURCE' | 'TABLE') table_name ('AS' subsrc_name)? (',' table_name ('AS' subsrc_name)? )* with_options
- alter_source_set_retain_history_clause ::=
- 'SET' '(' ('RETAIN HISTORY' '='? 'FOR' retention_period) ')'
- alter_source_reset_retain_history_clause ::=
- 'RESET' '(' 'RETAIN HISTORY' ')'
- alter_system_set_stmt ::=
- 'ALTER' 'SYSTEM' 'SET' name ( 'TO' | '=' ) ( value | 'DEFAULT' )
- alter_system_reset_stmt ::=
- 'ALTER' 'SYSTEM' 'RESET' name
- array_agg ::=
- 'array_agg' '(' values ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )? ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- as_of ::=
- 'AS' 'OF' ( 'AT' 'LEAST' )? timestamp_expression
- close ::=
- 'CLOSE' cursor_name
- col_option ::=
- 'NOT' 'NULL' |
- 'DEFAULT' expr
- comment_on ::=
- 'COMMENT ON' (
- 'CLUSTER' | 'CLUSTER REPLICA' | 'COLUMN' | 'CONNECTION' | 'DATABASE' | 'FUNCTION' |
- 'INDEX' | 'MATERIALIZED VIEW' | 'NETWORK POLICY' | 'ROLE' | 'SCHEMA' | 'SECRET' | 'SINK' |
- 'SOURCE' | 'TABLE' | 'TYPE' | 'VIEW'
- ) object_name 'IS' ( string_literal | 'NULL' )
- copy_to_stdout ::=
- 'COPY' '(' query ')' 'TO' 'STDOUT'
- ( 'WITH'? '(' field val ( ',' field val )* ')' )?
- copy_to_s3 ::=
- 'COPY' ( query | object_name ) 'TO' s3_uri
- '(' 'WITH' 'AWS CONNECTION' connection_name ',' 'FORMAT' ( csv | parquet ) ( ',' field val )* ')'
- copy_from ::=
- 'COPY' 'INTO'? table_name ('(' column ( ',' column )* ')')? 'FROM' 'STDIN'
- ( 'WITH'? '(' field val ( ',' field val )* ')' )?
- create_cluster ::=
- 'CREATE' 'CLUSTER' name (
- 'REPLICAS' '(' (replica_definition (',' replica_definition)*)? ')'
- )?
- create_managed_cluster ::=
- 'CREATE' 'CLUSTER' name '(' cluster_option '=' value (',' cluster_option '=' value)* ')'
- cluster_replica_def ::=
- replica_name '(' replica_option '=' value ( ',' replica_option '=' value )* ')'
- create_cluster_replica ::=
- 'CREATE' 'CLUSTER' 'REPLICA' cluster_name '.' replica_name '(' (option '=' value ( ',' option '=' value )*)? ')'
- create_connection_aws ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'AWS'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_kafka ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'KAFKA'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_csr ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'CONFLUENT' 'SCHEMA' 'REGISTRY'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_postgres ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'POSTGRES'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_mysql ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'MYSQL'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_sql-server ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'SQL SERVER'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_aws_privatelink ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'AWS' 'PRIVATELINK'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_ssh_tunnel ::=
- 'CREATE' 'CONNECTION' 'IF NOT EXISTS'? connection_name 'TO' 'SSH' 'TUNNEL'
- '(' field '='? val ( ',' field '='? val )* ')'
- ('WITH' with_options)?
- create_connection_kafka_brokers ::= 'BROKERS' '(' kafka_broker (',' kafka_broker)* ')'
- create_connection_kafka_broker_aws_privatelink ::=
- "'host:port'" 'USING' 'AWS' 'PRIVATELINK' aws_connection ( '(' broker_option (',' broker_option)* ')' )?
- create_connection_kafka_default_aws_privatelink ::=
- 'AWS' 'PRIVATELINK' aws_connection ( '(' 'PORT' port ')' )?
- create_connection_kafka_broker_ssh_tunnel ::=
- "'host:port'" 'USING' 'SSH' 'TUNNEL' ssh_connection
- broker_option ::= 'PORT' number | 'AVAILABILITY ZONE' az
- create_database ::=
- 'CREATE' 'DATABASE' ('IF NOT EXISTS')? database_name
- create_index ::=
- 'CREATE' (
- 'INDEX' index_name ('IN' 'CLUSTER' cluster_name)? 'ON' obj_name ('USING' method)? '(' ( ( col_expr ) ( ( ',' col_expr ) )* ) ')'
- | 'DEFAULT INDEX' ('IN' 'CLUSTER' cluster_name)? 'ON' obj_name ('USING' method)?
- )
- with_options?
- create_materialized_view ::=
- 'CREATE' 'OR REPLACE'? 'MATERIALIZED VIEW' 'IF NOT EXISTS'?
- view_name ( '(' col_ident ( ',' col_ident )* ')' )?
- ('IN CLUSTER' cluster_name)?
- ('WITH' with_options)?
- 'AS' select_stmt
- create_role ::=
- 'CREATE' 'ROLE' role_name ('WITH'? 'INHERIT')?
- create_secret ::=
- 'CREATE' 'SECRET' ('IF NOT EXISTS')? name 'AS' value
- create_schema ::=
- 'CREATE' 'SCHEMA' ('IF NOT EXISTS')? schema_name
- create_sink_kafka ::=
- 'CREATE SINK' 'IF NOT EXISTS'? sink_name sink_definition
- sink_definition ::=
- ('IN CLUSTER' cluster_name)?
- 'FROM' item_name
- 'INTO' kafka_sink_connection
- ('KEY' '(' key_column ( ',' key_column )* ')' 'NOT ENFORCED'?)?
- ('HEADERS' headers_column)?
- ('FORMAT' sink_format_spec | 'KEY FORMAT' sink_format_spec 'VALUE FORMAT' sink_format_spec)?
- ('ENVELOPE' ('DEBEZIUM'|'UPSERT'))
- ('WITH' with_options)?
- create_sink_doc_on_option ::=
- ('KEY' | 'VALUE')? 'DOC ON' ('TYPE' type_name | 'COLUMN' column_name) '='? string
- create_source_kafka ::=
- 'CREATE SOURCE' ('IF NOT EXISTS')? src_name
- ('(' (col_name) ( ( ',' col_name ) )* ')')?
- ('IN CLUSTER' cluster_name)?
- 'FROM' 'KAFKA' 'CONNECTION' connection_name
- '(' 'TOPIC' topic ( ( ',' connection_option )? ) ')'
- ('KEY FORMAT' format_spec 'VALUE FORMAT' format_spec | 'FORMAT' format_spec)
- ('INCLUDE'
- ( ('KEY' | 'PARTITION' | 'OFFSET' | 'TIMESTAMP' | 'HEADERS' ) ('AS' name)? | 'HEADER' key 'AS' name ('BYTES')? )
- (',' ( ('KEY' | 'PARTITION' | 'OFFSET' | 'TIMESTAMP' | 'HEADERS' ) ('AS' name)? | 'HEADER' key 'AS' name ('BYTES')? ) )*
- )?
- ('ENVELOPE' ('NONE' | 'DEBEZIUM' | 'UPSERT'
- ( '(' 'VALUE DECODING ERRORS = INLINE' ('AS' name)? ')' )?
- ))?
- ('EXPOSE' 'PROGRESS' 'AS' progress_subsource_name)?
- with_options?
- create_source_load_generator ::=
- 'CREATE SOURCE' ('IF NOT EXISTS')? src_name
- ('IN CLUSTER' cluster_name)?
- 'FROM LOAD GENERATOR' ('AUCTION' | 'CLOCK' | 'COUNTER' | 'MARKETING' | 'TPCH' | 'KEY VALUE')
- ('(' (load_generator_option) ( ( ',' load_generator_option ) )* ')')?
- 'FOR ALL TABLES'
- ('EXPOSE' 'PROGRESS' 'AS' progress_subsource_name)?
- with_options?
- load_generator_option ::=
- 'TICK INTERVAL' interval
- | 'AS OF' tick
- | 'UP TO' tick
- | 'SCALE FACTOR' scale_factor
- | 'MAX CARDINALITY' max_cardinality
- | 'KEYS' keys
- | 'SNAPSHOT ROUNDS' snapshot_rounds
- | 'TRANSACTIONAL SNAPSHOT' transactional_snapshot
- | 'VALUE SIZE' value_size
- | 'SEED' seed
- | 'PARTITIONS' partitions
- | 'BATCH SIZE' batch_size
- create_network_policy::='CREATE' 'NETWORK POLICY' name '(' 'RULES' ( '(' network_policy_rule (',' network_policy_rule)* ')' )? ')'
- create_source_postgres ::=
- 'CREATE SOURCE' ('IF NOT EXISTS')? src_name
- ('IN CLUSTER' cluster_name)?
- 'FROM' 'POSTGRES' 'CONNECTION' connection_name
- '(' 'PUBLICATION' publication_name ( ( ',' 'TEXT COLUMNS' ('(' (column_name) ( ( ',' column_name ) )* ')')? )? ) ')'
- ('FOR ALL TABLES'
- | 'FOR TABLES' '(' table_name ('AS' subsrc_name)? (',' table_name ('AS' subsrc_name)? )* ')'
- | 'FOR SCHEMAS' '(' schema_name (',' schema_name )* ')'
- )
- ('EXPOSE' 'PROGRESS' 'AS' progress_subsource_name)?
- with_options?
- create_source_mysql ::=
- 'CREATE SOURCE' ('IF NOT EXISTS')? src_name
- ('IN CLUSTER' cluster_name)?
- 'FROM' 'MYSQL' 'CONNECTION' connection_name
- ( ( '(' 'TEXT COLUMNS' ('(' (column_name) ( ( ',' column_name ) )* ')')? )? )
- ( ( ',' 'EXCLUDE COLUMNS' ('(' (column_name) ( ( ',' column_name ) )* ')')? ')' )? )
- ('FOR ALL TABLES'
- | 'FOR TABLES' '(' table_name ('AS' subsrc_name)? (',' table_name ('AS' subsrc_name)? )* ')'
- | 'FOR SCHEMAS' '(' schema_name (',' schema_name )* ')'
- )
- ('EXPOSE' 'PROGRESS' 'AS' progress_subsource_name)?
- with_options?
- create_source_sql-server ::=
- 'CREATE SOURCE' ('IF NOT EXISTS')? src_name
- ('IN CLUSTER' cluster_name)?
- 'FROM' 'SQL SERVER' 'CONNECTION' connection_name
- ( ( '(' 'TEXT COLUMNS' ( '(' (column_name) ( ( ',' column_name ) )* ')')? )? )
- ( ( ',' 'EXCLUDE COLUMNS' ('(' (column_name) ( ( ',' column_name ) )* ')')? ')' )? )
- ('FOR ALL TABLES'
- | 'FOR TABLES' '(' table_name ('AS' subsrc_name)? (',' table_name ('AS' subsrc_name)? )* ')'
- )
- ('EXPOSE' 'PROGRESS' 'AS' progress_subsource_name)?
- with_options?
- create_type ::=
- 'CREATE' 'TYPE' type_name 'AS' '(' ((field_name field_type) (',' field_name field_type)*) ')' |
- 'CREATE' 'TYPE' type_name 'AS' ( 'LIST' | 'MAP' ) '(' ( property '=' val ) ( ( ',' property '=' val ) )* ')'
- create_view ::=
- 'CREATE' ('TEMP' | 'TEMPORARY')? 'VIEW' view_name ( '(' col_ident ( ',' col_ident )* ')' )? 'AS' select_stmt |
- 'CREATE' ('TEMP' | 'TEMPORARY')? 'VIEW' 'IF NOT EXISTS' view_name ( '(' col_ident ( ',' col_ident )* ')' )? 'AS' select_stmt |
- 'CREATE' 'OR REPLACE' 'VIEW' view_name ( '(' col_ident ( ',' col_ident )* ')' )? 'AS' select_stmt
- create_table ::=
- 'CREATE' ('TEMP' | 'TEMPORARY')? 'TABLE' table_name
- '(' ((col_name col_type col_option*) (',' col_name col_type col_option*)*)? ')'
- with_options?
- deallocate ::=
- 'DEALLOCATE' ('PREPARE')? (name | 'ALL')?
- declare ::=
- 'DECLARE' cursor_name 'CURSOR' ('WITHOUT' 'HOLD')? 'FOR' query
- insert ::=
- 'INSERT' 'INTO' table_name ('AS'? alias)
- ( '(' (col_name) ( ',' col_name )* ')' )?
- (
- 'VALUES' ( ('(' (expr) ( ( ',' expr ) )* ')') ( ( ',' ('(' (expr) ( ( ',' expr ) )* ')') )* ) )
- | query
- )
- ( 'RETURNING' ( '*' | output_expression ( AS? output_name )? ) ( ',' ( '*' | output_expression ( AS? output_name )? ) )* )?
- delete_stmt ::=
- 'DELETE FROM' table_name ('AS'? alias)?
- 'USING' (from_item) ( ( ',' from_item ) )*
- 'WHERE' condition
- discard ::=
- 'DISCARD' ('TEMP' | 'TEMPORARY' | 'ALL')
- drop_connection ::=
- 'DROP' 'CONNECTION' ('IF EXISTS')? connection_name ('CASCADE' | 'RESTRICT')?
- drop_cluster ::=
- 'DROP' 'CLUSTER' ('IF EXISTS')? cluster_name ('CASCADE' | 'RESTRICT')?
- drop_cluster_replica ::=
- 'DROP' 'CLUSTER' 'REPLICA' ('IF EXISTS')? cluster_name.replica_name
- drop_database ::=
- 'DROP' 'DATABASE' ('IF EXISTS')? database_name ('CASCADE' | 'RESTRICT')?
- drop_materialized_view ::=
- 'DROP' 'MATERIALIZED VIEW' 'IF EXISTS'? view_name ('RESTRICT' | 'CASCADE')?
- drop_network_policy ::=
- 'DROP' 'NETWORK POLICY' 'IF EXISTS'? name
- drop_owned ::=
- 'DROP' 'OWNED' 'BY' role_name ( ',' role_name )* ('RESTRICT' | 'CASCADE')?
- drop_role ::=
- 'DROP' 'ROLE' ('IF EXISTS')? role_name
- drop_secret ::=
- 'DROP' 'SECRET' ('IF EXISTS')? secret_name ('CASCADE' | 'RESTRICT')?
- drop_schema ::=
- 'DROP' 'SCHEMA' ('IF EXISTS')? schema_name ('CASCADE' | 'RESTRICT')?
- drop_sink ::=
- 'DROP' 'SINK' ('IF' 'EXISTS')? sink_name
- drop_source ::=
- 'DROP' 'SOURCE' ('IF' 'EXISTS')? source_name ('RESTRICT' | 'CASCADE')?
- drop_table ::=
- 'DROP' 'TABLE' ('IF' 'EXISTS')? table_name ('RESTRICT' | 'CASCADE')?
- drop_type ::=
- 'DROP' 'TYPE' ('IF' 'EXISTS')? data_type_name ('RESTRICT' | 'CASCADE')?
- drop_view ::=
- 'DROP' 'VIEW' ('IF' 'EXISTS')? view_name ('RESTRICT' | 'CASCADE')?
- drop_user ::=
- 'DROP' 'USER' ('IF EXISTS')? role_name
- execute ::=
- 'EXECUTE' name ('(' (parameter_value) ( ',' parameter_value )* ')')?
- explain_filter_pushdown ::=
- 'EXPLAIN FILTER PUSHDOWN'
- 'FOR'
- (
- select_stmt |
- 'MATERIALIZED VIEW' name
- )
- explain_timestamp ::=
- 'EXPLAIN' 'TIMESTAMP'
- ( 'AS' ( 'TEXT' | 'JSON' ) )?
- 'FOR'
- select_stmt
- explain_schema ::=
- 'EXPLAIN' ( 'KEY' | 'VALUE' ) 'SCHEMA'
- ( 'AS JSON' )?
- 'FOR'
- 'CREATE SINK' (sink_name)?
- sink_definition
- fetch ::=
- 'FETCH' 'FORWARD'? ('ALL' | count)? 'FROM'? cursor_name
- ( 'WITH'? '(' (option_name ('=' option_value)?) ( ',' (option_name ('=' option_value)?) )* ')' )?
- format_spec ::=
- 'AVRO USING' 'CONFLUENT SCHEMA REGISTRY' 'CONNECTION' connection_name key_strat? val_strat? with_options? |
- 'PROTOBUF' ('USING' 'CONFLUENT SCHEMA REGISTRY' 'CONNECTION' connection_name with_options | 'MESSAGE' message_name 'USING SCHEMA' encoded_schema) |
- 'REGEX' regex |
- 'CSV WITH' ('HEADER' ( '(' col_name (',' col_name)* ')' ) | n 'COLUMNS') ('DELIMITED BY' char)? |
- 'TEXT' |
- 'BYTES' |
- 'JSON'
- grant_privilege ::=
- 'GRANT' ((privilege (',' privilege)*) | 'ALL' 'PRIVILEGES'? ) 'ON' ( ('TABLE'? | 'TYPE' | 'SECRET' | 'CONNECTION' | 'DATABASE' | 'SCHEMA' | 'CLUSTER') object_name (',' object_name)* | 'SYSTEM' | 'ALL' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS') 'IN' 'SCHEMA' schema_name (',' schema_name)* | 'ALL' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS' | 'SCHEMAS') 'IN' 'DATABASE' database_name (',' database_name)* | 'ALL' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS' | 'DATABASES' | 'SCHEMAS' | 'CLUSTERS') ) 'TO' 'GROUP'? role_name ( ',' 'GROUP'? role_name )*
- grant_role ::=
- 'GRANT' role_name ( ',' role_name )* 'TO' 'GROUP'? member_name ( ',' 'GROUP'? member_name )*
- key_strat ::=
- 'KEY STRATEGY' strat
- val_strat ::=
- 'VALUE STRATEGY' strat
- strat ::=
- 'INLINE' avro_reader_schema |
- 'ID' schema_registry_id |
- 'LATEST'
- sink_format_spec ::=
- 'AVRO USING' csr_connection |
- 'JSON' | 'TEXT' | 'BYTES'
- compression ::= 'COMPRESSION' ('NONE' | 'GZIP')
- func_at_time_zone ::=
- 'SELECT' ( 'TIMESTAMP' | 'TIMESTAMPTZ' ) ('timestamp' | 'timestamptz') 'AT TIME ZONE' 'zone::type'
- func_cast ::=
- 'CAST' '(' val 'AS' type ')'
- func_coalesce ::=
- 'coalesce' '(' val ( ',' val )* ')'
- func_csv_extract ::=
- 'csv_extract' '(' num_csv_col ',' col_name ')'
- func_date_bin ::=
- 'date_bin' '(' stride ',' source ',' origin ')'
- func_date_bin_experimental ::=
- 'date_bin' '(' stride ',' source (',' origin)? ')'
- func_date_bin_hopping ::=
- 'date_bin_hopping' '(' hop ',' width ',' source (',' origin)? ')'
- func_date_trunc ::=
- 'date_trunc' '(' "'" ( 'microseconds' | 'milliseconds' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'decade' | 'century' | 'millenium' ) "'" ',' val ')'
- func_extract ::=
- 'EXTRACT' '(' ( 'EPOCH' | 'MILLENNIUM' | 'CENTURY' | 'DECADE' | 'YEAR' | 'QUARTER' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' | 'MICROSECOND' | 'MILLISECOND' | 'DOW' | 'ISODOW' | 'DOY' ) 'FROM' val ')'
- func_date_part ::=
- 'date_part' '(' "'" ( 'epoch' | 'millennium' | 'century' | 'decade' | 'year' | 'quarter' | 'month' | 'week' | 'dat' | 'hour' | 'minute' | 'second' | 'microsecond' | 'millisecond' | 'dow' | 'isodow' | 'doy' ) "'" ',' val ')'
- func_length ::=
- 'length' '(' str (',' encoding_name)? ')'
- func_map_agg ::=
- 'map_agg' '(' keys ',' values ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )? ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- func_timezone ::=
- 'TIMEZONE' '(' zone'::'type ',' ( 'timestamp' | 'timestamptz' ) ')'
- func_justify_days ::=
- 'justify_days' '(' interval ')'
- func_justify_hours ::=
- 'justify_hours' '(' interval ')'
- func_justify_interval ::=
- 'justify_interval' '(' interval ')'
- join_expr ::=
- select_pred ('CROSS' | 'NATURAL' join_type?) 'JOIN' table_ref select_post
- | select_pred join_type 'JOIN' table_ref ( 'USING' '(' ( ( col_ref ) ( ( ',' col_ref ) )* ) ('AS' join_using_alias)? ')' | 'ON' expression ) select_post
- join_type ::=
- ( 'FULL' ( 'OUTER' | ) | 'LEFT' ( 'OUTER' | ) | 'RIGHT' ( 'OUTER' | ) | 'INNER' | )
- jsonb_agg ::=
- 'jsonb_agg' '(' expression ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )? ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- jsonb_object_agg ::=
- 'jsonb_object_agg' '(' keys ',' values ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )? ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- kafka_sink_connection ::=
- 'KAFKA' 'CONNECTION' connection_name
- '(' 'TOPIC' topic ( ( ',' connection_option )? ) ')'
- csr_connection ::=
- 'CONFLUENT SCHEMA REGISTRY' 'CONNECTION' connection_name '(' ( ',' connection_option )? ')'
- list_agg ::=
- 'list_agg' '(' value ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )? ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- lit_cast ::=
- type val
- op_cast ::=
- val '::' type
- prepare ::=
- 'PREPARE' name 'AS' statement
- privilege ::=
- ('SELECT' | 'INSERT' | 'UPDATE' | 'DELETE' | 'CREATE' | 'USAGE' | 'CREATEROLE' | 'CREATEDB' | 'CREATECLUSTER' | 'CREATENETWORKPOLICY')
- reassign_owned ::=
- 'REASSIGN' 'OWNED' 'BY' old_role (',' old_role)* 'TO' new_role
- reset_stmt ::=
- 'RESET' parameter_name
- revoke_privilege ::=
- 'REVOKE' ((privilege (',' privilege)*) | 'ALL' 'PRIVILEGES'? ) 'ON' ( ('TABLE'? | 'TYPE' | 'SECRET' | 'CONNECTION' | 'DATABASE' | 'SCHEMA' | 'CLUSTER') object_name (',' object_name)* | 'SYSTEM' | 'ALL' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS') 'IN' 'SCHEMA' schema_name (',' schema_name)* | 'ALL' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS' | 'SCHEMAS') 'IN' 'DATABASE' database_name (',' database_name)* | 'ALL' ('TABLES' | 'TYPES' | 'SECRETS' | 'CONNECTIONS' | 'DATABASES' | 'SCHEMAS' | 'CLUSTERS') ) 'FROM' 'GROUP'? role_name ( ',' 'GROUP'? role_name )*
- revoke_role ::=
- 'REVOKE' role_name ( ',' role_name )* 'FROM' 'GROUP'? member_name ( ',' 'GROUP'? member_name )*
- select_stmt ::=
- ( select_with_ctes | select_with_recursive_ctes | simple_select_stmt )
- simple_select_stmt ::=
- 'SELECT'
- ( 'ALL' | 'DISTINCT' ( 'ON' '(' col_ref ( ',' col_ref )* ')' )? )?
- target_elem ( ',' target_elem )*
- 'FROM' table_expr ( ',' table_expr )* join_expr?
- ( 'WHERE' expr )?
- ( 'GROUP' 'BY' col_ref ( ',' col_ref )* )?
- ( 'OPTIONS' '(' ( option '=' val ) ( ( ',' option '=' val ) )* ')' )?
- ( 'HAVING' expr )?
- ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )?
- ( 'LIMIT' expr )?
- ( 'OFFSET' integer )?
- ( ( 'UNION' | 'INTERSECT' | 'EXCEPT' ) ( 'ALL' | 'DISTINCT' )? another_select_stmt )?
- set_stmt ::=
- 'SET' ( 'SESSION' | 'LOCAL' )? name ( 'TO' | '=' ) ( value | 'DEFAULT' )
- set_transaction_isolation ::=
- 'SET' 'TRANSACTION_ISOLATION' ( 'TO' | '=' ) isolation_level
- string_agg ::=
- 'string_agg' '(' value ',' delimiter ( 'ORDER' 'BY' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? ( ',' col_ref ( 'ASC' | 'DESC' )? ( 'NULLS LAST' | 'NULLS FIRST' )? )* )? ')' ('FILTER' '(' 'WHERE' filter_clause ')')?
- table_ref ::=
- (
- table_name
- | 'LATERAL'? '(' select_stmt ')'
- | 'LATERAL'? table_func_call
- | '(' join_expr ')'
- ) ('AS'? table_alias ('(' col_alias (',' col_alias)* ')'))?
- time_unit ::=
- 'MILLENNIUM' | 'CENTURY' | 'DECADE' | 'YEAR' | 'MONTH' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' | 'MILLISECONDS' | 'MICROSECONDS'
- type_bool ::=
- ( 'TRUE' | 'FALSE' )
- type_date ::=
- 'DATE' "'" date_str ('T'? time_str)? ( ('+' | '-' ) tz_offset )? "'"
- type_float ::=
- int ( '.' frac )?
- type_interval_time_expr ::=
- ('+' | '-')? (ym_str | time_str | (int ('.' frac)? time_unit?))
- type_interval_val ::=
- 'INTERVAL' "'" time_expr+ "'" ( ( head_time_unit 'TO' )? tail_time_unit )?
- type_jsonb ::=
- "'" json_string "'" '::JSONB'
- type_map ::=
- "'" map_string "'" '::' 'MAP' '[' 'TEXT' '=>' value_type ']'
- type_list ::=
- 'LIST' '[' (element (',' element)*)? ']'
- | 'LIST' '(' query ')'
- type_numeric_dec ::=
- 'numeric' ( '(' precision ',' scale ')' )?
- type_numeric_val ::=
- int ( '.' frac )? ( ( 'e' | 'E' ) '-'? exp )?
- type_record ::=
- 'ROW' '(' expr? (',' expr)* ')'
- type_text ::=
- "'" text "'"
- type_bytea_esc ::=
- "'" "\" "binary string" "'"
- type_bytea_hex ::=
- "'" "\x" "binary string" "'"
- type_uuid ::=
- UUID "'" uuid_str "'"
- type_escape_text ::=
- ('e' | 'E') "'" escapable_text "'"
- type_time ::=
- 'TIME' "'" time_str "'"
- type_timestamp ::=
- (
- 'TIMESTAMP' ('(' precision ')')? (('WITH' | 'WITHOUT') TIME ZONE)?
- |
- 'TIMESTAMPTZ' ('(' precision ')')?
- )
- "'" date_str
- ( (' ' | 'T') time_str)? ( ('+' | '-' ) tz_offset )?
- "'"
- with_ctes ::=
- 'WITH'
- cte_binding ( ',' cte_binding )*
- select_stmt
- with_recursive_ctes ::=
- 'WITH MUTUALLY RECURSIVE'
- ( '(' ('RETURN AT' | 'ERROR AT')? 'RECURSION LIMIT' limit ')' )?
- recursive_cte_binding ( ',' recursive_cte_binding )*
- select_stmt
- cte_binding ::=
- cte_ident ( '(' col_ident ( ',' col_ident )* ')' )? 'AS' '(' select_stmt ')'
- recursive_cte_binding ::=
- cte_ident '(' col_ident col_type ( ',' col_ident col_type )* ')' 'AS' '(' select_stmt ')'
- with_options ::=
- ('WITH' '(' ( field '='? val ) ( ( ',' field '='? val ) )* ')')?
- with_options_aws ::= 'WITH' '('
- (
- static_credentials
- | 'profile_name' '=' val
- | 'role_arn' '=' val
- | 'region' '=' val
- )
- (
- static_credentials
- | 'profile_name' '=' val
- | 'role_arn' '=' val
- | 'region' '=' val
- )*
- ')'
- with_options_aws_static ::=
- 'access_key_id' '=' val ',' 'secret_access_key' '=' val ( ',' 'token' '=' val )?
- with_options_retain_history ::= ('WITH' '(' ('RETAIN HISTORY' '='? 'FOR' retention_period) ')')
- network_policy_rule::= name ( '(' rule_option (',' rule_option)* ')' )?
|