From bedaf93c0883b09a61f88dd54e914a9fa6694eb0 Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Tue, 8 Feb 2022 18:33:00 -0800 Subject: [PATCH 1/8] [docs] [infra] hugo shortcode updates --- docs/layouts/shortcodes/includeMarkdown.html | 6 ++++-- docs/layouts/shortcodes/note.html | 2 +- docs/layouts/shortcodes/support-cloud.html | 2 +- docs/layouts/shortcodes/support-general.html | 2 +- docs/layouts/shortcodes/support-platform.html | 2 +- docs/layouts/shortcodes/tip.html | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/layouts/shortcodes/includeMarkdown.html b/docs/layouts/shortcodes/includeMarkdown.html index bf1b266a256a..c0c1a90858f2 100644 --- a/docs/layouts/shortcodes/includeMarkdown.html +++ b/docs/layouts/shortcodes/includeMarkdown.html @@ -1,3 +1,5 @@ +{{ $optBlock := dict "display" "block" }} +{{ $optMarkdown := dict "markup" "markdown" }} + {{ $includePath := (print .Page.File.Dir (.Get 0)) | printf "./content/%s" }} -{{ readFile $includePath | markdownify }} -{{ .Inner | markdownify }} +{{ readFile $includePath | safeHTML }} diff --git a/docs/layouts/shortcodes/note.html b/docs/layouts/shortcodes/note.html index acab6e4ff0dc..d86fbe2f5120 100644 --- a/docs/layouts/shortcodes/note.html +++ b/docs/layouts/shortcodes/note.html @@ -1,4 +1,4 @@

{{ .Get "title" }}

-{{ printf "%s" .Inner | markdownify }} +{{ .Inner | .Page.RenderString }}
\ No newline at end of file diff --git a/docs/layouts/shortcodes/support-cloud.html b/docs/layouts/shortcodes/support-cloud.html index 03630404135b..5e8821a5395e 100644 --- a/docs/layouts/shortcodes/support-cloud.html +++ b/docs/layouts/shortcodes/support-cloud.html @@ -1 +1 @@ -Yugabyte Support \ No newline at end of file +{{ "[Yugabyte Support](https://support.yugabyte.com/hc/en-us/requests/new?ticket_form_id=360003113431)" | .Page.RenderString }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/support-general.html b/docs/layouts/shortcodes/support-general.html index 68da06cd1fa9..d5bbfed4922c 100644 --- a/docs/layouts/shortcodes/support-general.html +++ b/docs/layouts/shortcodes/support-general.html @@ -1 +1 @@ -Yugabyte Support \ No newline at end of file +{{ "[Yugabyte Support](https://support.yugabyte.com/)" | .Page.RenderString }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/support-platform.html b/docs/layouts/shortcodes/support-platform.html index 59734ecd0fde..32e83e3648df 100644 --- a/docs/layouts/shortcodes/support-platform.html +++ b/docs/layouts/shortcodes/support-platform.html @@ -1 +1 @@ -Yugabyte Support \ No newline at end of file +{{ "[Yugabyte Support](https://support.yugabyte.com/hc/en-us/requests/new?ticket_form_id=360001955891)" | .Page.RenderString }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/tip.html b/docs/layouts/shortcodes/tip.html index 60337a83e4f5..ec1660a8fb45 100644 --- a/docs/layouts/shortcodes/tip.html +++ b/docs/layouts/shortcodes/tip.html @@ -1,4 +1,4 @@

{{ .Get "title" }}

-{{ printf "%s" .Inner | markdownify }} +{{ .Inner | .Page.RenderString }}
\ No newline at end of file From fb2f8ef2d8bc1f5d3bf46a610ba9bcde726d8c9e Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Tue, 8 Feb 2022 18:39:33 -0800 Subject: [PATCH 2/8] remove leftovers in includeMarkdown --- docs/layouts/shortcodes/includeMarkdown.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/layouts/shortcodes/includeMarkdown.html b/docs/layouts/shortcodes/includeMarkdown.html index c0c1a90858f2..169d154c03d7 100644 --- a/docs/layouts/shortcodes/includeMarkdown.html +++ b/docs/layouts/shortcodes/includeMarkdown.html @@ -1,5 +1,2 @@ -{{ $optBlock := dict "display" "block" }} -{{ $optMarkdown := dict "markup" "markdown" }} - {{ $includePath := (print .Page.File.Dir (.Get 0)) | printf "./content/%s" }} {{ readFile $includePath | safeHTML }} From d30fc537f22d3f0eac7403ccbe75edb2585f08c5 Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Tue, 8 Feb 2022 18:49:14 -0800 Subject: [PATCH 3/8] add missing line back into includeMarkdown --- docs/layouts/shortcodes/includeMarkdown.html | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/layouts/shortcodes/includeMarkdown.html b/docs/layouts/shortcodes/includeMarkdown.html index 169d154c03d7..50154d1681a7 100644 --- a/docs/layouts/shortcodes/includeMarkdown.html +++ b/docs/layouts/shortcodes/includeMarkdown.html @@ -1,2 +1,3 @@ {{ $includePath := (print .Page.File.Dir (.Get 0)) | printf "./content/%s" }} {{ readFile $includePath | safeHTML }} +{{ .Inner }} From 7407ce039de2b365fa6ce17122e11d2fddfab7fe Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Tue, 8 Feb 2022 18:59:04 -0800 Subject: [PATCH 4/8] add warning, oops --- docs/layouts/shortcodes/warning.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/layouts/shortcodes/warning.html b/docs/layouts/shortcodes/warning.html index 7db486e9cf9c..01c75450fda6 100644 --- a/docs/layouts/shortcodes/warning.html +++ b/docs/layouts/shortcodes/warning.html @@ -1,4 +1,4 @@

{{ .Get "title" }}

-{{ printf "%s" .Inner | markdownify }} +{{ .Inner | .Page.RenderString }}
\ No newline at end of file From 02d7ee464bd801ccaa2ab2e0d1ed33f49ccb6791 Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Wed, 9 Feb 2022 11:49:54 -0800 Subject: [PATCH 5/8] ddl_alter_table: update link in first note --- .../api/ysql/the-sql-language/statements/ddl_alter_table.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md b/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md index 8d2216be29cc..fef06ab00fa2 100644 --- a/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md +++ b/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md @@ -46,7 +46,7 @@ Use the `ALTER TABLE` statement to change the definition of a table.

{{< note title="Table inheritance is not yet supported" >}} -YSQL in the present "latest" YugabyteDB does not yet support the "table inheritance" feature that is described in the PostgreSQL documentation . The attempt to create a table that inherits another table causes the _0A000 (feature_not_supported)_ error with the message _"INHERITS not supported yet"_. This means that the syntax that the `table_expr` rule allows doesn't not yet bring any useful meaning. +YSQL in the present "latest" YugabyteDB does not yet support the "table inheritance" feature that is described in the [PostgreSQL documentation](https://www.postgresql.org/docs/11/ddl-inherit.html). The attempt to create a table that inherits another table causes the _0A000 (feature_not_supported)_ error with the message _"INHERITS not supported yet"_. This means that the syntax that the `table_expr` rule allows doesn't not yet bring any useful meaning. It says that you can write, for example, this: @@ -86,7 +86,7 @@ Renaming a table is a non blocking metadata change operation. #### DROP [ COLUMN ] *column_name* [ RESTRICT | CASCADE ] -Drop the named column from the table. +Drop the named column from the table. - `RESTRICT` — Remove only the specified column. - `CASCADE` — Remove the specified column and any dependent objects. @@ -140,7 +140,7 @@ order by p.b, c.k; This is the result: ```output - p.v | c.v + p.v | c.v ------+-------------- dog | dog-child-a dog | dog-child-b From 0e15fdee3ba1286293a12f206bc41b5b8dfe638b Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Wed, 9 Feb 2022 18:32:46 -0800 Subject: [PATCH 6/8] update grammar and diagrams using new generator --- ...roup_by_clause,grouping_element.grammar.md | 2 +- .../having_clause.grammar.md | 2 +- ...n_group_aggregate_fn_invocation.grammar.md | 2 +- ...end,frame_bound,frame_exclusion.grammar.md | 2 +- ...rt,window_clause,fn_over_window.grammar.md | 2 +- .../window_definition.grammar.md | 2 +- .../ysql/syntax_resources/grammar_diagrams.md | 674 +++++++++--------- .../statements/abort.grammar.md | 2 +- ..._database,alter_database_option.grammar.md | 2 +- ...,grant_seq_priv,grant_role_spec.grammar.md | 2 +- ...ain_default,alter_domain_rename.grammar.md | 2 +- ...pecification,alter_group_rename.grammar.md | 2 +- ...lter_policy,alter_policy_rename.grammar.md | 2 +- ...lter_role_config,config_setting.grammar.md | 2 +- ...nce,name,alter_sequence_options.grammar.md | 2 +- ...er_column_constraint,table_expr.grammar.md | 2 +- ...lter_user_config,config_setting.grammar.md | 2 +- .../analyze,table_and_columns.grammar.md | 2 +- .../statements/begin.grammar.md | 2 +- ...rocedure_argument,argument_name.grammar.md | 2 +- .../statements/comment_on.grammar.md | 2 +- .../statements/commit.grammar.md | 2 +- .../copy_from,copy_to,copy_option.grammar.md | 2 +- ..._by_option,aggregate_old_option.grammar.md | 2 +- ..._cast_with_inout,cast_signature.grammar.md | 2 +- ...ge_type_option,base_type_option.grammar.md | 2 +- ...atabase,create_database_options.grammar.md | 2 +- ...create_domain,domain_constraint.grammar.md | 2 +- .../statements/create_extension.grammar.md | 2 +- ...tation_definition,sql_stmt_list.grammar.md | 2 +- .../create_group,role_option.grammar.md | 2 +- .../create_index,index_elem.grammar.md | 2 +- ...create_operator,operator_option.grammar.md | 2 +- ...perator_class,operator_class_as.grammar.md | 2 +- .../statements/create_policy.grammar.md | 2 +- ...tation_definition,sql_stmt_list.grammar.md | 2 +- .../create_role,role_option.grammar.md | 2 +- .../create_rule,rule_event,command.grammar.md | 2 +- ...hema_element,role_specification.grammar.md | 2 +- ...,sequence_name,sequence_options.grammar.md | 2 +- ...ers,references_clause,split_row.grammar.md | 2 +- .../statements/create_table_as.grammar.md | 2 +- .../create_trigger,event.grammar.md | 2 +- .../create_user,role_option.grammar.md | 2 +- .../statements/create_view.grammar.md | 2 +- .../statements/deallocate.grammar.md | 2 +- .../delete,returning_clause.grammar.md | 2 +- .../the-sql-language/statements/do.grammar.md | 2 +- ...p_aggregate,aggregate_signature.grammar.md | 2 +- .../statements/drop_cast.grammar.md | 2 +- .../statements/drop_database.grammar.md | 2 +- .../statements/drop_domain.grammar.md | 2 +- .../statements/drop_extension.grammar.md | 2 +- .../drop_function,argtype_decl.grammar.md | 2 +- .../statements/drop_group.grammar.md | 2 +- ...rop_operator,operator_signature.grammar.md | 2 +- .../statements/drop_operator_class.grammar.md | 2 +- .../drop_owned,role_specification.grammar.md | 2 +- .../statements/drop_policy.grammar.md | 2 +- .../drop_procedure,argtype_decl.grammar.md | 2 +- .../statements/drop_role.grammar.md | 2 +- .../statements/drop_rule.grammar.md | 2 +- .../statements/drop_sequence.grammar.md | 2 +- .../statements/drop_table.grammar.md | 2 +- .../statements/drop_trigger.grammar.md | 2 +- .../statements/drop_type.grammar.md | 2 +- .../statements/drop_user.grammar.md | 2 +- .../statements/end.grammar.md | 2 +- .../statements/execute_statement.grammar.md | 2 +- .../statements/explain,option.grammar.md | 2 +- ...type,grant_role,grant_role_spec.grammar.md | 2 +- ...conflict_target,conflict_action.grammar.md | 2 +- .../statements/lock_table,lockmode.grammar.md | 2 +- .../statements/prepare_statement.grammar.md | 2 +- ...assign_owned,role_specification.grammar.md | 2 +- .../statements/reset_stmt.grammar.md | 2 +- ..._schema,revoke_type,revoke_role.grammar.md | 2 +- .../statements/rollback.grammar.md | 2 +- .../statements/savepoint_create.grammar.md | 2 +- .../statements/savepoint_release.grammar.md | 2 +- .../statements/savepoint_rollback.grammar.md | 2 +- ...ion,grouping_element,order_expr.grammar.md | 2 +- .../statements/set.grammar.md | 2 +- .../statements/set_constraints.grammar.md | 2 +- .../statements/set_role,reset_role.grammar.md | 2 +- ...ion,reset_session_authorization.grammar.md | 2 +- ...read_write_mode,deferrable_mode.grammar.md | 2 +- .../statements/show_stmt.grammar.md | 2 +- .../statements/show_transaction.grammar.md | 2 +- .../statements/truncate.grammar.md | 2 +- ...item,column_values,column_names.grammar.md | 2 +- .../values,expression_list.grammar.md | 2 +- ..._clause,common_table_expression.grammar.md | 2 +- .../with-clause/with_clause.grammar.md | 2 +- .../statements/ddl_alter_table.md | 2 +- 95 files changed, 431 insertions(+), 431 deletions(-) diff --git a/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/group_by_clause,grouping_element.grammar.md b/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/group_by_clause,grouping_element.grammar.md index b95b1fdd8a8a..5015630c5e45 100644 --- a/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/group_by_clause,grouping_element.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/group_by_clause,grouping_element.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf group_by_clause ::= GROUP BY { grouping_element [ , ... ] } grouping_element ::= ( ) | ( expression [ , ... ] ) diff --git a/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/having_clause.grammar.md b/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/having_clause.grammar.md index 758267cb619e..564beecdfe02 100644 --- a/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/having_clause.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/having_clause.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf having_clause ::= HAVING boolean_expression ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/select_start,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation.grammar.md b/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/select_start,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation.grammar.md index 77fbd23fa81d..84f8e0f1f4f1 100644 --- a/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/select_start,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/exprs/aggregate_functions/select_start,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf select_start ::= SELECT [ ALL | DISTINCT [ ON { ( expression [ , ... ] ) } ] ] [ * | { { expression diff --git a/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/frame_clause,frame_bounds,frame_start,frame_end,frame_bound,frame_exclusion.grammar.md b/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/frame_clause,frame_bounds,frame_start,frame_end,frame_bound,frame_exclusion.grammar.md index 36bbd14d6032..579582366784 100644 --- a/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/frame_clause,frame_bounds,frame_start,frame_end,frame_bound,frame_exclusion.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/frame_clause,frame_bounds,frame_start,frame_end,frame_bound,frame_exclusion.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf frame_clause ::= [ { RANGE | ROWS | GROUPS } frame_bounds ] [ frame_exclusion ] diff --git a/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/select_start,window_clause,fn_over_window.grammar.md b/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/select_start,window_clause,fn_over_window.grammar.md index 65a2646e6123..06c2ca38aca9 100644 --- a/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/select_start,window_clause,fn_over_window.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/select_start,window_clause,fn_over_window.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf select_start ::= SELECT [ ALL | DISTINCT [ ON { ( expression [ , ... ] ) } ] ] [ * | { { expression diff --git a/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/window_definition.grammar.md b/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/window_definition.grammar.md index 73c6a3cf4270..b7ea7818275c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/window_definition.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/exprs/window_functions/window_definition.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf window_definition ::= ( [ name ] [ PARTITION BY order_expr [ , ... ] ] [ ORDER BY order_expr [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/grammar_diagrams.md b/docs/content/latest/api/ysql/syntax_resources/grammar_diagrams.md index 3eefd65924c7..856dcbf424d4 100644 --- a/docs/content/latest/api/ysql/syntax_resources/grammar_diagrams.md +++ b/docs/content/latest/api/ysql/syntax_resources/grammar_diagrams.md @@ -4,13 +4,13 @@ summary: Diagrams of the grammar rules. --- ### abort -``` +```ebnf abort ::= ABORT [ TRANSACTION | WORK ] ``` ABORTTRANSACTIONWORK ### alter_database -``` +```ebnf alter_database ::= ALTER DATABASE name [ [ WITH ] alter_database_option [ ... ] | RENAME TO name @@ -26,7 +26,7 @@ alter_database ::= ALTER DATABASE name ALTERDATABASEnameWITHalter_database_optionRENAMETOnameOWNERTOnew_ownerCURRENT_USERSESSION_USERSETconfiguration_parameterTO=valueDEFAULTSETconfiguration_parameterFROMCURRENTRESETconfiguration_parameterRESETALL ### alter_database_option -``` +```ebnf alter_database_option ::= ALLOW_CONNECTIONS allowconn | CONNECTION LIMIT connlimit | IS_TEMPLATE istemplate @@ -34,7 +34,7 @@ alter_database_option ::= ALLOW_CONNECTIONS allowconn ALLOW_CONNECTIONSallowconnCONNECTIONLIMITconnlimitIS_TEMPLATEistemplate ### alter_default_priv -``` +```ebnf alter_default_priv ::= ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } role_name [ , ... ] ] [ IN SCHEMA schema_name [ , ... ] ] @@ -43,7 +43,7 @@ alter_default_priv ::= ALTER DEFAULT PRIVILEGES ALTERDEFAULTPRIVILEGESFORROLEUSER,role_nameINSCHEMA,schema_nameabbr_grant_or_revoke ### abbr_grant_or_revoke -``` +```ebnf abbr_grant_or_revoke ::= a_grant_table | a_grant_seq | a_grant_func @@ -58,7 +58,7 @@ abbr_grant_or_revoke ::= a_grant_table a_grant_tablea_grant_seqa_grant_funca_grant_typea_grant_schemaa_revoke_tablea_revoke_seqa_revoke_funca_revoke_typea_revoke_schema ### a_grant_table -``` +```ebnf a_grant_table ::= GRANT { grant_table_priv [ , ... ] | ALL [ PRIVILEGES ] } ON TABLES TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] @@ -66,7 +66,7 @@ a_grant_table ::= GRANT { grant_table_priv [ , ... ] GRANT,grant_table_privALLPRIVILEGESONTABLESTO,grant_role_specWITHGRANTOPTION ### grant_table_priv -``` +```ebnf grant_table_priv ::= SELECT | INSERT | UPDATE @@ -78,7 +78,7 @@ grant_table_priv ::= SELECT SELECTINSERTUPDATEDELETETRUNCATEREFERENCESTRIGGER ### a_grant_seq -``` +```ebnf a_grant_seq ::= GRANT { grant_seq_priv [ , ... ] | ALL [ PRIVILEGES ] } ON SEQUENCES TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] @@ -86,13 +86,13 @@ a_grant_seq ::= GRANT { grant_seq_priv [ , ... ] GRANT,grant_seq_privALLPRIVILEGESONSEQUENCESTO,grant_role_specWITHGRANTOPTION ### grant_seq_priv -``` +```ebnf grant_seq_priv ::= USAGE | SELECT | UPDATE ``` USAGESELECTUPDATE ### a_grant_func -``` +```ebnf a_grant_func ::= GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTIONS | ROUTINES } TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] @@ -100,14 +100,14 @@ a_grant_func ::= GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON GRANTEXECUTEALLPRIVILEGESONFUNCTIONSROUTINESTO,grant_role_specWITHGRANTOPTION ### a_grant_type -``` +```ebnf a_grant_type ::= GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPES TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] ``` GRANTUSAGEALLPRIVILEGESONTYPESTO,grant_role_specWITHGRANTOPTION ### a_grant_schema -``` +```ebnf a_grant_schema ::= GRANT { USAGE | CREATE | ALL [ PRIVILEGES ] } ON SCHEMAS TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] @@ -115,7 +115,7 @@ a_grant_schema ::= GRANT { USAGE | CREATE | ALL [ PRIVILEGES ] } ON GRANTUSAGECREATEALLPRIVILEGESONSCHEMASTO,grant_role_specWITHGRANTOPTION ### a_revoke_table -``` +```ebnf a_revoke_table ::= REVOKE [ GRANT OPTION FOR ] { grant_table_priv [ , ... ] | ALL [ PRIVILEGES ] } ON TABLES FROM grant_role_spec [ , ... ] @@ -124,7 +124,7 @@ a_revoke_table ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOR,grant_table_privALLPRIVILEGESONTABLESFROM,grant_role_specCASCADERESTRICT ### a_revoke_seq -``` +```ebnf a_revoke_seq ::= REVOKE [ GRANT OPTION FOR ] { grant_seq_priv [ , ... ] | ALL [ PRIVILEGES ] } ON SEQUENCES FROM grant_role_spec [ , ... ] @@ -133,7 +133,7 @@ a_revoke_seq ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOR,grant_seq_privALLPRIVILEGESONSEQUENCESFROM,grant_role_specCASCADERESTRICT ### a_revoke_func -``` +```ebnf a_revoke_func ::= REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTIONS | ROUTINES } FROM grant_role_spec @@ -142,7 +142,7 @@ a_revoke_func ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOREXECUTEALLPRIVILEGESONFUNCTIONSROUTINESFROM,grant_role_specCASCADERESTRICT ### a_revoke_type -``` +```ebnf a_revoke_type ::= REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPES FROM grant_role_spec [ , ... ] [ CASCADE | RESTRICT ] @@ -150,7 +150,7 @@ a_revoke_type ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFORUSAGEALLPRIVILEGESONTYPESFROM,grant_role_specCASCADERESTRICT ### a_revoke_schema -``` +```ebnf a_revoke_schema ::= REVOKE [ GRANT OPTION FOR ] { USAGE | CREATE | ALL [ PRIVILEGES ] } ON SCHEMAS FROM grant_role_spec [ , ... ] @@ -159,33 +159,33 @@ a_revoke_schema ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFORUSAGECREATEALLPRIVILEGESONSCHEMASFROM,grant_role_specCASCADERESTRICT ### alter_domain_default -``` +```ebnf alter_domain_default ::= ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT } ``` ALTERDOMAINnameSETDEFAULTexpressionDROPDEFAULT ### alter_domain_rename -``` +```ebnf alter_domain_rename ::= ALTER DOMAIN name RENAME TO name ``` ALTERDOMAINnameRENAMETOname ### alter_group -``` +```ebnf alter_group ::= ALTER GROUP role_specification { ADD | DROP } USER role_name [ , ... ] ``` ALTERGROUProle_specificationADDDROPUSER,role_name ### alter_group_rename -``` +```ebnf alter_group_rename ::= ALTER GROUP role_name RENAME TO new_role_name ``` ALTERGROUProle_nameRENAMETOnew_role_name ### alter_policy -``` +```ebnf alter_policy ::= ALTER POLICY name ON table_name [ TO { role_name | PUBLIC @@ -197,21 +197,21 @@ alter_policy ::= ALTER POLICY name ON table_name ALTERPOLICYnameONtable_nameTO,role_namePUBLICCURRENT_USERSESSION_USERUSING(using_expression)WITHCHECK(check_expression) ### alter_policy_rename -``` +```ebnf alter_policy_rename ::= ALTER POLICY name ON table_name RENAME TO new_name ``` ALTERPOLICYnameONtable_nameRENAMETOnew_name ### alter_role -``` +```ebnf alter_role ::= ALTER ROLE role_specification [ [ WITH ] alter_role_option [ , ... ] ] ``` ALTERROLErole_specificationWITH,alter_role_option ### alter_role_option -``` +```ebnf alter_role_option ::= SUPERUSER | NOSUPERUSER | CREATEDB @@ -230,32 +230,32 @@ alter_role_option ::= SUPERUSER SUPERUSERNOSUPERUSERCREATEDBNOCREATEDBCREATEROLENOCREATEROLEINHERITNOINHERITLOGINNOLOGINCONNECTIONLIMITconnlimitENCRYPTEDPASSWORD password PASSWORDNULLVALIDUNTIL timestamp ### role_specification -``` +```ebnf role_specification ::= role_name | CURRENT_USER | SESSION_USER ``` role_nameCURRENT_USERSESSION_USER ### alter_role_rename -``` +```ebnf alter_role_rename ::= ALTER ROLE role_name RENAME TO new_role_name ``` ALTERROLErole_nameRENAMETOnew_role_name ### new_role_name -``` +```ebnf new_role_name ::= name ``` name ### alter_role_config -``` +```ebnf alter_role_config ::= ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] config_setting ``` ALTERROLErole_specificationALLINDATABASEdatabase_nameconfig_setting ### config_setting -``` +```ebnf config_setting ::= SET config_param { TO | = } { config_value | DEFAULT } | SET config_param FROM CURRENT @@ -265,26 +265,26 @@ config_setting ::= SET config_param { TO | = } SETconfig_paramTO=config_valueDEFAULTSETconfig_paramFROMCURRENTRESETconfig_paramRESETALL ### config_param -``` +```ebnf config_param ::= '' ``` <Text Literal> ### config_value -``` +```ebnf config_value ::= '' ``` <Text Literal> ### alter_sequence -``` +```ebnf alter_sequence ::= ALTER SEQUENCE [ IF EXISTS ] sequence_name alter_sequence_options ``` ALTERSEQUENCEIFEXISTSsequence_namealter_sequence_options ### alter_sequence_options -``` +```ebnf alter_sequence_options ::= [ AS seq_data_type ] [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] @@ -297,25 +297,25 @@ alter_sequence_options ::= [ AS seq_data_type ] ASseq_data_typeINCREMENTBYincrementMINVALUEminvalueNOMINVALUEMAXVALUEmaxvalueNOMAXVALUESTARTWITHstartRESTARTWITHrestartCACHEcacheOWNED BYtable_name.table_columnNONE ### seq_data_type -``` +```ebnf seq_data_type ::= 'smallint' | 'integer' | 'bigint' ``` smallintintegerbigint ### restart -``` +```ebnf restart ::= '' ``` <Integer Literal> ### alter_table -``` +```ebnf alter_table ::= ALTER TABLE table_expr alter_table_action [ , ... ] ``` ALTERTABLEtable_expr,alter_table_action ### alter_table_action -``` +```ebnf alter_table_action ::= ADD [ COLUMN ] column_name data_type [ alter_column_constraint [ ... ] ] | RENAME TO table_name @@ -333,7 +333,7 @@ alter_table_action ::= ADD [ COLUMN ] column_name data_type ADDCOLUMNcolumn_namedata_typealter_column_constraintRENAMETOtable_nameDROPCOLUMNcolumn_nameRESTRICTCASCADEADDalter_table_constraintDROPCONSTRAINTconstraint_nameRESTRICTCASCADERENAMECOLUMNcolumn_nameTOcolumn_nameDISABLEROWLEVELSECURITYENABLEROWLEVELSECURITYFORCEROWLEVELSECURITYNOFORCEROWLEVELSECURITY ### alter_table_constraint -``` +```ebnf alter_table_constraint ::= [ CONSTRAINT constraint_name ] { CHECK ( expression ) | UNIQUE ( column_names ) @@ -347,7 +347,7 @@ alter_table_constraint ::= [ CONSTRAINT constraint_name ] CONSTRAINTconstraint_nameCHECK(expression)UNIQUE(column_names)index_parametersFOREIGNKEY(column_names)references_clauseDEFERRABLENOTDEFERRABLEINITIALLYDEFERREDINITIALLYIMMEDIATE ### alter_column_constraint -``` +```ebnf alter_column_constraint ::= [ CONSTRAINT constraint_name ] { NOT NULL | NULL @@ -362,64 +362,64 @@ alter_column_constraint ::= [ CONSTRAINT constraint_name ] CONSTRAINTconstraint_nameNOTNULLNULLCHECK(expression)DEFAULTexpressionUNIQUEindex_parametersreferences_clauseDEFERRABLENOTDEFERRABLEINITIALLYDEFERREDINITIALLYIMMEDIATE ### alter_user -``` +```ebnf alter_user ::= ALTER USER role_specification [ [ WITH ] alter_role_option [ , ... ] ] ``` ALTERUSERrole_specificationWITH,alter_role_option ### alter_user_rename -``` +```ebnf alter_user_rename ::= ALTER USER role_name RENAME TO new_role_name ``` ALTERUSERrole_nameRENAMETOnew_role_name ### alter_user_config -``` +```ebnf alter_user_config ::= ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] config_setting ``` ALTERUSERrole_specificationALLINDATABASEdatabase_nameconfig_setting ### analyze -``` +```ebnf analyze ::= ANALYZE [ VERBOSE ] [ table_and_columns [ , ... ] ] ``` ANALYZEVERBOSE,table_and_columns ### table_and_columns -``` +```ebnf table_and_columns ::= table_name [ ( column_name [ , ... ] ) ] ``` table_name(,column_name) ### begin -``` +```ebnf begin ::= BEGIN [ TRANSACTION | WORK ] [ transaction_mode [ ... ] ] ``` BEGINTRANSACTIONWORKtransaction_mode ### call_procedure -``` +```ebnf call_procedure ::= CALL qualified_name ( [ procedure_argument [ , ... ] ] ) ``` CALLqualified_name(,procedure_argument) ### procedure_argument -``` +```ebnf procedure_argument ::= [ argument_name => ] expression ``` argument_name=>expression ### argument_name -``` +```ebnf argument_name ::= '' ``` <Text Literal> ### comment_on -``` +```ebnf comment_on ::= COMMENT ON { ACCESS METHOD access_method_name | AGGREGATE aggregate_name ( aggregate_signature ) @@ -470,13 +470,13 @@ comment_on ::= COMMENT ON COMMENTONACCESSMETHODaccess_method_nameAGGREGATEaggregate_name(aggregate_signature)CAST(source_typeAStarget_type)COLLATIONobject_nameCOLUMNrelation_name.column_nameCONSTRAINTconstraint_nameONtable_nameCONSTRAINTconstraint_nameONDOMAINdomain_nameCONVERSIONobject_nameDATABASEobject_nameDOMAINobject_nameEXTENSIONobject_nameEVENTTRIGGERobject_nameFOREIGNDATAWRAPPERobject_nameFOREIGNTABLEobject_nameFUNCTIONfunction_name(function_signature)INDEXobject_nameLARGEOBJECTlarge_object_oidMATERIALIZEDVIEWobject_nameOPERATORoperator_name(operator_signature)OPERATORCLASSobject_nameUSINGindex_methodOPERATORFAMILYobject_nameUSINGindex_methodPOLICYpolicy_nameONtable_namePROCEDURALLANGUAGEobject_namePROCEDUREprocedure_name(argmodeargname,argtype)PUBLICATIONobject_nameROLEobject_nameROUTINEroutine_name(argmodeargname,argtype)RULErule_nameONtable_nameSCHEMAobject_nameSEQUENCEobject_nameSERVERobject_nameSTATISTICSobject_nameSUBSCRIPTIONobject_nameTABLEobject_nameTABLESPACEobject_nameTEXTSEARCHCONFIGURATIONobject_nameTEXTSEARCHDICTIONARYobject_nameTEXTSEARCHPARSERobject_nameTEXTSEARCHTEMPLATEobject_nameTRANSFORMFORtype_nameLANGUAGElang_nameTRIGGERtrigger_nameONtable_nameTYPEobject_nameVIEWobject_nameIS<Text Literal>NULL ### commit -``` +```ebnf commit ::= COMMIT [ TRANSACTION | WORK ] ``` COMMITTRANSACTIONWORK ### copy_from -``` +```ebnf copy_from ::= COPY table_name [ ( column_name [ , ... ] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [ , ... ] ) ] @@ -484,7 +484,7 @@ copy_from ::= COPY table_name [ ( column_name [ , ... ] ) ] FROM COPYtable_name(,column_name)FROMfilenamePROGRAMcommandSTDINWITH(,option) ### copy_to -``` +```ebnf copy_to ::= COPY { table_name [ ( column_names ) ] | ( query ) } TO { 'filename' | PROGRAM 'command' | STDOUT } [ [ WITH ] ( option [ , ... ] ) ] @@ -492,7 +492,7 @@ copy_to ::= COPY { table_name [ ( column_names ) ] | ( query ) } TO COPYtable_name(column_names)(query)TOfilenamePROGRAMcommandSTDOUTWITH(,option) ### copy_option -``` +```ebnf copy_option ::= FORMAT format_name | OIDS [ boolean ] | FREEZE [ boolean ] @@ -510,7 +510,7 @@ copy_option ::= FORMAT format_name FORMATformat_nameOIDSbooleanFREEZEbooleanDELIMITERdelimiter_characterNULLnull_stringHEADERbooleanQUOTEquote_characterESCAPEescape_characterFORCE_QUOTE(column_names)*FORCE_NOT_NULL(column_names)FORCE_NULL(column_names)ENCODINGencoding_nameROWS_PER_TRANSACTIONinteger ### create_aggregate -``` +```ebnf create_aggregate ::= create_aggregate_normal | create_aggregate_order_by | create_aggregate_old @@ -518,7 +518,7 @@ create_aggregate ::= create_aggregate_normal create_aggregate_normalcreate_aggregate_order_bycreate_aggregate_old ### create_aggregate_normal -``` +```ebnf create_aggregate_normal ::= CREATE AGGREGATE aggregate_name ( { aggregate_arg [ , ... ] | * } ) ( SFUNC = sfunc , STYPE = state_data_type @@ -527,7 +527,7 @@ create_aggregate_normal ::= CREATE AGGREGATE aggregate_name ( CREATEAGGREGATEaggregate_name(,aggregate_arg*)(SFUNC=sfunc,STYPE=state_data_type,aggregate_normal_option) ### create_aggregate_order_by -``` +```ebnf create_aggregate_order_by ::= CREATE AGGREGATE aggregate_name ( [ aggregate_arg [ , ... ] ] ORDER BY aggregate_arg [ , ... ] ) ( SFUNC = @@ -538,7 +538,7 @@ create_aggregate_order_by ::= CREATE AGGREGATE aggregate_name ( CREATEAGGREGATEaggregate_name(,aggregate_argORDERBY,aggregate_arg)(SFUNC=sfunc,STYPE=state_data_type,aggregate_order_by_option) ### create_aggregate_old -``` +```ebnf create_aggregate_old ::= CREATE AGGREGATE aggregate_name ( BASETYPE = base_type , SFUNC = sfunc , STYPE = state_data_type @@ -547,13 +547,13 @@ create_aggregate_old ::= CREATE AGGREGATE aggregate_name ( BASETYPE = CREATEAGGREGATEaggregate_name(BASETYPE=base_type,SFUNC=sfunc,STYPE=state_data_type,aggregate_old_option) ### aggregate_arg -``` +```ebnf aggregate_arg ::= [ aggregate_argmode ] [ argname ] argtype ``` aggregate_argmodeargnameargtype ### aggregate_normal_option -``` +```ebnf aggregate_normal_option ::= SSPACE = state_data_size | FINALFUNC = ffunc | FINALFUNC_EXTRA @@ -579,7 +579,7 @@ aggregate_normal_option ::= SSPACE = state_data_size SSPACE=state_data_sizeFINALFUNC=ffuncFINALFUNC_EXTRAFINALFUNC_MODIFY=READ_ONLYSHAREABLEREAD_WRITECOMBINEFUNC=combinefuncSERIALFUNC=serialfuncDESERIALFUNC=deserialfuncINITCOND=initial_conditionMSFUNC=msfuncMINVFUNC=minvfuncMSTYPE=mstate_data_typeMSSPACE=mstate_data_sizeMFINALFUNC=mffuncMFINALFUNC_EXTRAMFINALFUNC_MODIFY=READ_ONLYSHAREABLEREAD_WRITEMINITCOND=minitial_conditionSORTOP=sort_operatorPARALLEL=SAFERESTRICTEDUNSAFE ### aggregate_order_by_option -``` +```ebnf aggregate_order_by_option ::= SSPACE = state_data_size | FINALFUNC = ffunc | FINALFUNC_EXTRA @@ -593,7 +593,7 @@ aggregate_order_by_option ::= SSPACE = state_data_size SSPACE=state_data_sizeFINALFUNC=ffuncFINALFUNC_EXTRAFINALFUNC_MODIFY=READ_ONLYSHAREABLEREAD_WRITEINITCOND=initial_conditionPARALLEL=SAFERESTRICTEDUNSAFEHYPOTHETICAL ### aggregate_old_option -``` +```ebnf aggregate_old_option ::= SSPACE = state_data_size | FINALFUNC = ffunc | FINALFUNC_EXTRA @@ -617,7 +617,7 @@ aggregate_old_option ::= SSPACE = state_data_size SSPACE=state_data_sizeFINALFUNC=ffuncFINALFUNC_EXTRAFINALFUNC_MODIFY=READ_ONLYSHAREABLEREAD_WRITECOMBINEFUNC=combinefuncSERIALFUNC=serialfuncDESERIALFUNC=deserialfuncINITCOND=initial_conditionMSFUNC=msfuncMINVFUNC=minvfuncMSTYPE=mstate_data_typeMSSPACE=mstate_data_sizeMFINALFUNC=mffuncMFINALFUNC_EXTRAMFINALFUNC_MODIFY=READ_ONLYSHAREABLEREAD_WRITEMINITCOND=minitial_conditionSORTOP=sort_operator ### create_cast -``` +```ebnf create_cast ::= create_cast_with_function | create_cast_without_function | create_cast_with_inout @@ -625,7 +625,7 @@ create_cast ::= create_cast_with_function create_cast_with_functioncreate_cast_without_functioncreate_cast_with_inout ### create_cast_with_function -``` +```ebnf create_cast_with_function ::= CREATE CAST ( cast_signature ) WITH FUNCTION function_name [ ( function_signature ) ] @@ -634,7 +634,7 @@ create_cast_with_function ::= CREATE CAST ( cast_signature ) WITH CREATECAST(cast_signature)WITHFUNCTIONfunction_name(function_signature)ASASSIGNMENTASIMPLICIT ### create_cast_without_function -``` +```ebnf create_cast_without_function ::= CREATE CAST ( cast_signature ) WITHOUT FUNCTION [ AS ASSIGNMENT | AS IMPLICIT ] @@ -642,26 +642,26 @@ create_cast_without_function ::= CREATE CAST ( cast_signature ) CREATECAST(cast_signature)WITHOUTFUNCTIONASASSIGNMENTASIMPLICIT ### create_cast_with_inout -``` +```ebnf create_cast_with_inout ::= CREATE CAST ( cast_signature ) WITH INOUT [ AS ASSIGNMENT | AS IMPLICIT ] ``` CREATECAST(cast_signature)WITHINOUTASASSIGNMENTASIMPLICIT ### cast_signature -``` +```ebnf cast_signature ::= source_type AS target_type ``` source_typeAStarget_type ### create_database -``` +```ebnf create_database ::= CREATE DATABASE name [ create_database_options ] ``` CREATEDATABASEnamecreate_database_options ### create_database_options -``` +```ebnf create_database_options ::= [ WITH ] [ OWNER [ = ] user_name ] [ TEMPLATE [ = ] template ] [ ENCODING [ = ] encoding ] @@ -675,7 +675,7 @@ create_database_options ::= [ WITH ] [ OWNER [ = ] user_name ] WITHOWNER=user_nameTEMPLATE=templateENCODING=encodingLC_COLLATE=lc_collateLC_CTYPE=lc_ctypeALLOW_CONNECTIONS=allowconnCONNECTIONLIMIT=connlimitIS_TEMPLATE=istemplateCOLOCATED=truefalse ### create_domain -``` +```ebnf create_domain ::= CREATE DOMAIN name [ AS ] data_type [ DEFAULT expression ] [ [ domain_constraint [ ... ] ] ] @@ -683,14 +683,14 @@ create_domain ::= CREATE DOMAIN name [ AS ] data_type CREATEDOMAINnameASdata_typeDEFAULTexpressiondomain_constraint ### domain_constraint -``` +```ebnf domain_constraint ::= [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression ) } ``` CONSTRAINTconstraint_nameNOTNULLNULLCHECK(expression) ### create_extension -``` +```ebnf create_extension ::= CREATE EXTENSION [ IF NOT EXISTS ] extension_name [ WITH ] [ SCHEMA schema_name ] [ VERSION version ] [ CASCADE ] @@ -698,7 +698,7 @@ create_extension ::= CREATE EXTENSION [ IF NOT EXISTS ] extension_name CREATEEXTENSIONIFNOTEXISTSextension_nameWITHSCHEMAschema_nameVERSIONversionCASCADE ### create_function -``` +```ebnf create_function ::= CREATE [ OR REPLACE ] FUNCTION function_name ( [ arg_decl [ , ... ] ] ) [ RETURNS data_type @@ -708,14 +708,14 @@ create_function ::= CREATE [ OR REPLACE ] FUNCTION function_name ( CREATEORREPLACEFUNCTIONfunction_name(,arg_decl)RETURNSdata_typeRETURNSTABLE(,column_namedata_type)function_attribute ### arg_decl -``` +```ebnf arg_decl ::= [ argmode ] [ argname ] argtype [ { DEFAULT | = } expression ] ``` argmodeargnameargtypeDEFAULT=expression ### function_attribute -``` +```ebnf function_attribute ::= WINDOW | IMMUTABLE | STABLE @@ -737,19 +737,19 @@ function_attribute ::= WINDOW WINDOWIMMUTABLESTABLEVOLATILENOTLEAKPROOFCALLEDONNULLINPUTRETURNSNULLONNULLINPUTSTRICTPARALLELUNSAFERESTRICTEDSAFECOSTint_literalROWSint_literalTRANSFORM,FORTYPEtype_nameSETconfiguration_parameterTOvalue=valueFROMCURRENTEXTERNALSECURITYsecurity_kindLANGUAGElang_nameASimplementation_definition ### security_kind -``` +```ebnf security_kind ::= INVOKER | DEFINER ``` INVOKERDEFINER ### lang_name -``` +```ebnf lang_name ::= SQL | PLPGSQL | C ``` SQLPLPGSQLC ### implementation_definition -``` +```ebnf implementation_definition ::= ' sql_stmt_list ' | ' plpgsql_block_stmt ' | ' obj_file ' [ , ' link_symbol ' ] @@ -757,20 +757,20 @@ implementation_definition ::= ' sql_stmt_list ' 'sql_stmt_list''plpgsql_block_stmt''obj_file','link_symbol' ### sql_stmt_list -``` +```ebnf sql_stmt_list ::= sql_stmt ; [ sql_stmt ... ] ``` sql_stmt;sql_stmt; ### create_group -``` +```ebnf create_group ::= CREATE GROUP role_name [ [ WITH ] role_option [ , ... ] ] ``` CREATEGROUProle_nameWITH,role_option ### create_index -``` +```ebnf create_index ::= CREATE [ UNIQUE ] INDEX [ NONCONCURRENTLY ] [ [ IF NOT EXISTS ] name ] ON [ ONLY ] table_name [ USING access_method_name ] ( index_elem [ , ... ] ) @@ -780,7 +780,7 @@ create_index ::= CREATE [ UNIQUE ] INDEX [ NONCONCURRENTLY ] CREATEUNIQUEINDEXNONCONCURRENTLYIFNOTEXISTSnameONONLYtable_nameUSINGaccess_method_name(,index_elem)INCLUDE(,column_name)WHEREboolean_expression ### index_elem -``` +```ebnf index_elem ::= { column_name | ( expression ) } [ operator_class_name ] [ HASH | ASC | DESC ] [ NULLS { FIRST | LAST } ] @@ -788,7 +788,7 @@ index_elem ::= { column_name | ( expression ) } column_name(expression)operator_class_nameHASHASCDESCNULLSFIRSTLAST ### create_operator -``` +```ebnf create_operator ::= CREATE OPERATOR operator_name ( { FUNCTION = function_name | PROCEDURE = procedure_name } @@ -797,7 +797,7 @@ create_operator ::= CREATE OPERATOR operator_name ( CREATEOPERATORoperator_name(FUNCTION=function_namePROCEDURE=procedure_name,operator_option) ### operator_option -``` +```ebnf operator_option ::= LEFTARG = left_type | RIGHTARG = right_type | COMMUTATOR = com_op @@ -810,7 +810,7 @@ operator_option ::= LEFTARG = left_type LEFTARG=left_typeRIGHTARG=right_typeCOMMUTATOR=com_opNEGATOR=neg_opRESTRICT=res_procJOIN=join_procHASHESMERGES ### create_operator_class -``` +```ebnf create_operator_class ::= CREATE OPERATOR CLASS operator_class_name [ DEFAULT ] FOR TYPE data_type USING index_method AS operator_class_as [ , ... ] @@ -818,7 +818,7 @@ create_operator_class ::= CREATE OPERATOR CLASS operator_class_name CREATEOPERATORCLASSoperator_class_nameDEFAULTFORTYPEdata_typeUSINGindex_methodAS,operator_class_as ### operator_class_as -``` +```ebnf operator_class_as ::= OPERATOR strategy_number operator_name [ ( operator_signature ) ] [ FOR SEARCH ] | FUNCTION support_number @@ -829,7 +829,7 @@ operator_class_as ::= OPERATOR strategy_number operator_name OPERATORstrategy_numberoperator_name(operator_signature)FORSEARCHFUNCTIONsupport_number(,op_type)function_name(function_signature)STORAGEstorage_type ### create_policy -``` +```ebnf create_policy ::= CREATE POLICY name ON table_name [ AS { PERMISSIVE | RESTRICTIVE } ] [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ] @@ -843,7 +843,7 @@ create_policy ::= CREATE POLICY name ON table_name CREATEPOLICYnameONtable_nameASPERMISSIVERESTRICTIVEFORALLSELECTINSERTUPDATEDELETETO,role_namePUBLICCURRENT_USERSESSION_USERUSING(using_expression)WITHCHECK(check_expression) ### create_procedure -``` +```ebnf create_procedure ::= CREATE [ OR REPLACE ] PROCEDURE name ( [ arg_decl [ , ... ] ] ) procedure_attribute [ ... ] @@ -851,7 +851,7 @@ create_procedure ::= CREATE [ OR REPLACE ] PROCEDURE name ( CREATEORREPLACEPROCEDUREname(,arg_decl)procedure_attribute ### procedure_attribute -``` +```ebnf procedure_attribute ::= TRANSFORM { FOR TYPE type_name } [ , ... ] | SET configuration_parameter { TO value | = value | FROM CURRENT } @@ -862,7 +862,7 @@ procedure_attribute ::= TRANSFORM { FOR TYPE type_name } [ , ... ] TRANSFORM,FORTYPEtype_nameSETconfiguration_parameterTOvalue=valueFROMCURRENTEXTERNALSECURITYsecurity_kindLANGUAGElang_nameASimplementation_definition ### create_rule -``` +```ebnf create_rule ::= CREATE [ OR REPLACE ] RULE rule_name AS ON rule_event TO table_name [ WHERE boolean_expression ] DO [ ALSO | INSTEAD ] { NOTHING @@ -872,26 +872,26 @@ create_rule ::= CREATE [ OR REPLACE ] RULE rule_name AS ON rule_event CREATEORREPLACERULErule_nameASONrule_eventTOtable_nameWHEREboolean_expressionDOALSOINSTEADNOTHINGcommand(;command) ### rule_event -``` +```ebnf rule_event ::= SELECT | INSERT | UPDATE | DELETE ``` SELECTINSERTUPDATEDELETE ### command -``` +```ebnf command ::= SELECT | INSERT | UPDATE | DELETE | NOTIFY ``` SELECTINSERTUPDATEDELETENOTIFY ### create_role -``` +```ebnf create_role ::= CREATE ROLE role_name [ [ WITH ] role_option [ , ... ] ] ``` CREATEROLErole_nameWITH,role_option ### role_option -``` +```ebnf role_option ::= SUPERUSER | NOSUPERUSER | CREATEDB @@ -916,37 +916,37 @@ role_option ::= SUPERUSER SUPERUSERNOSUPERUSERCREATEDBNOCREATEDBCREATEROLENOCREATEROLEINHERITNOINHERITLOGINNOLOGINCONNECTIONLIMITconnlimitENCRYPTEDPASSWORD password PASSWORDNULLVALIDUNTIL timestamp INROLE,role_nameINGROUP,role_nameROLE,role_nameADMIN,role_nameUSER,role_nameSYSIDuid ### role_name -``` +```ebnf role_name ::= name ``` name ### password -``` +```ebnf password ::= '' ``` <Text Literal> ### timestamp -``` +```ebnf timestamp ::= '' ``` <DateTime Literal> ### connlimit -``` +```ebnf connlimit ::= '' ``` <Integer Literal> ### uid -``` +```ebnf uid ::= '' ``` <Text Literal> ### create_schema_name -``` +```ebnf create_schema_name ::= CREATE SCHEMA [ IF NOT EXISTS ] schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ] @@ -954,33 +954,33 @@ create_schema_name ::= CREATE SCHEMA [ IF NOT EXISTS ] schema_name CREATESCHEMAIFNOTEXISTSschema_nameAUTHORIZATIONrole_specificationschema_element ### create_schema_role -``` +```ebnf create_schema_role ::= CREATE SCHEMA [ IF NOT EXISTS ] AUTHORIZATION role_specification [ schema_element [ ... ] ] ``` CREATESCHEMAIFNOTEXISTSAUTHORIZATIONrole_specificationschema_element ### schema_element -``` +```ebnf schema_element ::= '' ``` <YSQL DDL statement> ### create_sequence -``` +```ebnf create_sequence ::= CREATE SEQUENCE [ IF NOT EXISTS ] sequence_name sequence_options ``` CREATESEQUENCEIFNOTEXISTSsequence_namesequence_options ### sequence_name -``` +```ebnf sequence_name ::= qualified_name ``` qualified_name ### sequence_options -``` +```ebnf sequence_options ::= [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] @@ -990,37 +990,37 @@ sequence_options ::= [ INCREMENT [ BY ] increment ] INCREMENTBYincrementMINVALUEminvalueNOMINVALUEMAXVALUEmaxvalueNOMAXVALUESTARTWITHstartCACHEcacheNOCYCLE ### increment -``` +```ebnf increment ::= '' ``` <Integer Literal> ### minvalue -``` +```ebnf minvalue ::= '' ``` <Integer Literal> ### maxvalue -``` +```ebnf maxvalue ::= '' ``` <Integer Literal> ### start -``` +```ebnf start ::= '' ``` <Integer Literal> ### cache -``` +```ebnf cache ::= '' ``` <Integer Literal> ### create_table -``` +```ebnf create_table ::= CREATE [ TEMPORARY | TEMP ] TABLE [ IF NOT EXISTS ] table_name ( [ table_elem [ , ... ] ] ) [ WITH ( { COLOCATED = { 'true' | 'false' } @@ -1032,20 +1032,20 @@ create_table ::= CREATE [ TEMPORARY | TEMP ] TABLE [ IF NOT EXISTS ] CREATETEMPORARYTEMPTABLEIFNOTEXISTStable_name(,table_elem)WITH(COLOCATED=truefalsestorage_parameters)WITHOUTOIDSSPLITINTOintegerTABLETSATVALUES(,split_row) ### split_row -``` +```ebnf split_row ::= ( column_value [ , ... ] ) ``` (,column_value) ### table_elem -``` +```ebnf table_elem ::= column_name data_type [ column_constraint [ ... ] ] | table_constraint ``` column_namedata_typecolumn_constrainttable_constraint ### column_constraint -``` +```ebnf column_constraint ::= [ CONSTRAINT constraint_name ] { NOT NULL | NULL @@ -1060,7 +1060,7 @@ column_constraint ::= [ CONSTRAINT constraint_name ] CONSTRAINTconstraint_nameNOTNULLNULLCHECK(expression)DEFAULTexpressionUNIQUEindex_parametersPRIMARYKEYreferences_clauseDEFERRABLENOTDEFERRABLEINITIALLYDEFERREDINITIALLYIMMEDIATE ### table_constraint -``` +```ebnf table_constraint ::= [ CONSTRAINT constraint_name ] { CHECK ( expression ) | UNIQUE ( column_names ) index_parameters @@ -1073,25 +1073,25 @@ table_constraint ::= [ CONSTRAINT constraint_name ] CONSTRAINTconstraint_nameCHECK(expression)UNIQUE(column_names)index_parametersPRIMARYKEY(key_columns)FOREIGNKEY(column_names)references_clauseDEFERRABLENOTDEFERRABLEINITIALLYDEFERREDINITIALLYIMMEDIATE ### key_columns -``` +```ebnf key_columns ::= hash_columns [ , range_columns ] | range_columns ``` hash_columns,range_columnsrange_columns ### hash_columns -``` +```ebnf hash_columns ::= column_name [ HASH ] | ( column_name [ , ... ] ) HASH ``` column_nameHASH(,column_name)HASH ### range_columns -``` +```ebnf range_columns ::= { column_name { ASC | DESC } } [ , ... ] ``` ,column_nameASCDESC ### references_clause -``` +```ebnf references_clause ::= REFERENCES table_name [ column_name [ , ... ] ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE key_action ] @@ -1100,32 +1100,32 @@ references_clause ::= REFERENCES table_name [ column_name [ , ... ] ] REFERENCEStable_name,column_nameMATCHFULLMATCHPARTIALMATCHSIMPLEONDELETEkey_actionONUPDATEkey_action ### key_action -``` +```ebnf key_action ::= NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT ``` NOACTIONRESTRICTCASCADESETNULLSETDEFAULT ### storage_parameters -``` +```ebnf storage_parameters ::= storage_parameter [ , ... ] ``` ,storage_parameter ### storage_parameter -``` +```ebnf storage_parameter ::= param_name [ = param_value ] ``` param_name=param_value ### index_parameters -``` +```ebnf index_parameters ::= [ INCLUDE ( column_names ) ] [ WITH ( storage_parameters ) ] ``` INCLUDE(column_names)WITH(storage_parameters) ### create_table_as -``` +```ebnf create_table_as ::= CREATE TABLE [ IF NOT EXISTS ] table_name [ ( column_name [ , ... ] ) ] AS query [ WITH [ NO ] DATA ] @@ -1133,7 +1133,7 @@ create_table_as ::= CREATE TABLE [ IF NOT EXISTS ] table_name CREATETABLEIFNOTEXISTStable_name(,column_name)ASqueryWITHNODATA ### create_trigger -``` +```ebnf create_trigger ::= CREATE TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FROM table_name ] [ NOT DEFERRABLE ] @@ -1145,7 +1145,7 @@ create_trigger ::= CREATE TRIGGER name { BEFORE | AFTER | INSTEAD OF } CREATETRIGGERnameBEFOREAFTERINSTEADOFOReventONtable_nameFROMtable_nameNOTDEFERRABLEFOREACHROWSTATEMENTWHEN(boolean_expression)EXECUTEFUNCTIONPROCEDUREfunction_name(function_arguments) ### event -``` +```ebnf event ::= INSERT | UPDATE [ OF column_name [ , ... ] ] | DELETE @@ -1154,28 +1154,28 @@ event ::= INSERT INSERTUPDATEOF,column_nameDELETETRUNCATE ### create_composite_type -``` +```ebnf create_composite_type ::= CREATE TYPE type_name AS ( [ composite_type_elem [ , ... ] ] ) ``` CREATETYPEtype_nameAS(,composite_type_elem) ### create_enum_type -``` +```ebnf create_enum_type ::= CREATE TYPE type_name AS ENUM ( [ label [ , ... ] ] ) ``` CREATETYPEtype_nameASENUM(,label) ### create_range_type -``` +```ebnf create_range_type ::= CREATE TYPE type_name AS RANGE ( SUBTYPE = subtype [ , range_type_option [ ... ] ] ) ``` CREATETYPEtype_nameASRANGE(SUBTYPE=subtype,range_type_option) ### create_base_type -``` +```ebnf create_base_type ::= CREATE TYPE type_name ( INPUT = input_function , OUTPUT = output_function [ , base_type_option [ ... ] ] ) @@ -1183,19 +1183,19 @@ create_base_type ::= CREATE TYPE type_name ( INPUT = input_function , CREATETYPEtype_name(INPUT=input_function,OUTPUT=output_function,base_type_option) ### create_shell_type -``` +```ebnf create_shell_type ::= CREATE TYPE type_name ``` CREATETYPEtype_name ### composite_type_elem -``` +```ebnf composite_type_elem ::= attribute_name data_type [ COLLATE collation ] ``` attribute_namedata_typeCOLLATEcollation ### range_type_option -``` +```ebnf range_type_option ::= SUBTYPE_OPCLASS = subtype_operator_class | COLLATION = collation | CANONICAL = canonical_function @@ -1204,7 +1204,7 @@ range_type_option ::= SUBTYPE_OPCLASS = subtype_operator_class SUBTYPE_OPCLASS=subtype_operator_classCOLLATION=collationCANONICAL=canonical_functionSUBTYPE_DIFF=subtype_diff_function ### base_type_option -``` +```ebnf base_type_option ::= RECEIVE = receive_function | SEND = send_function | TYPMOD_IN = type_modifier_input_function @@ -1224,27 +1224,27 @@ base_type_option ::= RECEIVE = receive_function RECEIVE=receive_functionSEND=send_functionTYPMOD_IN=type_modifier_input_functionTYPMOD_OUT=type_modifier_output_functionINTERNALLENGTH=internallengthVARIABLEPASSEDBYVALUEALIGNMENT=alignmentSTORAGE=storageLIKE=like_typeCATEGORY=categoryPREFERRED=preferredDEFAULT=defaultELEMENT=elementDELIMITER=delimiterCOLLATABLE=collatable ### create_user -``` +```ebnf create_user ::= CREATE USER role_name [ [ WITH ] role_option [ , ... ] ] ``` CREATEUSERrole_nameWITH,role_option ### create_view -``` +```ebnf create_view ::= CREATE [ OR REPLACE ] VIEW qualified_name [ ( name [ , ... ] ) ] AS select ``` CREATEORREPLACEVIEWqualified_name(,name)ASselect ### deallocate -``` +```ebnf deallocate ::= DEALLOCATE [ PREPARE ] { name | ALL } ``` DEALLOCATEPREPAREnameALL ### delete -``` +```ebnf delete ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] DELETE FROM table_expr [ [ AS ] alias ] [ WHERE boolean_expression | WHERE CURRENT OF cursor_name ] @@ -1253,7 +1253,7 @@ delete ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] WITHRECURSIVE,common_table_expressionDELETEFROMtable_exprASaliasWHEREboolean_expressionWHERECURRENTOFcursor_namereturning_clause ### returning_clause -``` +```ebnf returning_clause ::= RETURNING { * | { output_expression [ [ AS ] output_name ] } [ , ... ] } @@ -1261,19 +1261,19 @@ returning_clause ::= RETURNING { * | { output_expression RETURNING*,output_expressionASoutput_name ### returning_expression -``` +```ebnf returning_expression ::= output_expression [ [ AS ] output_name ] ``` output_expressionASoutput_name ### do -``` +```ebnf do ::= DO [ LANGUAGE lang_name ] code ``` DOLANGUAGElang_namecode ### drop_aggregate -``` +```ebnf drop_aggregate ::= DROP AGGREGATE [ IF EXISTS ] { aggregate_name ( aggregate_signature ) } [ , ... ] [ CASCADE | RESTRICT ] @@ -1281,7 +1281,7 @@ drop_aggregate ::= DROP AGGREGATE [ IF EXISTS ] DROPAGGREGATEIFEXISTS,aggregate_name(aggregate_signature)CASCADERESTRICT ### aggregate_signature -``` +```ebnf aggregate_signature ::= * | aggregate_arg [ , ... ] | [ aggregate_arg [ , ... ] ] ORDER BY aggregate_arg [ , ... ] @@ -1289,34 +1289,34 @@ aggregate_signature ::= * | aggregate_arg [ , ... ] *,aggregate_arg,aggregate_argORDERBY,aggregate_arg ### drop_cast -``` +```ebnf drop_cast ::= DROP CAST [ IF EXISTS ] ( cast_signature ) [ CASCADE | RESTRICT ] ``` DROPCASTIFEXISTS(cast_signature)CASCADERESTRICT ### drop_database -``` +```ebnf drop_database ::= DROP DATABASE [ IF EXISTS ] database_name ``` DROPDATABASEIFEXISTSdatabase_name ### drop_domain -``` +```ebnf drop_domain ::= DROP DOMAIN [ IF EXISTS ] name [ , ... ] [ CASCADE | RESTRICT ] ``` DROPDOMAINIFEXISTS,nameCASCADERESTRICT ### drop_extension -``` +```ebnf drop_extension ::= DROP EXTENSION [ IF EXISTS ] extension_name [ , ... ] [ CASCADE | RESTRICT ] ``` DROPEXTENSIONIFEXISTS,extension_nameCASCADERESTRICT ### drop_function -``` +```ebnf drop_function ::= DROP { FUNCTION | PROCEDURE } [ IF EXISTS ] { name [ ( [ argtype_decl [ , ... ] ] ) ] } [ , ... ] [ CASCADE | RESTRICT ] @@ -1324,19 +1324,19 @@ drop_function ::= DROP { FUNCTION | PROCEDURE } [ IF EXISTS ] DROPFUNCTIONPROCEDUREIFEXISTS,name(,argtype_decl)CASCADERESTRICT ### argtype_decl -``` +```ebnf argtype_decl ::= [ argmode ] [ argname ] argtype ``` argmodeargnameargtype ### drop_group -``` +```ebnf drop_group ::= DROP GROUP [ IF EXISTS ] role_name [ , ... ] ``` DROPGROUPIFEXISTS,role_name ### drop_operator -``` +```ebnf drop_operator ::= DROP OPERATOR [ IF EXISTS ] { operator_name ( operator_signature ) } [ , ... ] [ CASCADE | RESTRICT ] @@ -1344,13 +1344,13 @@ drop_operator ::= DROP OPERATOR [ IF EXISTS ] DROPOPERATORIFEXISTS,operator_name(operator_signature)CASCADERESTRICT ### operator_signature -``` +```ebnf operator_signature ::= { left_type | NONE } , { right_type | NONE } ``` left_typeNONE,right_typeNONE ### drop_operator_class -``` +```ebnf drop_operator_class ::= DROP OPERATOR CLASS [ IF EXISTS ] operator_class_name USING index_method [ CASCADE | RESTRICT ] @@ -1358,14 +1358,14 @@ drop_operator_class ::= DROP OPERATOR CLASS [ IF EXISTS ] DROPOPERATORCLASSIFEXISTSoperator_class_nameUSINGindex_methodCASCADERESTRICT ### drop_policy -``` +```ebnf drop_policy ::= DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] ``` DROPPOLICYIFEXISTSnameONtable_nameCASCADERESTRICT ### drop_procedure -``` +```ebnf drop_procedure ::= DROP PROCEDURE [ IF EXISTS ] { name [ ( [ argtype_decl [ , ... ] ] ) ] } [ , ... ] [ CASCADE | RESTRICT ] @@ -1373,80 +1373,80 @@ drop_procedure ::= DROP PROCEDURE [ IF EXISTS ] DROPPROCEDUREIFEXISTS,name(,argtype_decl)CASCADERESTRICT ### drop_role -``` +```ebnf drop_role ::= DROP ROLE [ IF EXISTS ] role_name [ , ... ] ``` DROPROLEIFEXISTS,role_name ### drop_rule -``` +```ebnf drop_rule ::= DROP RULE [ IF EXISTS ] rule_name ON table_name [ CASCADE | RESTRICT ] ``` DROPRULEIFEXISTSrule_nameONtable_nameCASCADERESTRICT ### drop_sequence -``` +```ebnf drop_sequence ::= DROP SEQUENCE [ IF EXISTS ] sequence_name [ CASCADE | RESTRICT ] ``` DROPSEQUENCEIFEXISTSsequence_nameCASCADERESTRICT ### drop_owned -``` +```ebnf drop_owned ::= DROP OWNED BY role_specification [ , ... ] [ CASCADE | RESTRICT ] ``` DROPOWNEDBY,role_specificationCASCADERESTRICT ### drop_table -``` +```ebnf drop_table ::= DROP TABLE [ IF EXISTS ] table_name [ , ... ] [ CASCADE | RESTRICT ] ``` DROPTABLEIFEXISTS,table_nameCASCADERESTRICT ### drop_type -``` +```ebnf drop_type ::= DROP TYPE [ IF EXISTS ] type_name [ , ... ] [ CASCADE | RESTRICT ] ``` DROPTYPEIFEXISTS,type_nameCASCADERESTRICT ### drop_user -``` +```ebnf drop_user ::= DROP USER [ IF EXISTS ] role_name [ , ... ] ``` DROPUSERIFEXISTS,role_name ### drop_trigger -``` +```ebnf drop_trigger ::= DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] ``` DROPTRIGGERIFEXISTSnameONtable_nameCASCADERESTRICT ### end -``` +```ebnf end ::= END [ TRANSACTION | WORK ] ``` ENDTRANSACTIONWORK ### execute_statement -``` +```ebnf execute_statement ::= EXECUTE name [ ( expression [ , ... ] ) ] ``` EXECUTEname(,expression) ### explain -``` +```ebnf explain ::= EXPLAIN [ [ ANALYZE ] [ VERBOSE ] | ( option [ , ... ] ) ] sql_stmt ``` EXPLAINANALYZEVERBOSE(,option)sql_stmt ### option -``` +```ebnf option ::= ANALYZE [ boolean ] | VERBOSE [ boolean ] | COSTS [ boolean ] @@ -1458,7 +1458,7 @@ option ::= ANALYZE [ boolean ] ANALYZEbooleanVERBOSEbooleanCOSTSbooleanBUFFERSbooleanTIMINGbooleanSUMMARYbooleanFORMATTEXTXMLJSONYAML ### grant_table -``` +```ebnf grant_table ::= GRANT { { SELECT | INSERT @@ -1475,7 +1475,7 @@ grant_table ::= GRANT GRANT,SELECTINSERTUPDATEDELETETRUNCATEREFERENCESTRIGGERALLPRIVILEGESONTABLE,table_nameALLTABLESINSCHEMA,schema_nameTO,grant_role_specWITHGRANTOPTION ### grant_table_col -``` +```ebnf grant_table_col ::= GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column_names ) [ ,(column_names ... ] @@ -1486,7 +1486,7 @@ grant_table_col ::= GRANT GRANTSELECTINSERTUPDATEREFERENCES(column_names),(column_names)ALLPRIVILEGES(column_names)ONTABLE,table_nameTO,grant_role_specWITHGRANTOPTION ### grant_seq -``` +```ebnf grant_seq ::= GRANT { { USAGE | SELECT | UPDATE } [ , ... ] | ALL [ PRIVILEGES ] } ON { SEQUENCE sequence_name [ , ... ] @@ -1497,7 +1497,7 @@ grant_seq ::= GRANT { { USAGE | SELECT | UPDATE } [ , ... ] GRANT,USAGESELECTUPDATEALLPRIVILEGESONSEQUENCE,sequence_nameALLSEQUENCESINSCHEMAschema_name,sequence_nameTO,grant_role_specWITHGRANTOPTION ### grant_db -``` +```ebnf grant_db ::= GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [ , ... ] | ALL [ PRIVILEGES ] } ON DATABASE database_name [ , ... ] TO grant_role_spec [ , ... ] @@ -1506,7 +1506,7 @@ grant_db ::= GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [ , ... ] GRANT,CREATECONNECTTEMPORARYTEMPALLPRIVILEGESONDATABASE,database_nameTO,grant_role_specWITHGRANTOPTION ### grant_domain -``` +```ebnf grant_domain ::= GRANT { USAGE | ALL [ PRIVILEGES ] } ON DOMAIN domain_name [ , ... ] TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] @@ -1514,7 +1514,7 @@ grant_domain ::= GRANT { USAGE | ALL [ PRIVILEGES ] } ON DOMAIN GRANTUSAGEALLPRIVILEGESONDOMAIN,domain_nameTO,grant_role_specWITHGRANTOPTION ### grant_schema -``` +```ebnf grant_schema ::= GRANT { { CREATE | USAGE } [ , ... ] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [ , ... ] TO grant_role_spec [ , ... ] @@ -1523,7 +1523,7 @@ grant_schema ::= GRANT { { CREATE | USAGE } [ , ... ] GRANT,CREATEUSAGEALLPRIVILEGESONSCHEMA,schema_nameTO,grant_role_specWITHGRANTOPTION ### grant_type -``` +```ebnf grant_type ::= GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPE type_name [ , ... ] TO grant_role_spec [ , ... ] [ WITH GRANT OPTION ] @@ -1531,14 +1531,14 @@ grant_type ::= GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPE type_name GRANTUSAGEALLPRIVILEGESONTYPE,type_nameTO,grant_role_specWITHGRANTOPTION ### grant_role -``` +```ebnf grant_role ::= GRANT role_name [ , ... ] TO role_name [ , ... ] [ WITH ADMIN OPTION ] ``` GRANT,role_nameTO,role_nameWITHADMINOPTION ### grant_role_spec -``` +```ebnf grant_role_spec ::= [ GROUP ] role_name | PUBLIC | CURRENT_USER @@ -1547,7 +1547,7 @@ grant_role_spec ::= [ GROUP ] role_name GROUProle_namePUBLICCURRENT_USERSESSION_USER ### insert -``` +```ebnf insert ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] INSERT INTO table_name [ AS alias ] [ ( column_names ) ] { DEFAULT VALUES @@ -1559,13 +1559,13 @@ insert ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] WITHRECURSIVE,common_table_expressionINSERTINTOtable_nameASalias(column_names)DEFAULTVALUESVALUES(column_values),(column_values)subqueryONCONFLICTconflict_targetconflict_actionreturning_clause ### column_values -``` +```ebnf column_values ::= { expression | DEFAULT } [ , ... ] ``` ,expressionDEFAULT ### conflict_target -``` +```ebnf conflict_target ::= ( { column_name | expression } [ , ... ] ) [ WHERE boolean_expression ] | ON CONSTRAINT constraint_name @@ -1573,7 +1573,7 @@ conflict_target ::= ( { column_name | expression } [ , ... ] ) (,column_nameexpression)WHEREboolean_expressionONCONSTRAINTconstraint_name ### conflict_action -``` +```ebnf conflict_action ::= DO NOTHING | DO UPDATE SET update_item [ , ... ] [ WHERE boolean_expression ] @@ -1581,14 +1581,14 @@ conflict_action ::= DO NOTHING DONOTHINGDOUPDATESET,update_itemWHEREboolean_expression ### lock_table -``` +```ebnf lock_table ::= LOCK [ TABLE ] { table_expr [ , ... ] } [ IN lockmode MODE ] [ NOWAIT ] ``` LOCKTABLE,table_exprINlockmodeMODENOWAIT ### lockmode -``` +```ebnf lockmode ::= ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE @@ -1601,39 +1601,39 @@ lockmode ::= ACCESS SHARE ACCESSSHAREROWSHAREROWEXCLUSIVESHAREUPDATEEXCLUSIVESHARESHAREROWEXCLUSIVEEXCLUSIVEACCESSEXCLUSIVE ### prepare_statement -``` +```ebnf prepare_statement ::= PREPARE name [ ( data_type [ , ... ] ) ] AS sql_stmt ``` PREPAREname(,data_type)ASsql_stmt ### reassign_owned -``` +```ebnf reassign_owned ::= REASSIGN OWNED BY role_specification [ , ... ] TO role_specification ``` REASSIGNOWNEDBY,role_specificationTOrole_specification ### reset_stmt -``` +```ebnf reset_stmt ::= RESET { name | ALL } ``` RESETnameALL ### reset_role -``` +```ebnf reset_role ::= RESET ROLE ``` RESETROLE ### reset_session_authorization -``` +```ebnf reset_session_authorization ::= RESET SESSION AUTHORIZATION ``` RESETSESSIONAUTHORIZATION ### revoke_table -``` +```ebnf revoke_table ::= REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT @@ -1651,7 +1651,7 @@ revoke_table ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOR,SELECTINSERTUPDATEDELETETRUNCATEREFERENCESTRIGGERALLPRIVILEGESONTABLE,table_nameALLTABLESINSCHEMA,schema_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_table_col -``` +```ebnf revoke_table_col ::= REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | REFERENCES } ( column_names ) [ ,(column_names ... ] @@ -1663,7 +1663,7 @@ revoke_table_col ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFORSELECTINSERTUPDATEREFERENCES(column_names),(column_names)ALLPRIVILEGES(column_names)ONTABLE,table_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_seq -``` +```ebnf revoke_seq ::= REVOKE [ GRANT OPTION FOR ] { { USAGE | SELECT | UPDATE } [ , ... ] | ALL [ PRIVILEGES ] } ON @@ -1675,7 +1675,7 @@ revoke_seq ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOR,USAGESELECTUPDATEALLPRIVILEGESONSEQUENCE,sequence_nameALLSEQUENCESINSCHEMA,schema_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_db -``` +```ebnf revoke_db ::= REVOKE [ GRANT OPTION FOR ] { { CREATE | CONNECT | TEMPORARY | TEMP } [ , ... ] | ALL [ PRIVILEGES ] } ON DATABASE database_name @@ -1685,7 +1685,7 @@ revoke_db ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOR,CREATECONNECTTEMPORARYTEMPALLPRIVILEGESONDATABASE,database_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_domain -``` +```ebnf revoke_domain ::= REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON DOMAIN domain_name [ , ... ] FROM { [ GROUP ] role_name | PUBLIC } @@ -1694,7 +1694,7 @@ revoke_domain ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFORUSAGEALLPRIVILEGESONDOMAIN,domain_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_schema -``` +```ebnf revoke_schema ::= REVOKE [ GRANT OPTION FOR ] { { CREATE | USAGE } [ , ... ] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name @@ -1704,7 +1704,7 @@ revoke_schema ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFOR,CREATEUSAGEALLPRIVILEGESONSCHEMA,schema_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_type -``` +```ebnf revoke_type ::= REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPE type_name [ , ... ] FROM { [ GROUP ] role_name | PUBLIC } @@ -1713,20 +1713,20 @@ revoke_type ::= REVOKE [ GRANT OPTION FOR ] REVOKEGRANTOPTIONFORUSAGEALLPRIVILEGESONTYPE,type_nameFROM,GROUProle_namePUBLICCASCADERESTRICT ### revoke_role -``` +```ebnf revoke_role ::= REVOKE [ ADMIN OPTION FOR ] role_name [ , ... ] FROM role_name [ , ... ] [ CASCADE | RESTRICT ] ``` REVOKEADMINOPTIONFOR,role_nameFROM,role_nameCASCADERESTRICT ### rollback -``` +```ebnf rollback ::= ROLLBACK [ TRANSACTION | WORK ] ``` ROLLBACKTRANSACTIONWORK ### select -``` +```ebnf select ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] SELECT [ ALL | DISTINCT [ ON { ( expression [ , ... ] ) } ] ] @@ -1749,14 +1749,14 @@ select ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] WITHRECURSIVE,common_table_expressionSELECTALLDISTINCTON(,expression)*,expressionfn_over_windowordinary_aggregate_fn_invocationwithin_group_aggregate_fn_invocationASnameFROM,from_itemWHEREboolean_expressionGROUPBY,grouping_elementHAVINGboolean_expressionWINDOW,nameASwindow_definitionUNIONINTERSECTEXCEPTALLDISTINCTselectORDERBY,order_exprLIMITintegerALLOFFSETintegerROWROWSFETCHFIRSTNEXTintegerROWROWSONLY ### with_clause -``` +```ebnf with_clause ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] ``` WITHRECURSIVE,common_table_expression ### common_table_expression -``` +```ebnf common_table_expression ::= name [ ( name [ , ... ] ) ] AS ( { select | values @@ -1767,20 +1767,20 @@ common_table_expression ::= name [ ( name [ , ... ] ) ] AS ( name(,name)AS(selectvaluesinsertupdatedelete) ### select_expression -``` +```ebnf select_expression ::= expression [ [ AS ] name ] ``` expressionASname ### order_expr -``` +```ebnf order_expr ::= expression [ ASC | DESC | USING operator_name ] [ NULLS { FIRST | LAST } ] ``` expressionASCDESCUSINGoperator_nameNULLSFIRSTLAST ### set -``` +```ebnf set ::= SET [ SESSION | LOCAL ] { configuration_parameter { TO | = } { value | DEFAULT } | TIME ZONE @@ -1789,33 +1789,33 @@ set ::= SET [ SESSION | LOCAL ] { configuration_parameter { TO | = } SETSESSIONLOCALconfiguration_parameterTO=valueDEFAULTTIMEZONEtimezoneLOCALDEFAULT ### set_constraints -``` +```ebnf set_constraints ::= SET CONSTRAINTS { ALL | name [ , ... ] } { DEFERRED | IMMEDIATE } ``` SETCONSTRAINTSALL,nameDEFERREDIMMEDIATE ### set_role -``` +```ebnf set_role ::= SET [ SESSION | LOCAL ] ROLE { role_name | NONE } ``` SETSESSIONLOCALROLErole_nameNONE ### set_session_authorization -``` +```ebnf set_session_authorization ::= SET [ SESSION | LOCAL ] SESSION AUTHORIZATION { role_name | DEFAULT } ``` SETSESSIONLOCALSESSIONAUTHORIZATIONrole_nameDEFAULT ### set_transaction -``` +```ebnf set_transaction ::= SET TRANSACTION transaction_mode [ ... ] ``` SETTRANSACTIONtransaction_mode ### transaction_mode -``` +```ebnf transaction_mode ::= isolation_level | read_write_mode | deferrable_mode @@ -1823,7 +1823,7 @@ transaction_mode ::= isolation_level isolation_levelread_write_modedeferrable_mode ### isolation_level -``` +```ebnf isolation_level ::= ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ @@ -1832,44 +1832,44 @@ isolation_level ::= ISOLATION LEVEL { READ UNCOMMITTED ISOLATIONLEVELREADUNCOMMITTEDREADCOMMITTEDREPEATABLEREADSERIALIZABLE ### read_write_mode -``` +```ebnf read_write_mode ::= READ ONLY | READ WRITE ``` READONLYREADWRITE ### deferrable_mode -``` +```ebnf deferrable_mode ::= [ NOT ] DEFERRABLE ``` NOTDEFERRABLE ### show_stmt -``` +```ebnf show_stmt ::= SHOW { name | ALL } ``` SHOWnameALL ### show_transaction -``` +```ebnf show_transaction ::= SHOW TRANSACTION ISOLATION LEVEL ``` SHOWTRANSACTIONISOLATIONLEVEL ### truncate -``` +```ebnf truncate ::= TRUNCATE [ TABLE ] { table_expr [ , ... ] } [ CASCADE | RESTRICT ] ``` TRUNCATETABLE,table_exprCASCADERESTRICT ### table_expr -``` +```ebnf table_expr ::= [ ONLY ] table_name [ * ] ``` ONLYtable_name* ### update -``` +```ebnf update ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] UPDATE table_expr [ [ AS ] alias ] SET update_item [ , ... ] [ WHERE boolean_expression @@ -1879,7 +1879,7 @@ update ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] WITHRECURSIVE,common_table_expressionUPDATEtable_exprASaliasSET,update_itemWHEREboolean_expressionWHERECURRENTOFcursor_namereturning_clause ### update_item -``` +```ebnf update_item ::= column_name = column_value | ( column_names ) = [ ROW ] ( column_values ) | ( column_names ) = ( query ) @@ -1887,13 +1887,13 @@ update_item ::= column_name = column_value column_name=column_value(column_names)=ROW(column_values)(column_names)=(query) ### column_value -``` +```ebnf column_value ::= expression | DEFAULT ``` expressionDEFAULT ### values -``` +```ebnf values ::= VALUES ( expression_list ) [ ,(expression_list ... ] [ ORDER BY { order_expr [ , ... ] } ] [ LIMIT { integer | ALL } ] @@ -1903,13 +1903,13 @@ values ::= VALUES ( expression_list ) [ ,(expression_list ... ] VALUES(expression_list),(expression_list)ORDERBY,order_exprLIMITintegerALLOFFSETintegerROWROWSFETCHFIRSTNEXTintegerROWROWSONLY ### expression_list -``` +```ebnf expression_list ::= expression [ , ... ] ``` ,expression ### select_start -``` +```ebnf select_start ::= SELECT [ ALL | DISTINCT [ ON { ( expression [ , ... ] ) } ] ] [ * | { { expression @@ -1921,7 +1921,7 @@ select_start ::= SELECT [ ALL | SELECTALLDISTINCTON(,expression)*,expressionfn_over_windowordinary_aggregate_fn_invocationwithin_group_aggregate_fn_invocationASname ### fn_over_window -``` +```ebnf fn_over_window ::= name ( [ expression [ , ... ] | * ] [ FILTER ( WHERE boolean_expression ) ] OVER { window_definition | name } @@ -1929,7 +1929,7 @@ fn_over_window ::= name ( [ expression [ , ... ] | * ] name(,expression*FILTER(WHEREboolean_expression)OVERwindow_definitionname ### ordinary_aggregate_fn_invocation -``` +```ebnf ordinary_aggregate_fn_invocation ::= name ( { [ ALL | DISTINCT ] expression [ , ... ] @@ -1941,7 +1941,7 @@ ordinary_aggregate_fn_invocation ::= name ( name(ALLDISTINCT,expression*ORDERBY,order_expr)FILTER(WHEREboolean_expression) ### within_group_aggregate_fn_invocation -``` +```ebnf within_group_aggregate_fn_invocation ::= name ( { expression [ , ... ] } ) WITHIN GROUP ( ORDER BY @@ -1952,13 +1952,13 @@ within_group_aggregate_fn_invocation ::= name ( name(,expression)WITHINGROUP(ORDERBY,order_expr)FILTER(WHEREboolean_expression) ### window_clause -``` +```ebnf window_clause ::= WINDOW { { name AS window_definition } [ , ... ] } ``` WINDOW,nameASwindow_definition ### window_definition -``` +```ebnf window_definition ::= ( [ name ] [ PARTITION BY order_expr [ , ... ] ] [ ORDER BY order_expr [ , ... ] ] @@ -1967,32 +1967,32 @@ window_definition ::= ( [ name ] (namePARTITIONBY,order_exprORDERBY,order_exprframe_clause) ### frame_clause -``` +```ebnf frame_clause ::= [ { RANGE | ROWS | GROUPS } frame_bounds ] [ frame_exclusion ] ``` RANGEROWSGROUPSframe_boundsframe_exclusion ### frame_bounds -``` +```ebnf frame_bounds ::= frame_start | BETWEEN frame_start AND frame_end ``` frame_startBETWEENframe_startANDframe_end ### frame_start -``` +```ebnf frame_start ::= frame_bound ``` frame_bound ### frame_end -``` +```ebnf frame_end ::= frame_bound ``` frame_bound ### frame_bound -``` +```ebnf frame_bound ::= UNBOUNDED PRECEDING | offset PRECEDING | CURRENT ROW @@ -2002,7 +2002,7 @@ frame_bound ::= UNBOUNDED PRECEDING UNBOUNDEDPRECEDINGoffsetPRECEDINGCURRENTROWoffsetFOLLOWINGUNBOUNDEDFOLLOWING ### frame_exclusion -``` +```ebnf frame_exclusion ::= EXCLUDE CURRENT ROW | EXCLUDE GROUP | EXCLUDE TIES @@ -2011,7 +2011,7 @@ frame_exclusion ::= EXCLUDE CURRENT ROW EXCLUDECURRENTROWEXCLUDEGROUPEXCLUDETIESEXCLUDENOOTHERS ### offset -``` +```ebnf offset ::= integer_expression | numeric_expression | interval_expression @@ -2019,13 +2019,13 @@ offset ::= integer_expression integer_expressionnumeric_expressioninterval_expression ### group_by_clause -``` +```ebnf group_by_clause ::= GROUP BY { grouping_element [ , ... ] } ``` GROUPBY,grouping_element ### grouping_element -``` +```ebnf grouping_element ::= ( ) | ( expression [ , ... ] ) | ROLLUP ( expression [ , ... ] ) | CUBE ( expression [ , ... ] ) @@ -2034,621 +2034,621 @@ grouping_element ::= ( ) | ( expression [ , ... ] ) ()(,expression)ROLLUP(,expression)CUBE(,expression)GROUPINGSETS(,grouping_element) ### having_clause -``` +```ebnf having_clause ::= HAVING boolean_expression ``` HAVINGboolean_expression ### qualified_name -``` +```ebnf qualified_name ::= [ [ database_name . ] schema_name . ] '' ``` database_name.schema_name.<Text Literal> ### database_name -``` +```ebnf database_name ::= '' ``` <Text Literal> ### schema_name -``` +```ebnf schema_name ::= '' ``` <Text Literal> ### table_name -``` +```ebnf table_name ::= qualified_name ``` qualified_name ### column_name -``` +```ebnf column_name ::= '' ``` <Text Literal> ### object_name -``` +```ebnf object_name ::= name ``` name ### access_method_name -``` +```ebnf access_method_name ::= name ``` name ### relation_name -``` +```ebnf relation_name ::= qualified_name ``` qualified_name ### aggregate_name -``` +```ebnf aggregate_name ::= qualified_name ``` qualified_name ### constraint_name -``` +```ebnf constraint_name ::= qualified_name ``` qualified_name ### operator_name -``` +```ebnf operator_name ::= qualified_name ``` qualified_name ### policy_name -``` +```ebnf policy_name ::= qualified_name ``` qualified_name ### procedure_name -``` +```ebnf procedure_name ::= qualified_name ``` qualified_name ### routine_name -``` +```ebnf routine_name ::= qualified_name ``` qualified_name ### rule_name -``` +```ebnf rule_name ::= qualified_name ``` qualified_name ### trigger_name -``` +```ebnf trigger_name ::= qualified_name ``` qualified_name ### domain_name -``` +```ebnf domain_name ::= qualified_name ``` qualified_name ### index_method -``` +```ebnf index_method ::= '' ``` <Text Literal> ### argmode -``` +```ebnf argmode ::= IN | OUT | INOUT | VARIADIC ``` INOUTINOUTVARIADIC ### argname -``` +```ebnf argname ::= name ``` name ### argtype -``` +```ebnf argtype ::= type_name ``` type_name ### function_arguments -``` +```ebnf function_arguments ::= [ text_literal [ , ... ] ] ``` ,text_literal ### text_literal -``` +```ebnf text_literal ::= '' ``` <Text Literal> ### int_literal -``` +```ebnf int_literal ::= '' ``` <Integer Literal> ### integer -``` +```ebnf integer ::= '' ``` <Integer Literal> ### numeric_literal -``` +```ebnf numeric_literal ::= '' ``` <Numeric Literal> ### value -``` +```ebnf value ::= text_literal | numeric_literal | boolean ``` text_literalnumeric_literalboolean ### configuration_parameter -``` +```ebnf configuration_parameter ::= text_literal ``` text_literal ### large_object_oid -``` +```ebnf large_object_oid ::= '' ``` <Integer Literal> ### left_type -``` +```ebnf left_type ::= qualified_name | NONE ``` qualified_nameNONE ### right_type -``` +```ebnf right_type ::= qualified_name | NONE ``` qualified_nameNONE ### lang_name -``` +```ebnf lang_name ::= name ``` name ### name -``` +```ebnf name ::= '' ``` <Text Literal> ### column_names -``` +```ebnf column_names ::= column_name [ , ... ] ``` ,column_name ### expression -``` +```ebnf expression ::= '' ``` <expression> ### boolean -``` +```ebnf boolean ::= TRUE | FALSE ``` TRUEFALSE ### collation -``` +```ebnf collation ::= '"default"' | "C" | "POSIX" | '"ucs_basic"' ``` "default""C""POSIX""ucs_basic" ### type_name -``` +```ebnf type_name ::= qualified_name ``` qualified_name ### attribute_name -``` +```ebnf attribute_name ::= '' ``` <Text Literal> ### data_type -``` +```ebnf data_type ::= type_name ``` type_name ### label -``` +```ebnf label ::= '' ``` <Text Literal> ### subtype -``` +```ebnf subtype ::= type_name ``` type_name ### operator_class_name -``` +```ebnf operator_class_name ::= qualified_name ``` qualified_name ### subtype_operator_class -``` +```ebnf subtype_operator_class ::= operator_class_name ``` operator_class_name ### function_name -``` +```ebnf function_name ::= qualified_name ``` qualified_name ### canonical_function -``` +```ebnf canonical_function ::= function_name ``` function_name ### subtype_diff_function -``` +```ebnf subtype_diff_function ::= function_name ``` function_name ### input_function -``` +```ebnf input_function ::= function_name ``` function_name ### output_function -``` +```ebnf output_function ::= function_name ``` function_name ### receive_function -``` +```ebnf receive_function ::= function_name ``` function_name ### send_function -``` +```ebnf send_function ::= function_name ``` function_name ### type_modifier_input_function -``` +```ebnf type_modifier_input_function ::= function_name ``` function_name ### type_modifier_output_function -``` +```ebnf type_modifier_output_function ::= function_name ``` function_name ### internallength -``` +```ebnf internallength ::= -2 | -1 | '' ``` -2-1<non-negative integer> ### alignment -``` +```ebnf alignment ::= CHAR | INT2 | INT4 | DOUBLE ``` CHARINT2INT4DOUBLE ### storage -``` +```ebnf storage ::= PLAIN | EXTERNAL | EXTENDED | MAIN ``` PLAINEXTERNALEXTENDEDMAIN ### like_type -``` +```ebnf like_type ::= type_name ``` type_name ### category -``` +```ebnf category ::= '' ``` <character> ### preferred -``` +```ebnf preferred ::= boolean ``` boolean ### default -``` +```ebnf default ::= '' ``` <type value> ### element -``` +```ebnf element ::= type_name ``` type_name ### delimiter -``` +```ebnf delimiter ::= '' ``` <character> ### collatable -``` +```ebnf collatable ::= boolean ``` boolean ### param_name -``` +```ebnf param_name ::= '' ``` <Text Literal> ### param_value -``` +```ebnf param_value ::= '' ``` <Text Literal> ### code -``` +```ebnf code ::= '' ``` <Text Literal> ### aggregate_argmode -``` +```ebnf aggregate_argmode ::= IN | VARIADIC ``` INVARIADIC ### sfunc -``` +```ebnf sfunc ::= function_name ``` function_name ### state_data_type -``` +```ebnf state_data_type ::= type_name ``` type_name ### base_type -``` +```ebnf base_type ::= type_name ``` type_name ### state_data_size -``` +```ebnf state_data_size ::= '' ``` <non-negative integer> ### ffunc -``` +```ebnf ffunc ::= function_name ``` function_name ### combinefunc -``` +```ebnf combinefunc ::= function_name ``` function_name ### serialfunc -``` +```ebnf serialfunc ::= function_name ``` function_name ### deserialfunc -``` +```ebnf deserialfunc ::= function_name ``` function_name ### initial_condition -``` +```ebnf initial_condition ::= '' ``` <Text Literal> ### msfunc -``` +```ebnf msfunc ::= function_name ``` function_name ### minvfunc -``` +```ebnf minvfunc ::= function_name ``` function_name ### mstate_data_type -``` +```ebnf mstate_data_type ::= type_name ``` type_name ### mstate_data_size -``` +```ebnf mstate_data_size ::= '' ``` <non-negative integer> ### mffunc -``` +```ebnf mffunc ::= function_name ``` function_name ### minitial_condition -``` +```ebnf minitial_condition ::= '' ``` <Text literal> ### sort_operator -``` +```ebnf sort_operator ::= operator_name ``` operator_name ### function_signature -``` +```ebnf function_signature ::= [ [ argmode ] [ argname ] argtype [ ,[ argmode ][ argname ] ... ] ] ``` argmodeargnameargtype,argmodeargnameargtype ### source_type -``` +```ebnf source_type ::= type_name ``` type_name ### target_type -``` +```ebnf target_type ::= type_name ``` type_name ### com_op -``` +```ebnf com_op ::= operator_name ``` operator_name ### neg_op -``` +```ebnf neg_op ::= operator_name ``` operator_name ### res_proc -``` +```ebnf res_proc ::= procedure_name ``` procedure_name ### join_proc -``` +```ebnf join_proc ::= procedure_name ``` procedure_name ### strategy_number -``` +```ebnf strategy_number ::= '' ``` <positive integer> ### support_number -``` +```ebnf support_number ::= '' ``` <positive integer> ### op_type -``` +```ebnf op_type ::= data_type ``` data_type ### storage_type -``` +```ebnf storage_type ::= data_type ``` data_type ### using_expression -``` +```ebnf using_expression ::= expression ``` expression ### check_expression -``` +```ebnf check_expression ::= expression ``` expression ### new_name -``` +```ebnf new_name ::= name ``` name ### version -``` +```ebnf version ::= '' ``` <text literal> ### extension_name -``` +```ebnf extension_name ::= name ``` name ### savepoint_create -``` +```ebnf savepoint_create ::= SAVEPOINT name ``` SAVEPOINTname ### savepoint_release -``` +```ebnf savepoint_release ::= RELEASE [ SAVEPOINT ] name ``` RELEASESAVEPOINTname ### savepoint_rollback -``` +```ebnf savepoint_rollback ::= ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] name ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/abort.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/abort.grammar.md index f3b7dd6727d4..4824100f7cc3 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/abort.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/abort.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf abort ::= ABORT [ TRANSACTION | WORK ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_database,alter_database_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_database,alter_database_option.grammar.md index e62d2bf78125..701cfc829434 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_database,alter_database_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_database,alter_database_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_database ::= ALTER DATABASE name [ [ WITH ] alter_database_option [ ... ] | RENAME TO name diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_default_priv,abbr_grant_or_revoke,a_grant_table,a_grant_seq,a_grant_func,a_grant_type,a_grant_schema,a_revoke_table,a_revoke_seq,a_revoke_func,a_revoke_type,a_revoke_schema,grant_table_priv,grant_seq_priv,grant_role_spec.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_default_priv,abbr_grant_or_revoke,a_grant_table,a_grant_seq,a_grant_func,a_grant_type,a_grant_schema,a_revoke_table,a_revoke_seq,a_revoke_func,a_revoke_type,a_revoke_schema,grant_table_priv,grant_seq_priv,grant_role_spec.grammar.md index a1f9450fa45e..4189ec0523d7 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_default_priv,abbr_grant_or_revoke,a_grant_table,a_grant_seq,a_grant_func,a_grant_type,a_grant_schema,a_revoke_table,a_revoke_seq,a_revoke_func,a_revoke_type,a_revoke_schema,grant_table_priv,grant_seq_priv,grant_role_spec.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_default_priv,abbr_grant_or_revoke,a_grant_table,a_grant_seq,a_grant_func,a_grant_type,a_grant_schema,a_revoke_table,a_revoke_seq,a_revoke_func,a_revoke_type,a_revoke_schema,grant_table_priv,grant_seq_priv,grant_role_spec.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_default_priv ::= ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } role_name [ , ... ] ] [ IN SCHEMA schema_name [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_domain_default,alter_domain_rename.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_domain_default,alter_domain_rename.grammar.md index 58162851b93b..61d88057a6ae 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_domain_default,alter_domain_rename.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_domain_default,alter_domain_rename.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_domain_default ::= ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT } diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_group,role_specification,alter_group_rename.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_group,role_specification,alter_group_rename.grammar.md index bbec1c1da1c4..0e3fe35d62b9 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_group,role_specification,alter_group_rename.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_group,role_specification,alter_group_rename.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_group ::= ALTER GROUP role_specification { ADD | DROP } USER role_name [ , ... ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_policy,alter_policy_rename.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_policy,alter_policy_rename.grammar.md index 373e53063a24..8e1f3ef7f073 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_policy,alter_policy_rename.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_policy,alter_policy_rename.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_policy ::= ALTER POLICY name ON table_name [ TO { role_name | PUBLIC diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_role,alter_role_option,role_specification,alter_role_rename,alter_role_config,config_setting.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_role,alter_role_option,role_specification,alter_role_rename,alter_role_config,config_setting.grammar.md index 3c659429c23c..8025562176cc 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_role,alter_role_option,role_specification,alter_role_rename,alter_role_config,config_setting.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_role,alter_role_option,role_specification,alter_role_rename,alter_role_config,config_setting.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_role ::= ALTER ROLE role_specification [ [ WITH ] alter_role_option [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_sequence,name,alter_sequence_options.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_sequence,name,alter_sequence_options.grammar.md index d142e78951c6..1f8efff46a91 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_sequence,name,alter_sequence_options.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_sequence,name,alter_sequence_options.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_sequence ::= ALTER SEQUENCE [ IF EXISTS ] sequence_name alter_sequence_options diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_table,alter_table_action,alter_table_constraint,alter_column_constraint,table_expr.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_table,alter_table_action,alter_table_constraint,alter_column_constraint,table_expr.grammar.md index 5cfc9daaa93c..bf3b7defbb99 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_table,alter_table_action,alter_table_constraint,alter_column_constraint,table_expr.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_table,alter_table_action,alter_table_constraint,alter_column_constraint,table_expr.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_table ::= ALTER TABLE table_expr alter_table_action [ , ... ] alter_table_action ::= ADD [ COLUMN ] column_name data_type diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_user,alter_role_option,role_specification,alter_user_rename,alter_user_config,config_setting.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_user,alter_role_option,role_specification,alter_user_rename,alter_user_config,config_setting.grammar.md index e94b9f29ff44..bdfe0e60f40f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_user,alter_role_option,role_specification,alter_user_rename,alter_user_config,config_setting.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/alter_user,alter_role_option,role_specification,alter_user_rename,alter_user_config,config_setting.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf alter_user ::= ALTER USER role_specification [ [ WITH ] alter_role_option [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/analyze,table_and_columns.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/analyze,table_and_columns.grammar.md index 884b77392b44..0edd772db7b8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/analyze,table_and_columns.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/analyze,table_and_columns.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf analyze ::= ANALYZE [ VERBOSE ] [ table_and_columns [ , ... ] ] table_and_columns ::= table_name [ ( column_name [ , ... ] ) ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/begin.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/begin.grammar.md index e35861fcce5a..34c309261dbf 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/begin.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/begin.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf begin ::= BEGIN [ TRANSACTION | WORK ] [ transaction_mode [ ... ] ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/call_procedure,procedure_argument,argument_name.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/call_procedure,procedure_argument,argument_name.grammar.md index 3a705e3326c1..f712e6718204 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/call_procedure,procedure_argument,argument_name.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/call_procedure,procedure_argument,argument_name.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf call_procedure ::= CALL qualified_name ( [ procedure_argument [ , ... ] ] ) diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/comment_on.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/comment_on.grammar.md index 3d10cb62648f..47a5909bd0ff 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/comment_on.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/comment_on.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf comment_on ::= COMMENT ON { ACCESS METHOD access_method_name | AGGREGATE aggregate_name ( aggregate_signature ) diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/commit.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/commit.grammar.md index df7cd8c5bdbc..465a455090b3 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/commit.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/commit.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf commit ::= COMMIT [ TRANSACTION | WORK ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/copy_from,copy_to,copy_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/copy_from,copy_to,copy_option.grammar.md index 382eb87717d1..82e0ed971a6f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/copy_from,copy_to,copy_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/copy_from,copy_to,copy_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf copy_from ::= COPY table_name [ ( column_name [ , ... ] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [ , ... ] ) ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_aggregate,create_aggregate_normal,create_aggregate_order_by,create_aggregate_old,aggregate_arg,aggregate_normal_option,aggregate_order_by_option,aggregate_old_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_aggregate,create_aggregate_normal,create_aggregate_order_by,create_aggregate_old,aggregate_arg,aggregate_normal_option,aggregate_order_by_option,aggregate_old_option.grammar.md index 25dee647dc1e..ea2e5ddc3b6b 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_aggregate,create_aggregate_normal,create_aggregate_order_by,create_aggregate_old,aggregate_arg,aggregate_normal_option,aggregate_order_by_option,aggregate_old_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_aggregate,create_aggregate_normal,create_aggregate_order_by,create_aggregate_old,aggregate_arg,aggregate_normal_option,aggregate_order_by_option,aggregate_old_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_aggregate ::= create_aggregate_normal | create_aggregate_order_by | create_aggregate_old diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_cast,create_cast_with_function,create_cast_without_function,create_cast_with_inout,cast_signature.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_cast,create_cast_with_function,create_cast_without_function,create_cast_with_inout,cast_signature.grammar.md index 2b988cb30904..db428558945a 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_cast,create_cast_with_function,create_cast_without_function,create_cast_with_inout,cast_signature.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_cast,create_cast_with_function,create_cast_without_function,create_cast_with_inout,cast_signature.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_cast ::= create_cast_with_function | create_cast_without_function | create_cast_with_inout diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_composite_type,create_enum_type,create_range_type,create_base_type,create_shell_type,composite_type_elem,range_type_option,base_type_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_composite_type,create_enum_type,create_range_type,create_base_type,create_shell_type,composite_type_elem,range_type_option,base_type_option.grammar.md index 4f55918167b1..014995cf09f3 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_composite_type,create_enum_type,create_range_type,create_base_type,create_shell_type,composite_type_elem,range_type_option,base_type_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_composite_type,create_enum_type,create_range_type,create_base_type,create_shell_type,composite_type_elem,range_type_option,base_type_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_composite_type ::= CREATE TYPE type_name AS ( [ composite_type_elem [ , ... ] ] ) diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_database,create_database_options.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_database,create_database_options.grammar.md index 19817f5263bf..57bbad52f302 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_database,create_database_options.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_database,create_database_options.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_database ::= CREATE DATABASE name [ create_database_options ] create_database_options ::= [ WITH ] [ OWNER [ = ] user_name ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_domain,domain_constraint.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_domain,domain_constraint.grammar.md index 67f1ec6ac684..79545928459e 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_domain,domain_constraint.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_domain,domain_constraint.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_domain ::= CREATE DOMAIN name [ AS ] data_type [ DEFAULT expression ] [ [ domain_constraint [ ... ] ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_extension.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_extension.grammar.md index b5c00eb548de..95dbd343050a 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_extension.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_extension.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_extension ::= CREATE EXTENSION [ IF NOT EXISTS ] extension_name [ WITH ] [ SCHEMA schema_name ] [ VERSION version ] [ CASCADE ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_function,arg_decl,function_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_function,arg_decl,function_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md index 797dd32901c2..78e7f43f7aaa 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_function,arg_decl,function_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_function,arg_decl,function_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_function ::= CREATE [ OR REPLACE ] FUNCTION function_name ( [ arg_decl [ , ... ] ] ) [ RETURNS data_type diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_group,role_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_group,role_option.grammar.md index 40d27baa73b3..538547e2d30e 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_group,role_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_group,role_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_group ::= CREATE GROUP role_name [ [ WITH ] role_option [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_index,index_elem.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_index,index_elem.grammar.md index 9d45df4a2da0..a7aeb3eabbff 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_index,index_elem.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_index,index_elem.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_index ::= CREATE [ UNIQUE ] INDEX [ NONCONCURRENTLY ] [ [ IF NOT EXISTS ] name ] ON [ ONLY ] table_name [ USING access_method_name ] ( index_elem [ , ... ] ) diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator,operator_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator,operator_option.grammar.md index fe3950914cb3..ceefadd3920f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator,operator_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator,operator_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_operator ::= CREATE OPERATOR operator_name ( { FUNCTION = function_name | PROCEDURE = procedure_name } diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator_class,operator_class_as.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator_class,operator_class_as.grammar.md index aea88f09147e..981ab43de75c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator_class,operator_class_as.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_operator_class,operator_class_as.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_operator_class ::= CREATE OPERATOR CLASS operator_class_name [ DEFAULT ] FOR TYPE data_type USING index_method AS operator_class_as [ , ... ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_policy.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_policy.grammar.md index 0fd5c9b806a2..1f11514b0485 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_policy.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_policy.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_policy ::= CREATE POLICY name ON table_name [ AS { PERMISSIVE | RESTRICTIVE } ] [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_procedure,arg_decl,procedure_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_procedure,arg_decl,procedure_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md index fdd1805878dd..8c42aa6885b5 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_procedure,arg_decl,procedure_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_procedure,arg_decl,procedure_attribute,security_kind,lang_name,implementation_definition,sql_stmt_list.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_procedure ::= CREATE [ OR REPLACE ] PROCEDURE name ( [ arg_decl [ , ... ] ] ) procedure_attribute [ ... ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_role,role_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_role,role_option.grammar.md index 7dc096e680ed..2a56d68c306f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_role,role_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_role,role_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_role ::= CREATE ROLE role_name [ [ WITH ] role_option [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_rule,rule_event,command.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_rule,rule_event,command.grammar.md index 450e7426532f..602c977d3fe9 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_rule,rule_event,command.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_rule,rule_event,command.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_rule ::= CREATE [ OR REPLACE ] RULE rule_name AS ON rule_event TO table_name [ WHERE boolean_expression ] DO [ ALSO | INSTEAD ] { NOTHING diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_schema_name,create_schema_role,schema_element,role_specification.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_schema_name,create_schema_role,schema_element,role_specification.grammar.md index dda6e4e48631..8c61e990d30a 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_schema_name,create_schema_role,schema_element,role_specification.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_schema_name,create_schema_role,schema_element,role_specification.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_schema_name ::= CREATE SCHEMA [ IF NOT EXISTS ] schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_sequence,sequence_name,sequence_options.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_sequence,sequence_name,sequence_options.grammar.md index 2a7675a61827..e5dbae2445ee 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_sequence,sequence_name,sequence_options.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_sequence,sequence_name,sequence_options.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_sequence ::= CREATE SEQUENCE [ IF NOT EXISTS ] sequence_name sequence_options diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table,table_elem,column_constraint,table_constraint,key_columns,hash_columns,range_columns,storage_parameters,storage_parameter,index_parameters,references_clause,split_row.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table,table_elem,column_constraint,table_constraint,key_columns,hash_columns,range_columns,storage_parameters,storage_parameter,index_parameters,references_clause,split_row.grammar.md index 6fb748c774b0..bf5254f1769f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table,table_elem,column_constraint,table_constraint,key_columns,hash_columns,range_columns,storage_parameters,storage_parameter,index_parameters,references_clause,split_row.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table,table_elem,column_constraint,table_constraint,key_columns,hash_columns,range_columns,storage_parameters,storage_parameter,index_parameters,references_clause,split_row.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_table ::= CREATE [ TEMPORARY | TEMP ] TABLE [ IF NOT EXISTS ] table_name ( [ table_elem [ , ... ] ] ) [ WITH ( { COLOCATED = { 'true' | 'false' } diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table_as.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table_as.grammar.md index 92aebab496d1..306f8e1647b8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table_as.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_table_as.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_table_as ::= CREATE TABLE [ IF NOT EXISTS ] table_name [ ( column_name [ , ... ] ) ] AS query [ WITH [ NO ] DATA ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_trigger,event.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_trigger,event.grammar.md index baad90f705ea..e4e36b573ca1 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_trigger,event.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_trigger,event.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_trigger ::= CREATE TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FROM table_name ] [ NOT DEFERRABLE ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_user,role_option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_user,role_option.grammar.md index 9d1a124ced69..439e2f0a0b58 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_user,role_option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_user,role_option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_user ::= CREATE USER role_name [ [ WITH ] role_option [ , ... ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_view.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_view.grammar.md index bbb2d1893ba1..e329cf835310 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_view.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/create_view.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf create_view ::= CREATE [ OR REPLACE ] VIEW qualified_name [ ( name [ , ... ] ) ] AS select ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/deallocate.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/deallocate.grammar.md index dad9954d3d83..56585b4fee25 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/deallocate.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/deallocate.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf deallocate ::= DEALLOCATE [ PREPARE ] { name | ALL } ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/delete,returning_clause.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/delete,returning_clause.grammar.md index ec54ce46f262..5db31ca051f1 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/delete,returning_clause.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/delete,returning_clause.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf delete ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] DELETE FROM table_expr [ [ AS ] alias ] [ WHERE boolean_expression | WHERE CURRENT OF cursor_name ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/do.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/do.grammar.md index fc747f7bfa80..3da8f5742ff7 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/do.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/do.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf do ::= DO [ LANGUAGE lang_name ] code ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_aggregate,aggregate_signature.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_aggregate,aggregate_signature.grammar.md index dd918d48b98e..20ce6432d22c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_aggregate,aggregate_signature.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_aggregate,aggregate_signature.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_aggregate ::= DROP AGGREGATE [ IF EXISTS ] { aggregate_name ( aggregate_signature ) } [ , ... ] [ CASCADE | RESTRICT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_cast.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_cast.grammar.md index 5651b37fb772..8203cb998c8e 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_cast.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_cast.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_cast ::= DROP CAST [ IF EXISTS ] ( cast_signature ) [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_database.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_database.grammar.md index 097c4f32fd43..901c1ed5cc8f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_database.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_database.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf drop_database ::= DROP DATABASE [ IF EXISTS ] database_name ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_domain.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_domain.grammar.md index 3f9974665275..f72f7e536b77 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_domain.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_domain.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_domain ::= DROP DOMAIN [ IF EXISTS ] name [ , ... ] [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_extension.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_extension.grammar.md index 0adeac3f3abd..f70b6e936dd8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_extension.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_extension.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_extension ::= DROP EXTENSION [ IF EXISTS ] extension_name [ , ... ] [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_function,argtype_decl.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_function,argtype_decl.grammar.md index a8702a8c84d7..f1e782a27767 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_function,argtype_decl.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_function,argtype_decl.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_function ::= DROP { FUNCTION | PROCEDURE } [ IF EXISTS ] { name [ ( [ argtype_decl [ , ... ] ] ) ] } [ , ... ] [ CASCADE | RESTRICT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_group.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_group.grammar.md index ad796278a198..28a839fa9fb0 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_group.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_group.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf drop_group ::= DROP GROUP [ IF EXISTS ] role_name [ , ... ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator,operator_signature.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator,operator_signature.grammar.md index 1f902b335199..de76a7f47e11 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator,operator_signature.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator,operator_signature.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_operator ::= DROP OPERATOR [ IF EXISTS ] { operator_name ( operator_signature ) } [ , ... ] [ CASCADE | RESTRICT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator_class.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator_class.grammar.md index 1980ccc70c9c..3cd77b427d64 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator_class.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_operator_class.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_operator_class ::= DROP OPERATOR CLASS [ IF EXISTS ] operator_class_name USING index_method [ CASCADE | RESTRICT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_owned,role_specification.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_owned,role_specification.grammar.md index 2e7c3fe3ed6c..d93177f91310 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_owned,role_specification.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_owned,role_specification.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_owned ::= DROP OWNED BY role_specification [ , ... ] [ CASCADE | RESTRICT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_policy.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_policy.grammar.md index f907d3dd2ae5..a0afd8774187 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_policy.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_policy.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_policy ::= DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_procedure,argtype_decl.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_procedure,argtype_decl.grammar.md index 7d99a11a30ba..453c0e99d5e1 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_procedure,argtype_decl.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_procedure,argtype_decl.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_procedure ::= DROP PROCEDURE [ IF EXISTS ] { name [ ( [ argtype_decl [ , ... ] ] ) ] } [ , ... ] [ CASCADE | RESTRICT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_role.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_role.grammar.md index 6cfd11b9c0b6..d72f810b3048 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_role.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_role.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf drop_role ::= DROP ROLE [ IF EXISTS ] role_name [ , ... ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_rule.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_rule.grammar.md index be24a670c35a..859c8a0bc2b3 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_rule.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_rule.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_rule ::= DROP RULE [ IF EXISTS ] rule_name ON table_name [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_sequence.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_sequence.grammar.md index a7d345760bda..f52e5beb7146 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_sequence.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_sequence.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_sequence ::= DROP SEQUENCE [ IF EXISTS ] sequence_name [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_table.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_table.grammar.md index 15e4baef6bcd..594c3ddf528b 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_table.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_table.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_table ::= DROP TABLE [ IF EXISTS ] table_name [ , ... ] [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_trigger.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_trigger.grammar.md index 339c80992aaa..6672fd261cd8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_trigger.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_trigger.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_trigger ::= DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_type.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_type.grammar.md index a126ff037649..41ecbb0bcc8b 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_type.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_type.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf drop_type ::= DROP TYPE [ IF EXISTS ] type_name [ , ... ] [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_user.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_user.grammar.md index 8008d202f778..34573ab6cfd8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_user.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/drop_user.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf drop_user ::= DROP USER [ IF EXISTS ] role_name [ , ... ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/end.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/end.grammar.md index cda666d88532..5eaf7f20aff8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/end.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/end.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf end ::= END [ TRANSACTION | WORK ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/execute_statement.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/execute_statement.grammar.md index 90f0b773cc31..fe2fa75debac 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/execute_statement.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/execute_statement.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf execute_statement ::= EXECUTE name [ ( expression [ , ... ] ) ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/explain,option.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/explain,option.grammar.md index dbd4614a37cc..40dd78f47557 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/explain,option.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/explain,option.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf explain ::= EXPLAIN [ [ ANALYZE ] [ VERBOSE ] | ( option [ , ... ] ) ] sql_stmt diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/grant_table,grant_table_col,grant_seq,grant_db,grant_domain,grant_schema,grant_type,grant_role,grant_role_spec.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/grant_table,grant_table_col,grant_seq,grant_db,grant_domain,grant_schema,grant_type,grant_role,grant_role_spec.grammar.md index a117b6563d14..61730dd72242 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/grant_table,grant_table_col,grant_seq,grant_db,grant_domain,grant_schema,grant_type,grant_role,grant_role_spec.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/grant_table,grant_table_col,grant_seq,grant_db,grant_domain,grant_schema,grant_type,grant_role,grant_role_spec.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf grant_table ::= GRANT { { SELECT | INSERT diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/insert,returning_clause,column_values,conflict_target,conflict_action.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/insert,returning_clause,column_values,conflict_target,conflict_action.grammar.md index 16831d90fa04..2bc67a467634 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/insert,returning_clause,column_values,conflict_target,conflict_action.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/insert,returning_clause,column_values,conflict_target,conflict_action.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf insert ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] INSERT INTO table_name [ AS alias ] [ ( column_names ) ] { DEFAULT VALUES diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/lock_table,lockmode.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/lock_table,lockmode.grammar.md index dbdfc52a94e8..c04548241c65 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/lock_table,lockmode.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/lock_table,lockmode.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf lock_table ::= LOCK [ TABLE ] { table_expr [ , ... ] } [ IN lockmode MODE ] [ NOWAIT ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/prepare_statement.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/prepare_statement.grammar.md index 355405fff9ba..442601e5fa15 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/prepare_statement.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/prepare_statement.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf prepare_statement ::= PREPARE name [ ( data_type [ , ... ] ) ] AS sql_stmt ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reassign_owned,role_specification.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reassign_owned,role_specification.grammar.md index 62f1ea18e0be..dd289069ab59 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reassign_owned,role_specification.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reassign_owned,role_specification.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf reassign_owned ::= REASSIGN OWNED BY role_specification [ , ... ] TO role_specification diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reset_stmt.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reset_stmt.grammar.md index 803c8aacfe15..f10ec277c87c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reset_stmt.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/reset_stmt.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf reset_stmt ::= RESET { name | ALL } ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/revoke_table,revoke_table_col,revoke_seq,revoke_db,revoke_domain,revoke_schema,revoke_type,revoke_role.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/revoke_table,revoke_table_col,revoke_seq,revoke_db,revoke_domain,revoke_schema,revoke_type,revoke_role.grammar.md index e145fc993be0..f667dfe48055 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/revoke_table,revoke_table_col,revoke_seq,revoke_db,revoke_domain,revoke_schema,revoke_type,revoke_role.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/revoke_table,revoke_table_col,revoke_seq,revoke_db,revoke_domain,revoke_schema,revoke_type,revoke_role.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf revoke_table ::= REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/rollback.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/rollback.grammar.md index bdb29b3c7332..73d06abf84cd 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/rollback.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/rollback.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf rollback ::= ROLLBACK [ TRANSACTION | WORK ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_create.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_create.grammar.md index b56d00ad1db0..e5bd27a67e3c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_create.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_create.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf savepoint_create ::= SAVEPOINT name ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_release.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_release.grammar.md index c85d7c371d1a..6e58bdc2fac5 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_release.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_release.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf savepoint_release ::= RELEASE [ SAVEPOINT ] name ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_rollback.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_rollback.grammar.md index 1e07ff4fce3c..00cee8c81d5e 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_rollback.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/savepoint_rollback.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf savepoint_rollback ::= ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] name ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/select,common_table_expression,fn_over_window,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation,grouping_element,order_expr.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/select,common_table_expression,fn_over_window,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation,grouping_element,order_expr.grammar.md index 988327ee902b..e125407090d0 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/select,common_table_expression,fn_over_window,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation,grouping_element,order_expr.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/select,common_table_expression,fn_over_window,ordinary_aggregate_fn_invocation,within_group_aggregate_fn_invocation,grouping_element,order_expr.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf select ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] SELECT [ ALL | DISTINCT [ ON { ( expression [ , ... ] ) } ] ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set.grammar.md index 720337f06ce6..7c13238d598c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf set ::= SET [ SESSION | LOCAL ] { configuration_parameter { TO | = } { value | DEFAULT } | TIME ZONE diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_constraints.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_constraints.grammar.md index d30b1bf170fe..22b7411cedc3 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_constraints.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_constraints.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf set_constraints ::= SET CONSTRAINTS { ALL | name [ , ... ] } { DEFERRED | IMMEDIATE } ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_role,reset_role.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_role,reset_role.grammar.md index 28b3376101ee..771f797db956 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_role,reset_role.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_role,reset_role.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf set_role ::= SET [ SESSION | LOCAL ] ROLE { role_name | NONE } reset_role ::= RESET ROLE diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_session_authorization,reset_session_authorization.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_session_authorization,reset_session_authorization.grammar.md index 83842bc62a0a..d66646c917f8 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_session_authorization,reset_session_authorization.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_session_authorization,reset_session_authorization.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf set_session_authorization ::= SET [ SESSION | LOCAL ] SESSION AUTHORIZATION { role_name | DEFAULT } diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_transaction,transaction_mode,isolation_level,read_write_mode,deferrable_mode.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_transaction,transaction_mode,isolation_level,read_write_mode,deferrable_mode.grammar.md index dae16cde9a77..77ce77d2a81f 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_transaction,transaction_mode,isolation_level,read_write_mode,deferrable_mode.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/set_transaction,transaction_mode,isolation_level,read_write_mode,deferrable_mode.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf set_transaction ::= SET TRANSACTION transaction_mode [ ... ] transaction_mode ::= isolation_level diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_stmt.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_stmt.grammar.md index ad23601ba128..75ac17eee34c 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_stmt.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_stmt.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf show_stmt ::= SHOW { name | ALL } ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_transaction.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_transaction.grammar.md index 0cbafe90ef8c..1597ee066952 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_transaction.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/show_transaction.grammar.md @@ -1,3 +1,3 @@ -``` +```ebnf show_transaction ::= SHOW TRANSACTION ISOLATION LEVEL ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/truncate.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/truncate.grammar.md index 9a8e6dee466e..37a49ead8c2b 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/truncate.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/truncate.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf truncate ::= TRUNCATE [ TABLE ] { table_expr [ , ... ] } [ CASCADE | RESTRICT ] ``` diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/update,returning_clause,update_item,column_values,column_names.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/update,returning_clause,update_item,column_values,column_names.grammar.md index 27ad71118fa7..9076a648f59d 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/update,returning_clause,update_item,column_values,column_names.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/update,returning_clause,update_item,column_values,column_names.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf update ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] UPDATE table_expr [ [ AS ] alias ] SET update_item [ , ... ] [ WHERE boolean_expression diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/values,expression_list.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/values,expression_list.grammar.md index e3936bcbf2c4..d1cdcb08e129 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/values,expression_list.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/statements/values,expression_list.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf values ::= VALUES ( expression_list ) [ ,(expression_list ... ] [ ORDER BY { order_expr [ , ... ] } ] [ LIMIT { integer | ALL } ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause,common_table_expression.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause,common_table_expression.grammar.md index f2e0ed8b7954..dc2adc7959cd 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause,common_table_expression.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause,common_table_expression.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf with_clause ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] diff --git a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause.grammar.md b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause.grammar.md index 0803bdb9365a..8a9f4e60df69 100644 --- a/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause.grammar.md +++ b/docs/content/latest/api/ysql/syntax_resources/the-sql-language/with-clause/with_clause.grammar.md @@ -1,4 +1,4 @@ -``` +```ebnf with_clause ::= [ WITH [ RECURSIVE ] { common_table_expression [ , ... ] } ] ``` diff --git a/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md b/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md index fef06ab00fa2..a4dc010ac39b 100644 --- a/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md +++ b/docs/content/latest/api/ysql/the-sql-language/statements/ddl_alter_table.md @@ -95,7 +95,7 @@ Drop the named column from the table. Set up and populate a parents-children pair of tables: -```plpgssql +```plpgsql drop table if exists children cascade; drop table if exists parents cascade; From dcb9b72763d7fb0280c0b090da6d74d2630830b1 Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Thu, 10 Feb 2022 16:20:57 -0800 Subject: [PATCH 7/8] add edit to contribute list partial --- docs/layouts/partials/contribute_list.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/layouts/partials/contribute_list.html b/docs/layouts/partials/contribute_list.html index 49c4f4005353..0eb8a1696ab1 100644 --- a/docs/layouts/partials/contribute_list.html +++ b/docs/layouts/partials/contribute_list.html @@ -10,5 +10,11 @@ Suggest new content + + From 0c92f135440476864618b4752ac7d3fa5ad3c15e Mon Sep 17 00:00:00 2001 From: Alex Ball Date: Thu, 10 Feb 2022 16:21:59 -0800 Subject: [PATCH 8/8] add file-path shortcode for future use --- docs/layouts/shortcodes/file-path.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/layouts/shortcodes/file-path.html diff --git a/docs/layouts/shortcodes/file-path.html b/docs/layouts/shortcodes/file-path.html new file mode 100644 index 000000000000..782508ff3def --- /dev/null +++ b/docs/layouts/shortcodes/file-path.html @@ -0,0 +1 @@ +{{ $.Page.File.Path }} \ No newline at end of file