From 780bd661c6f8d72115d5073cd8d8c6c94fbbb671 Mon Sep 17 00:00:00 2001 From: Steve Dignam Date: Sun, 17 May 2026 11:01:55 -0400 Subject: [PATCH] parser: update ast nodes to include their trailing semicolons --- crates/squawk/src/reporter.rs | 2 +- crates/squawk/src/snapshots/example.svg | 6 +- ...eck_files__check_files_invalid_syntax.snap | 2 +- ...test_reporter__display_violations_tty.snap | 4 +- ...violations_tty_and_github_annotations.snap | 8 +- ...reporter__test_reporter__span_offsets.snap | 8 +- crates/squawk_fmt/src/fmt.rs | 38 +- .../code_actions/rewrite_select_as_table.rs | 5 +- .../code_actions/rewrite_select_as_values.rs | 10 +- .../code_actions/rewrite_table_as_select.rs | 5 +- .../code_actions/rewrite_values_as_select.rs | 13 +- crates/squawk_ide/src/document_symbols.rs | 132 +-- crates/squawk_ide/src/expand_selection.rs | 6 +- crates/squawk_ide/src/folding_ranges.rs | 24 +- crates/squawk_ide/src/goto_definition.rs | 24 +- crates/squawk_ide/src/hover.rs | 26 +- crates/squawk_linter/src/ignore.rs | 4 +- .../src/rules/ban_uncommitted_transaction.rs | 16 +- .../squawk_linter/src/rules/prefer_repack.rs | 30 +- .../src/rules/require_concurrent_reindex.rs | 8 +- .../src/rules/require_timeout_settings.rs | 32 +- ...rop_database__test__ban_drop_database.snap | 4 +- ...ter__rules__ban_drop_table__test__err.snap | 4 +- ...__test__create_index_concurrently_err.snap | 2 +- ..._robust_stmts__test__create_table_err.snap | 2 +- ..._create_table_with_on_commit_drop_err.snap | 2 +- ...temp_table_without_on_commit_drop_err.snap | 2 +- ...er_robust_stmts__test__drop_index_err.snap | 2 +- ...st__adding_index_non_concurrently_err.snap | 2 +- ...__drop_index_missing_concurrently_err.snap | 2 +- ...g__test__begin_assume_transaction_err.snap | 6 +- ...ion_nesting__test__begin_repeated_err.snap | 2 +- ...on_nesting__test__commit_repeated_err.snap | 2 +- ...commit_with_assume_in_transaction_err.snap | 2 +- ...llback_with_assume_in_transaction_err.snap | 2 +- .../src/generated/syntax_kind.rs | 1 - crates/squawk_parser/src/grammar.rs | 343 ++++++-- crates/squawk_parser/tests/data/ok/delete.sql | 3 + .../snapshots/tests__alter_aggregate_ok.snap | 10 +- .../snapshots/tests__alter_collation_ok.snap | 10 +- .../snapshots/tests__alter_conversion_ok.snap | 10 +- .../snapshots/tests__alter_database_ok.snap | 30 +- .../tests__alter_default_privileges_ok.snap | 66 +- .../snapshots/tests__alter_domain_ok.snap | 30 +- .../tests__alter_event_trigger_ok.snap | 14 +- .../snapshots/tests__alter_extension_ok.snap | 216 ++--- ...tests__alter_foreign_data_wrapper_err.snap | 2 +- .../tests__alter_foreign_data_wrapper_ok.snap | 16 +- .../tests__alter_foreign_table_ok.snap | 102 +-- .../snapshots/tests__alter_function_ok.snap | 18 +- .../snapshots/tests__alter_group_ok.snap | 16 +- .../snapshots/tests__alter_index_ok.snap | 32 +- .../snapshots/tests__alter_language_ok.snap | 8 +- .../tests__alter_large_object_ok.snap | 4 +- .../tests__alter_materialized_view_ok.snap | 52 +- .../tests__alter_operator_class_ok.snap | 10 +- .../tests__alter_operator_family_ok.snap | 30 +- .../snapshots/tests__alter_operator_ok.snap | 8 +- .../snapshots/tests__alter_policy_ok.snap | 12 +- .../snapshots/tests__alter_procedure_ok.snap | 30 +- .../tests__alter_property_graph_ok.snap | 10 +- .../tests__alter_publication_ok.snap | 24 +- .../tests/snapshots/tests__alter_role_ok.snap | 24 +- .../snapshots/tests__alter_routine_ok.snap | 18 +- .../tests/snapshots/tests__alter_rule_ok.snap | 4 +- .../snapshots/tests__alter_schema_ok.snap | 6 +- .../snapshots/tests__alter_sequence_err.snap | 2 +- .../snapshots/tests__alter_sequence_ok.snap | 14 +- .../snapshots/tests__alter_server_err.snap | 2 +- .../snapshots/tests__alter_server_ok.snap | 10 +- .../snapshots/tests__alter_statistics_ok.snap | 12 +- .../tests__alter_subscription_ok.snap | 30 +- .../snapshots/tests__alter_system_ok.snap | 16 +- .../snapshots/tests__alter_table_err.snap | 12 +- .../snapshots/tests__alter_table_ok.snap | 256 +++--- .../snapshots/tests__alter_tablespace_ok.snap | 14 +- ...s__alter_text_search_configuration_ok.snap | 32 +- ...ests__alter_text_search_dictionary_ok.snap | 10 +- .../tests__alter_text_search_parser_ok.snap | 6 +- .../tests__alter_text_search_template_ok.snap | 4 +- .../snapshots/tests__alter_trigger_ok.snap | 6 +- .../tests/snapshots/tests__alter_type_ok.snap | 48 +- .../tests__alter_user_mapping_ok.snap | 2 +- .../tests/snapshots/tests__alter_user_ok.snap | 25 +- .../tests/snapshots/tests__alter_view_ok.snap | 26 +- .../tests/snapshots/tests__analyze_ok.snap | 8 +- .../tests/snapshots/tests__call_ok.snap | 6 +- .../tests/snapshots/tests__checkpoint_ok.snap | 2 +- .../tests/snapshots/tests__close_ok.snap | 4 +- .../tests/snapshots/tests__cluster_ok.snap | 12 +- .../tests/snapshots/tests__comment_ok.snap | 104 +-- .../tests/snapshots/tests__copy_err.snap | 2 +- .../tests/snapshots/tests__copy_ok.snap | 16 +- .../tests__create_access_method_ok.snap | 4 +- .../snapshots/tests__create_aggregate_ok.snap | 20 +- .../snapshots/tests__create_cast_ok.snap | 6 +- .../snapshots/tests__create_collation_ok.snap | 6 +- .../tests__create_conversion_ok.snap | 4 +- .../snapshots/tests__create_database_ok.snap | 4 +- .../snapshots/tests__create_domain_ok.snap | 4 +- .../tests__create_event_trigger_ok.snap | 6 +- .../tests/snapshots/tests__create_ext_ok.snap | 10 +- ...tests__create_foreign_data_wrapper_ok.snap | 4 +- .../tests__create_foreign_table_ok.snap | 20 +- .../snapshots/tests__create_function_err.snap | 4 +- .../snapshots/tests__create_function_ok.snap | 236 ++--- .../snapshots/tests__create_group_ok.snap | 4 +- .../snapshots/tests__create_index_err.snap | 2 +- .../snapshots/tests__create_index_ok.snap | 40 +- .../snapshots/tests__create_language_ok.snap | 4 +- .../tests__create_materialized_view_ok.snap | 10 +- .../tests__create_operator_class_ok.snap | 4 +- .../tests__create_operator_family_ok.snap | 4 +- .../snapshots/tests__create_operator_ok.snap | 6 +- .../snapshots/tests__create_policy_ok.snap | 18 +- .../snapshots/tests__create_procedure_ok.snap | 44 +- .../tests__create_property_graph_ok.snap | 30 +- .../tests__create_publication_ok.snap | 10 +- .../snapshots/tests__create_role_ok.snap | 4 +- .../snapshots/tests__create_rule_ok.snap | 26 +- .../snapshots/tests__create_sequence_ok.snap | 6 +- .../snapshots/tests__create_server_ok.snap | 6 +- .../tests__create_statistics_ok.snap | 10 +- .../tests__create_subscription_ok.snap | 4 +- .../snapshots/tests__create_table_as_ok.snap | 16 +- .../snapshots/tests__create_table_err.snap | 26 +- .../snapshots/tests__create_table_ok.snap | 124 +-- .../tests__create_tablespace_ok.snap | 4 +- .../tests__create_text_search_config_ok.snap | 4 +- .../tests__create_text_search_dict_ok.snap | 4 +- .../tests__create_text_search_parser_ok.snap | 4 +- ...tests__create_text_search_template_ok.snap | 4 +- .../snapshots/tests__create_transform_ok.snap | 4 +- .../snapshots/tests__create_trigger_ok.snap | 10 +- .../snapshots/tests__create_type_ok.snap | 24 +- .../snapshots/tests__create_user_ok.snap | 4 +- .../tests__create_view_extra_parens_ok.snap | 2 +- .../snapshots/tests__create_view_ok.snap | 20 +- .../tests/snapshots/tests__deallocate_ok.snap | 6 +- .../tests/snapshots/tests__declare_ok.snap | 8 +- .../tests/snapshots/tests__delete_ok.snap | 80 +- .../tests/snapshots/tests__discard_ok.snap | 10 +- .../tests/snapshots/tests__do_ok.snap | 4 +- .../tests__drop_access_method_ok.snap | 6 +- .../snapshots/tests__drop_aggregate_ok.snap | 8 +- .../tests/snapshots/tests__drop_cast_ok.snap | 6 +- .../snapshots/tests__drop_collation_ok.snap | 6 +- .../snapshots/tests__drop_conversion_ok.snap | 6 +- .../snapshots/tests__drop_database_err.snap | 2 +- .../snapshots/tests__drop_database_ok.snap | 10 +- .../snapshots/tests__drop_domain_ok.snap | 6 +- .../tests__drop_event_trigger_ok.snap | 6 +- .../snapshots/tests__drop_extension_ok.snap | 6 +- .../tests__drop_foreign_data_ok.snap | 6 +- .../tests__drop_foreign_table_ok.snap | 6 +- .../snapshots/tests__drop_function_ok.snap | 6 +- .../tests/snapshots/tests__drop_group_ok.snap | 4 +- .../tests/snapshots/tests__drop_index_ok.snap | 12 +- .../snapshots/tests__drop_language_ok.snap | 6 +- .../tests__drop_materialized_view_ok.snap | 6 +- .../tests__drop_operator_class_ok.snap | 6 +- .../tests__drop_operator_family_ok.snap | 6 +- .../snapshots/tests__drop_operator_ok.snap | 16 +- .../tests/snapshots/tests__drop_owned_ok.snap | 6 +- .../snapshots/tests__drop_policy_ok.snap | 6 +- .../snapshots/tests__drop_procedure_ok.snap | 6 +- .../tests__drop_property_graph_ok.snap | 6 +- .../snapshots/tests__drop_publication_ok.snap | 6 +- .../tests/snapshots/tests__drop_role_ok.snap | 6 +- .../snapshots/tests__drop_routine_ok.snap | 6 +- .../tests/snapshots/tests__drop_rule_ok.snap | 6 +- .../snapshots/tests__drop_sequence_ok.snap | 6 +- .../snapshots/tests__drop_server_ok.snap | 6 +- .../snapshots/tests__drop_statistics_ok.snap | 6 +- .../tests__drop_subscription_ok.snap | 6 +- .../snapshots/tests__drop_table_err.snap | 4 +- .../tests/snapshots/tests__drop_table_ok.snap | 20 +- .../snapshots/tests__drop_tablespace_ok.snap | 4 +- .../tests__drop_text_search_config_ok.snap | 6 +- .../tests__drop_text_search_dict_ok.snap | 6 +- .../tests__drop_text_search_parser_ok.snap | 6 +- .../tests__drop_text_search_template_ok.snap | 6 +- .../snapshots/tests__drop_transform_ok.snap | 6 +- .../snapshots/tests__drop_trigger_ok.snap | 10 +- .../tests/snapshots/tests__drop_type_ok.snap | 14 +- .../tests__drop_user_mapping_ok.snap | 4 +- .../tests/snapshots/tests__drop_user_ok.snap | 4 +- .../tests/snapshots/tests__drop_view_ok.snap | 6 +- .../tests/snapshots/tests__execute_ok.snap | 6 +- .../tests/snapshots/tests__explain_ok.snap | 62 +- .../tests/snapshots/tests__fetch_ok.snap | 36 +- .../tests/snapshots/tests__grant_ok.snap | 116 +-- .../tests__import_foreign_schema_ok.snap | 12 +- .../tests/snapshots/tests__insert_err.snap | 6 +- .../tests/snapshots/tests__insert_ok.snap | 60 +- .../tests/snapshots/tests__listen_ok.snap | 4 +- .../tests/snapshots/tests__load_ok.snap | 2 +- .../tests/snapshots/tests__lock_ok.snap | 22 +- .../tests/snapshots/tests__merge_ok.snap | 52 +- .../tests/snapshots/tests__misc_ok.snap | 240 ++--- .../tests/snapshots/tests__move_ok.snap | 36 +- .../tests/snapshots/tests__notify_ok.snap | 4 +- .../tests/snapshots/tests__precedence_ok.snap | 8 +- .../tests/snapshots/tests__prepare_err.snap | 2 +- .../tests/snapshots/tests__prepare_ok.snap | 14 +- .../tests/snapshots/tests__reassign_ok.snap | 4 +- .../tests/snapshots/tests__refresh_ok.snap | 6 +- .../snapshots/tests__regression_errors.snap | 36 - .../tests/snapshots/tests__reindex_err.snap | 2 +- .../tests/snapshots/tests__reindex_ok.snap | 16 +- .../tests/snapshots/tests__repack_ok.snap | 8 +- .../tests/snapshots/tests__reset_ok.snap | 12 +- .../tests/snapshots/tests__revoke_ok.snap | 110 +-- .../tests/snapshots/tests__schemas_ok.snap | 84 +- .../snapshots/tests__security_label_ok.snap | 66 +- .../snapshots/tests__select_casts_ok.snap | 362 ++++---- ...ests__select_compound_union_select_ok.snap | 22 +- .../snapshots/tests__select_cte_err.snap | 14 +- .../tests/snapshots/tests__select_cte_ok.snap | 38 +- .../tests/snapshots/tests__select_err.snap | 120 +-- .../snapshots/tests__select_funcs_ok.snap | 326 +++---- .../tests__select_graph_table_fn_err.snap | 2 +- .../tests__select_graph_table_fn_ok.snap | 42 +- .../snapshots/tests__select_into_ok.snap | 4 +- .../tests/snapshots/tests__select_ok.snap | 402 ++++----- .../snapshots/tests__select_operators_ok.snap | 430 ++++----- .../tests/snapshots/tests__select_xml_ok.snap | 2 +- .../snapshots/tests__set_constraints_ok.snap | 8 +- .../tests/snapshots/tests__set_role_ok.snap | 12 +- .../snapshots/tests__set_session_auth_ok.snap | 8 +- .../snapshots/tests__set_transaction_ok.snap | 8 +- .../tests/snapshots/tests__show_ok.snap | 14 +- .../tests/snapshots/tests__sql_pgq_ok.snap | 38 +- .../snapshots/tests__transaction_ok.snap | 78 +- .../tests/snapshots/tests__truncate_ok.snap | 10 +- .../tests/snapshots/tests__unlisten_ok.snap | 4 +- .../tests/snapshots/tests__update_err.snap | 4 +- .../tests/snapshots/tests__update_ok.snap | 50 +- .../tests/snapshots/tests__vacuum_err.snap | 2 +- .../tests/snapshots/tests__vacuum_ok.snap | 8 +- .../tests/snapshots/tests__values_err.snap | 4 +- .../tests/snapshots/tests__values_ok.snap | 18 +- .../squawk_syntax/src/ast/generated/nodes.rs | 823 +++++++++++++++++- crates/squawk_syntax/src/postgresql.ungram | 393 ++++----- ...st__alter_aggregate_params_validation.snap | 4 +- ...ntax__test__alter_table_ok_validation.snap | 4 +- ..._syntax__test__array_exprs_validation.snap | 8 +- ...k_syntax__test__bit_string_validation.snap | 28 +- ..._syntax__test__byte_string_validation.snap | 28 +- ...t__create_aggregate_params_validation.snap | 4 +- ...syntax__test__create_table_validation.snap | 4 +- ...ax__test__custom_operators_validation.snap | 28 +- ...est__drop_aggregate_params_validation.snap | 12 +- ...yntax__test__escape_string_validation.snap | 24 +- ...syntax__test__join_clauses_validation.snap | 44 +- ...__test__non_standard_param_validation.snap | 8 +- ..._syntax__test__select_into_validation.snap | 68 +- ...quawk_syntax__test__select_validation.snap | 12 +- ...squawk_syntax__test__stmts_validation.snap | 90 ++ ...test__unicode_escape_ident_validation.snap | 68 +- ...est__unicode_escape_string_validation.snap | 72 +- ...lidate_string_continuation_validation.snap | 136 +-- crates/squawk_syntax/src/validation.rs | 23 + .../test_data/validation/stmts.sql | 7 + 264 files changed, 4764 insertions(+), 3681 deletions(-) create mode 100644 crates/squawk_syntax/src/snapshots/squawk_syntax__test__stmts_validation.snap create mode 100644 crates/squawk_syntax/test_data/validation/stmts.sql diff --git a/crates/squawk/src/reporter.rs b/crates/squawk/src/reporter.rs index 61be3bcbd..9ceeb5b25 100644 --- a/crates/squawk/src/reporter.rs +++ b/crates/squawk/src/reporter.rs @@ -634,7 +634,7 @@ SELECT 1; ); assert!(res.is_ok()); - assert_snapshot!(String::from_utf8_lossy(&buff), @r#"[{"file":"main.sql","line":1,"column":3,"level":"Warning","message":"Missing `set lock_timeout` before potentially slow operations","help":"Configure a `lock_timeout` before this statement.","rule_name":"require-timeout-settings","column_end":62,"line_end":1},{"file":"main.sql","line":1,"column":3,"level":"Warning","message":"Missing `set statement_timeout` before potentially slow operations","help":"Configure a `statement_timeout` before this statement","rule_name":"require-timeout-settings","column_end":62,"line_end":1},{"file":"main.sql","line":1,"column":29,"level":"Warning","message":"Adding a new column that is `NOT NULL` and has no default value to an existing table effectively makes it required.","help":"Make the field nullable or add a non-VOLATILE DEFAULT","rule_name":"adding-required-field","column_end":62,"line_end":1},{"file":"main.sql","line":1,"column":29,"level":"Warning","message":"Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through.","help":null,"rule_name":"prefer-robust-stmts","column_end":62,"line_end":1},{"file":"main.sql","line":1,"column":46,"level":"Warning","message":"Using 32-bit integer fields can result in hitting the max `int` limit.","help":"Use 64-bit integer values instead to prevent hitting this limit.","rule_name":"prefer-bigint-over-int","column_end":53,"line_end":1},{"file":"main.sql","line":2,"column":23,"level":"Warning","message":"Adding a new column that is `NOT NULL` and has no default value to an existing table effectively makes it required.","help":"Make the field nullable or add a non-VOLATILE DEFAULT","rule_name":"adding-required-field","column_end":56,"line_end":2},{"file":"main.sql","line":2,"column":23,"level":"Warning","message":"Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through.","help":null,"rule_name":"prefer-robust-stmts","column_end":56,"line_end":2},{"file":"main.sql","line":2,"column":40,"level":"Warning","message":"Using 32-bit integer fields can result in hitting the max `int` limit.","help":"Use 64-bit integer values instead to prevent hitting this limit.","rule_name":"prefer-bigint-over-int","column_end":47,"line_end":2}]"#); + assert_snapshot!(String::from_utf8_lossy(&buff), @r#"[{"file":"main.sql","line":1,"column":3,"level":"Warning","message":"Missing `set lock_timeout` before potentially slow operations","help":"Configure a `lock_timeout` before this statement.","rule_name":"require-timeout-settings","column_end":63,"line_end":1},{"file":"main.sql","line":1,"column":3,"level":"Warning","message":"Missing `set statement_timeout` before potentially slow operations","help":"Configure a `statement_timeout` before this statement","rule_name":"require-timeout-settings","column_end":63,"line_end":1},{"file":"main.sql","line":1,"column":29,"level":"Warning","message":"Adding a new column that is `NOT NULL` and has no default value to an existing table effectively makes it required.","help":"Make the field nullable or add a non-VOLATILE DEFAULT","rule_name":"adding-required-field","column_end":62,"line_end":1},{"file":"main.sql","line":1,"column":29,"level":"Warning","message":"Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through.","help":null,"rule_name":"prefer-robust-stmts","column_end":62,"line_end":1},{"file":"main.sql","line":1,"column":46,"level":"Warning","message":"Using 32-bit integer fields can result in hitting the max `int` limit.","help":"Use 64-bit integer values instead to prevent hitting this limit.","rule_name":"prefer-bigint-over-int","column_end":53,"line_end":1},{"file":"main.sql","line":2,"column":23,"level":"Warning","message":"Adding a new column that is `NOT NULL` and has no default value to an existing table effectively makes it required.","help":"Make the field nullable or add a non-VOLATILE DEFAULT","rule_name":"adding-required-field","column_end":56,"line_end":2},{"file":"main.sql","line":2,"column":23,"level":"Warning","message":"Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through.","help":null,"rule_name":"prefer-robust-stmts","column_end":56,"line_end":2},{"file":"main.sql","line":2,"column":40,"level":"Warning","message":"Using 32-bit integer fields can result in hitting the max `int` limit.","help":"Use 64-bit integer values instead to prevent hitting this limit.","rule_name":"prefer-bigint-over-int","column_end":47,"line_end":2}]"#); } #[test] diff --git a/crates/squawk/src/snapshots/example.svg b/crates/squawk/src/snapshots/example.svg index 0b03eafaa..41f7883b0 100644 --- a/crates/squawk/src/snapshots/example.svg +++ b/crates/squawk/src/snapshots/example.svg @@ -94,7 +94,7 @@ 10 CREATE INDEX "field_name_idx" ON "table_name" ("field_name"); - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -114,7 +114,7 @@ 10 CREATE INDEX "field_name_idx" ON "table_name" ("field_name"); - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -134,7 +134,7 @@ 10 CREATE INDEX "field_name_idx" ON "table_name" ("field_name"); - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ diff --git a/crates/squawk/src/snapshots/squawk__reporter__test_check_files__check_files_invalid_syntax.snap b/crates/squawk/src/snapshots/squawk__reporter__test_check_files__check_files_invalid_syntax.snap index d9728fa99..57e673d7d 100644 --- a/crates/squawk/src/snapshots/squawk__reporter__test_check_files__check_files_invalid_syntax.snap +++ b/crates/squawk/src/snapshots/squawk__reporter__test_check_files__check_files_invalid_syntax.snap @@ -2,4 +2,4 @@ source: crates/squawk/src/reporter.rs expression: val --- -[{"column":6,"column_end":6,"file":"test.sql","help":null,"level":"Error","line":1,"line_end":1,"message":"expected SEMICOLON","rule_name":"syntax-error"},{"column":7,"column_end":7,"file":"test.sql","help":null,"level":"Error","line":1,"line_end":1,"message":"expected command, found ERROR","rule_name":"syntax-error"}] +[{"column":7,"column_end":7,"file":"test.sql","help":null,"level":"Error","line":1,"line_end":1,"message":"expected command, found ERROR","rule_name":"syntax-error"}] diff --git a/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty.snap b/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty.snap index e4df9ce73..fc20a0a0a 100644 --- a/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty.snap +++ b/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty.snap @@ -6,7 +6,7 @@ warning[require-timeout-settings]: Missing `set lock_timeout` before potentially ╭▸ main.sql:2:4 │ 2 │ ALTER TABLE "core_recipe" ADD COLUMN "foo" integer NOT NULL; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -16,7 +16,7 @@ warning[require-timeout-settings]: Missing `set statement_timeout` before potent ╭▸ main.sql:2:4 │ 2 │ ALTER TABLE "core_recipe" ADD COLUMN "foo" integer NOT NULL; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ diff --git a/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty_and_github_annotations.snap b/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty_and_github_annotations.snap index 22b866d18..aaa289c9b 100644 --- a/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty_and_github_annotations.snap +++ b/crates/squawk/src/snapshots/squawk__reporter__test_reporter__display_violations_tty_and_github_annotations.snap @@ -2,8 +2,8 @@ source: crates/squawk/src/reporter.rs expression: "strip_ansi_codes(&String::from_utf8_lossy(&buff))" --- -::warning file=main.sql,line=2,col=3,endLine=2,endColumn=62,title=require-timeout-settings::Missing `set lock_timeout` before potentially slow operations -::warning file=main.sql,line=2,col=3,endLine=2,endColumn=62,title=require-timeout-settings::Missing `set statement_timeout` before potentially slow operations +::warning file=main.sql,line=2,col=3,endLine=2,endColumn=63,title=require-timeout-settings::Missing `set lock_timeout` before potentially slow operations +::warning file=main.sql,line=2,col=3,endLine=2,endColumn=63,title=require-timeout-settings::Missing `set statement_timeout` before potentially slow operations ::warning file=main.sql,line=2,col=29,endLine=2,endColumn=62,title=adding-required-field::Adding a new column that is `NOT NULL` and has no default value to an existing table effectively makes it required. ::warning file=main.sql,line=2,col=29,endLine=2,endColumn=62,title=prefer-robust-stmts::Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through. ::warning file=main.sql,line=2,col=46,endLine=2,endColumn=53,title=prefer-bigint-over-int::Using 32-bit integer fields can result in hitting the max `int` limit. @@ -14,7 +14,7 @@ warning[require-timeout-settings]: Missing `set lock_timeout` before potentially ╭▸ main.sql:2:4 │ 2 │ ALTER TABLE "core_recipe" ADD COLUMN "foo" integer NOT NULL; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -24,7 +24,7 @@ warning[require-timeout-settings]: Missing `set statement_timeout` before potent ╭▸ main.sql:2:4 │ 2 │ ALTER TABLE "core_recipe" ADD COLUMN "foo" integer NOT NULL; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ diff --git a/crates/squawk/src/snapshots/squawk__reporter__test_reporter__span_offsets.snap b/crates/squawk/src/snapshots/squawk__reporter__test_reporter__span_offsets.snap index 768fd2b3b..3eb082b57 100644 --- a/crates/squawk/src/snapshots/squawk__reporter__test_reporter__span_offsets.snap +++ b/crates/squawk/src/snapshots/squawk__reporter__test_reporter__span_offsets.snap @@ -10,14 +10,14 @@ CheckReport { file: "main.sql", line: 2, column: 3, - range: 5..64, + range: 5..65, level: Warning, message: "Missing `set lock_timeout` before potentially slow operations", help: Some( "Configure a `lock_timeout` before this statement.", ), rule_name: "require-timeout-settings", - column_end: 62, + column_end: 63, line_end: 2, fix: Some( Fix { @@ -37,14 +37,14 @@ CheckReport { file: "main.sql", line: 2, column: 3, - range: 5..64, + range: 5..65, level: Warning, message: "Missing `set statement_timeout` before potentially slow operations", help: Some( "Configure a `statement_timeout` before this statement", ), rule_name: "require-timeout-settings", - column_end: 62, + column_end: 63, line_end: 2, fix: Some( Fix { diff --git a/crates/squawk_fmt/src/fmt.rs b/crates/squawk_fmt/src/fmt.rs index de1d88736..c47d1e6fb 100644 --- a/crates/squawk_fmt/src/fmt.rs +++ b/crates/squawk_fmt/src/fmt.rs @@ -36,8 +36,6 @@ fn build_source_file(source_file: &ast::SourceFile) -> Doc<'_> { } else { doc = doc.append(Doc::empty_line()); } - } else if token.kind() == SyntaxKind::SEMICOLON { - doc = doc.append(Doc::text(";")); } } } @@ -46,7 +44,7 @@ fn build_source_file(source_file: &ast::SourceFile) -> Doc<'_> { } fn build_create_table<'a>(create_table: &ast::CreateTable) -> Doc<'a> { - Doc::text("create") + let mut doc = Doc::text("create") .append(Doc::space()) .append(Doc::text("table")) .append(Doc::space()) @@ -71,7 +69,11 @@ fn build_create_table<'a>(create_table: &ast::CreateTable) -> Doc<'a> { .append(Doc::line_or_nil()) .group(), ) - .append(Doc::text(")")) + .append(Doc::text(")")); + + doc = doc.append(build_semicolon(create_table.semicolon_token())); + + doc } fn build_table_arg<'a>(create_table: ast::TableArg) -> Doc<'a> { @@ -132,9 +134,37 @@ fn build_select_doc<'a>(select: &ast::Select) -> Doc<'a> { ); } + doc = doc.append(build_semicolon(select.semicolon_token())); + doc.group() } +fn build_semicolon<'a>(semi: Option) -> Doc<'a> { + let Some(semi) = semi else { + return Doc::nil(); + }; + let mut doc = Doc::nil(); + let mut comments: Vec = vec![]; + for next in semi.siblings_with_tokens(Direction::Prev).skip(1) { + match next { + rowan::NodeOrToken::Node(_) => break, + rowan::NodeOrToken::Token(token) => { + if token.kind() == SyntaxKind::COMMENT { + comments.push(token); + } else if token.kind() == SyntaxKind::WHITESPACE { + continue; + } else { + break; + } + } + } + } + for comment in comments.iter().rev() { + doc = doc.append(Doc::text(comment.text().to_string())); + } + doc.append(Doc::text(";")) +} + fn build_expr<'a>(expr: ast::Expr) -> Doc<'a> { match expr { ast::Expr::ArrayExpr(array_expr) => { diff --git a/crates/squawk_ide/src/code_actions/rewrite_select_as_table.rs b/crates/squawk_ide/src/code_actions/rewrite_select_as_table.rs index 6f7bc235d..551ffc31e 100644 --- a/crates/squawk_ide/src/code_actions/rewrite_select_as_table.rs +++ b/crates/squawk_ide/src/code_actions/rewrite_select_as_table.rs @@ -30,7 +30,10 @@ pub(super) fn rewrite_select_as_table( return None; }; - let replacement = format!("table {}", table_name); + let mut replacement = format!("table {table_name}"); + if select.semicolon_token().is_some() { + replacement.push(';'); + }; actions.push(CodeAction { title: "Rewrite as `table`".to_owned(), diff --git a/crates/squawk_ide/src/code_actions/rewrite_select_as_values.rs b/crates/squawk_ide/src/code_actions/rewrite_select_as_values.rs index 2a61a21ff..9741207b3 100644 --- a/crates/squawk_ide/src/code_actions/rewrite_select_as_values.rs +++ b/crates/squawk_ide/src/code_actions/rewrite_select_as_values.rs @@ -51,7 +51,15 @@ pub(super) fn rewrite_select_as_values( rows.push(format!("({})", exprs.join(", "))); } - let values_stmt = format!("values {}", rows.join(", ")); + let had_semicolon = match &parent { + SelectContext::Compound(compound) => compound.semicolon_token().is_some(), + SelectContext::Single(select) => select.semicolon_token().is_some(), + }; + + let mut values_stmt = format!("values {}", rows.join(", ")); + if had_semicolon { + values_stmt.push(';'); + } let select_end = match &parent { SelectContext::Compound(compound) => compound.syntax().text_range().end(), diff --git a/crates/squawk_ide/src/code_actions/rewrite_table_as_select.rs b/crates/squawk_ide/src/code_actions/rewrite_table_as_select.rs index 8bf40d8ee..0bf2a08c9 100644 --- a/crates/squawk_ide/src/code_actions/rewrite_table_as_select.rs +++ b/crates/squawk_ide/src/code_actions/rewrite_table_as_select.rs @@ -17,7 +17,10 @@ pub(super) fn rewrite_table_as_select( let table_name = table.relation_name()?.syntax().text(); - let replacement = format!("select * from {}", table_name); + let mut replacement = format!("select * from {table_name}"); + if table.semicolon_token().is_some() { + replacement.push(';'); + }; actions.push(CodeAction { title: "Rewrite as `select`".to_owned(), diff --git a/crates/squawk_ide/src/code_actions/rewrite_values_as_select.rs b/crates/squawk_ide/src/code_actions/rewrite_values_as_select.rs index 9163a8186..a24afc7b8 100644 --- a/crates/squawk_ide/src/code_actions/rewrite_values_as_select.rs +++ b/crates/squawk_ide/src/code_actions/rewrite_values_as_select.rs @@ -47,7 +47,10 @@ pub(super) fn rewrite_values_as_select( select_parts.push(format!("union all\nselect {}", row_targets)); } - let select_stmt = select_parts.join("\n"); + let mut select_stmt = select_parts.join("\n"); + if values.semicolon_token().is_some() { + select_stmt.push(';'); + } actions.push(CodeAction { title: "Rewrite as `select`".to_owned(), @@ -70,7 +73,7 @@ mod test { fn rewrite_values_as_select_simple() { assert_snapshot!( apply_code_action(rewrite_values_as_select, "valu$0es (1, 'one'), (2, 'two');"), - @r" + @" select 1 as column1, 'one' as column2 union all select 2, 'two'; @@ -98,7 +101,7 @@ mod test { fn rewrite_values_as_select_multiple_rows() { assert_snapshot!( apply_code_action(rewrite_values_as_select, "values (1, 2), (3, 4), (5, 6$0);"), - @r" + @" select 1 as column1, 2 as column2 union all select 3, 4 @@ -115,7 +118,7 @@ mod test { rewrite_values_as_select, "with cte as (select 1) val$0ues (1, 'one'), (2, 'two');" ), - @r" + @" with cte as (select 1) select 1 as column1, 'one' as column2 union all select 2, 'two'; @@ -146,7 +149,7 @@ mod test { fn rewrite_values_as_select_on_row_content() { assert_snapshot!( apply_code_action(rewrite_values_as_select, "values (1$0, 2), (3, 4);"), - @r" + @" select 1 as column1, 2 as column2 union all select 3, 4; diff --git a/crates/squawk_ide/src/document_symbols.rs b/crates/squawk_ide/src/document_symbols.rs index 536f0f223..659ad73a9 100644 --- a/crates/squawk_ide/src/document_symbols.rs +++ b/crates/squawk_ide/src/document_symbols.rs @@ -1010,7 +1010,7 @@ mod tests { create table users ( id int, email citext -);"), @r" +);"), @" info: table: public.users ╭▸ 2 │ create table users ( @@ -1020,7 +1020,7 @@ create table users ( 3 │ │ id int, 4 │ │ email citext 5 │ │ ); - │ └─┘ full range + │ └──┘ full range │ ⸬ 3 │ id int, @@ -1040,11 +1040,11 @@ create table users ( fn create_table_as() { assert_snapshot!(symbols(" create table t as select 1 a; -"), @r" +"), @" info: table: public.t ╭▸ 2 │ create table t as select 1 a; - │ ┬────────────┯────────────── + │ ┬────────────┯─────────────── │ │ │ │ │ focus range ╰╴full range @@ -1055,11 +1055,11 @@ create table t as select 1 a; fn create_schema() { assert_snapshot!(symbols(" create schema foo; -"), @r" +"), @" info: schema: foo ╭▸ 2 │ create schema foo; - │ ┬─────────────┯━━ + │ ┬─────────────┯━━─ │ │ │ │ │ focus range ╰╴full range @@ -1070,11 +1070,11 @@ create schema foo; fn create_schema_authorization() { assert_snapshot!(symbols(" create schema authorization foo; -"), @r" +"), @" info: schema: foo ╭▸ 2 │ create schema authorization foo; - │ ┬───────────────────────────┯━━ + │ ┬───────────────────────────┯━━─ │ │ │ │ │ focus range ╰╴full range @@ -1088,11 +1088,11 @@ listen updates; notify updates; unlisten updates; unlisten *; -"), @r" +"), @" info: channel: updates listen ╭▸ 2 │ listen updates; - │ ┬──────┯━━━━━━ + │ ┬──────┯━━━━━━─ │ │ │ │ │ focus range │ full range @@ -1100,14 +1100,14 @@ unlisten *; info: channel: updates notify ╭▸ 3 │ notify updates; - │ ┬──────┯━━━━━━ + │ ┬──────┯━━━━━━─ │ │ │ │ │ focus range ╰╴full range info: channel: updates unlisten ╭▸ 4 │ unlisten updates; - │ ┬────────┯━━━━━━ + │ ┬────────┯━━━━━━─ │ │ │ │ │ focus range ╰╴full range @@ -1118,11 +1118,11 @@ unlisten *; fn create_function() { assert_snapshot!( symbols("create function hello() returns void as $$ select 1; $$ language sql;"), - @r" + @" info: function: public.hello ╭▸ 1 │ create function hello() returns void as $$ select 1; $$ language sql; - │ ┬───────────────┯━━━━─────────────────────────────────────────────── + │ ┬───────────────┯━━━━──────────────────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1134,11 +1134,11 @@ unlisten *; fn create_materialized_view() { assert_snapshot!( symbols("create materialized view reports as select 1;"), - @r" + @" info: materialized view: public.reports ╭▸ 1 │ create materialized view reports as select 1; - │ ┬────────────────────────┯━━━━━━──────────── + │ ┬────────────────────────┯━━━━━━───────────── │ │ │ │ │ focus range ╰╴full range @@ -1150,11 +1150,11 @@ unlisten *; fn create_aggregate() { assert_snapshot!( symbols("create aggregate myavg(int) (sfunc = int4_avg_accum, stype = _int8);"), - @r" + @" info: aggregate: public.myavg ╭▸ 1 │ create aggregate myavg(int) (sfunc = int4_avg_accum, stype = _int8); - │ ┬────────────────┯━━━━───────────────────────────────────────────── + │ ┬────────────────┯━━━━────────────────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1166,11 +1166,11 @@ unlisten *; fn create_procedure() { assert_snapshot!( symbols("create procedure hello() language sql as $$ select 1; $$;"), - @r" + @" info: procedure: public.hello ╭▸ 1 │ create procedure hello() language sql as $$ select 1; $$; - │ ┬────────────────┯━━━━────────────────────────────────── + │ ┬────────────────┯━━━━─────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1182,11 +1182,11 @@ unlisten *; fn create_index() { assert_snapshot!(symbols(" create index idx_users_email on users (email); -"), @r" +"), @" info: index: idx_users_email ╭▸ 2 │ create index idx_users_email on users (email); - │ ┬────────────┯━━━━━━━━━━━━━━───────────────── + │ ┬────────────┯━━━━━━━━━━━━━━────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1197,11 +1197,11 @@ create index idx_users_email on users (email); fn create_domain() { assert_snapshot!( symbols("create domain email_addr as text;"), - @r" + @" info: domain: public.email_addr ╭▸ 1 │ create domain email_addr as text; - │ ┬─────────────┯━━━━━━━━━──────── + │ ┬─────────────┯━━━━━━━━━───────── │ │ │ │ │ focus range ╰╴full range @@ -1213,11 +1213,11 @@ create index idx_users_email on users (email); fn create_sequence() { assert_snapshot!( symbols("create sequence user_id_seq;"), - @r" + @" info: sequence: public.user_id_seq ╭▸ 1 │ create sequence user_id_seq; - │ ┬───────────────┯━━━━━━━━━━ + │ ┬───────────────┯━━━━━━━━━━─ │ │ │ │ │ focus range ╰╴full range @@ -1231,7 +1231,7 @@ create index idx_users_email on users (email); create trigger update_timestamp before update on users execute function update_modified_column(); -"), @r" +"), @" info: trigger: update_timestamp ╭▸ 2 │ create trigger update_timestamp @@ -1240,7 +1240,7 @@ create trigger update_timestamp │ │ 3 │ │ before update on users 4 │ │ execute function update_modified_column(); - ╰╴└───────────────────────────────────────────┘ full range + ╰╴└────────────────────────────────────────────┘ full range "); } @@ -1248,11 +1248,11 @@ create trigger update_timestamp fn create_event_trigger() { assert_snapshot!( symbols("create event trigger et on ddl_command_start execute function f();"), - @r" + @" info: event trigger: et ╭▸ 1 │ create event trigger et on ddl_command_start execute function f(); - │ ┬────────────────────┯━────────────────────────────────────────── + │ ┬────────────────────┯━─────────────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1264,11 +1264,11 @@ create trigger update_timestamp fn create_tablespace() { assert_snapshot!(symbols(" create tablespace dbspace location '/data/dbs'; -"), @r" +"), @" info: tablespace: dbspace ╭▸ 2 │ create tablespace dbspace location '/data/dbs'; - │ ┬─────────────────┯━━━━━━───────────────────── + │ ┬─────────────────┯━━━━━━────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1279,11 +1279,11 @@ create tablespace dbspace location '/data/dbs'; fn create_database() { assert_snapshot!( symbols("create database mydb;"), - @r" + @" info: database: mydb ╭▸ 1 │ create database mydb; - │ ┬───────────────┯━━━ + │ ┬───────────────┯━━━─ │ │ │ │ │ focus range ╰╴full range @@ -1295,11 +1295,11 @@ create tablespace dbspace location '/data/dbs'; fn create_server() { assert_snapshot!(symbols(" create server myserver foreign data wrapper postgres_fdw; -"), @r" +"), @" info: server: myserver ╭▸ 2 │ create server myserver foreign data wrapper postgres_fdw; - │ ┬─────────────┯━━━━━━━────────────────────────────────── + │ ┬─────────────┯━━━━━━━─────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1310,11 +1310,11 @@ create server myserver foreign data wrapper postgres_fdw; fn create_extension() { assert_snapshot!( symbols("create extension pgcrypto;"), - @r" + @" info: extension: pgcrypto ╭▸ 1 │ create extension pgcrypto; - │ ┬────────────────┯━━━━━━━ + │ ┬────────────────┯━━━━━━━─ │ │ │ │ │ focus range ╰╴full range @@ -1326,11 +1326,11 @@ create server myserver foreign data wrapper postgres_fdw; fn create_role() { assert_snapshot!(symbols(" create role reader; -"), @r" +"), @" info: role: reader ╭▸ 2 │ create role reader; - │ ┬───────────┯━━━━━ + │ ┬───────────┯━━━━━─ │ │ │ │ │ focus range ╰╴full range @@ -1341,11 +1341,11 @@ create role reader; fn create_policy() { assert_snapshot!(symbols(" create policy allow_read on t; -"), @r" +"), @" info: policy: allow_read ╭▸ 2 │ create policy allow_read on t; - │ ┬─────────────┯━━━━━━━━━───── + │ ┬─────────────┯━━━━━━━━━────── │ │ │ │ │ focus range ╰╴full range @@ -1358,11 +1358,11 @@ create policy allow_read on t; create table users (id int); create table posts (id int); create function get_user(user_id int) returns void as $$ select 1; $$ language sql; -"), @r" +"), @" info: table: public.users ╭▸ 2 │ create table users (id int); - │ ┬────────────┯━━━━───────── + │ ┬────────────┯━━━━────────── │ │ │ │ │ focus range │ full range @@ -1377,7 +1377,7 @@ create function get_user(user_id int) returns void as $$ select 1; $$ language s info: table: public.posts ╭▸ 3 │ create table posts (id int); - │ ┬────────────┯━━━━───────── + │ ┬────────────┯━━━━────────── │ │ │ │ │ focus range │ full range @@ -1391,7 +1391,7 @@ create function get_user(user_id int) returns void as $$ select 1; $$ language s info: function: public.get_user ╭▸ 4 │ create function get_user(user_id int) returns void as $$ select 1; $$ language sql; - │ ┬───────────────┯━━━━━━━────────────────────────────────────────────────────────── + │ ┬───────────────┯━━━━━━━─────────────────────────────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1403,11 +1403,11 @@ create function get_user(user_id int) returns void as $$ select 1; $$ language s assert_snapshot!(symbols(" create table public.users (id int); create function my_schema.hello() returns void as $$ select 1; $$ language sql; -"), @r" +"), @" info: table: public.users ╭▸ 2 │ create table public.users (id int); - │ ┬───────────────────┯━━━━───────── + │ ┬───────────────────┯━━━━────────── │ │ │ │ │ focus range │ full range @@ -1422,7 +1422,7 @@ create function my_schema.hello() returns void as $$ select 1; $$ language sql; info: function: my_schema.hello ╭▸ 3 │ create function my_schema.hello() returns void as $$ select 1; $$ language sql; - │ ┬─────────────────────────┯━━━━─────────────────────────────────────────────── + │ ┬─────────────────────────┯━━━━──────────────────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1442,7 +1442,7 @@ create property graph foo.bar │ ┌─┘ │ │ 3 │ │ vertex tables (t key (a) no properties); - ╰╴└─────────────────────────────────────────┘ full range + ╰╴└──────────────────────────────────────────┘ full range "); } @@ -1450,11 +1450,11 @@ create property graph foo.bar fn create_type() { assert_snapshot!( symbols("create type status as enum ('active', 'inactive');"), - @r" + @" info: enum: public.status ╭▸ 1 │ create type status as enum ('active', 'inactive'); - │ ┬───────────┯━━━━━─────────────────────────────── + │ ┬───────────┯━━━━━──────────────────────────────── │ │ │ │ │ focus range │ full range @@ -1475,11 +1475,11 @@ create property graph foo.bar fn create_type_composite() { assert_snapshot!( symbols("create type person as (name text, age int);"), - @r" + @" info: type: public.person ╭▸ 1 │ create type person as (name text, age int); - │ ┬───────────┯━━━━━──────────────────────── + │ ┬───────────┯━━━━━───────────────────────── │ │ │ │ │ focus range │ full range @@ -1500,11 +1500,11 @@ create property graph foo.bar fn create_type_composite_multiple_columns() { assert_snapshot!( symbols("create type address as (street text, city text, zip varchar(10));"), - @r" + @" info: type: public.address ╭▸ 1 │ create type address as (street text, city text, zip varchar(10)); - │ ┬───────────┯━━━━━━───────────────────────────────────────────── + │ ┬───────────┯━━━━━━────────────────────────────────────────────── │ │ │ │ │ focus range │ full range @@ -1527,11 +1527,11 @@ create property graph foo.bar fn create_type_with_schema() { assert_snapshot!( symbols("create type myschema.status as enum ('active', 'inactive');"), - @r" + @" info: enum: myschema.status ╭▸ 1 │ create type myschema.status as enum ('active', 'inactive'); - │ ┬────────────────────┯━━━━━─────────────────────────────── + │ ┬────────────────────┯━━━━━──────────────────────────────── │ │ │ │ │ focus range │ full range @@ -1552,11 +1552,11 @@ create property graph foo.bar fn create_type_enum_multiple_variants() { assert_snapshot!( symbols("create type priority as enum ('low', 'medium', 'high', 'urgent');"), - @r" + @" info: enum: public.priority ╭▸ 1 │ create type priority as enum ('low', 'medium', 'high', 'urgent'); - │ ┬───────────┯━━━━━━━──────────────────────────────────────────── + │ ┬───────────┯━━━━━━━───────────────────────────────────────────── │ │ │ │ │ focus range │ full range @@ -1581,11 +1581,11 @@ create property graph foo.bar fn declare_cursor() { assert_snapshot!(symbols(" declare c scroll cursor for select * from t; -"), @r" +"), @" info: cursor: c ╭▸ 2 │ declare c scroll cursor for select * from t; - │ ┬───────┯────────────────────────────────── + │ ┬───────┯─────────────────────────────────── │ │ │ │ │ focus range ╰╴full range @@ -1596,11 +1596,11 @@ declare c scroll cursor for select * from t; fn prepare_statement() { assert_snapshot!(symbols(" prepare stmt as select 1; -"), @r" +"), @" info: prepared statement: stmt ╭▸ 2 │ prepare stmt as select 1; - │ ┬───────┯━━━──────────── + │ ┬───────┯━━━───────────── │ │ │ │ │ focus range ╰╴full range @@ -1684,7 +1684,7 @@ create foreign table films ( code char(5), title varchar(40) ) server film_server; -"), @r" +"), @" info: table: public.films ╭▸ 2 │ create foreign table films ( @@ -1694,7 +1694,7 @@ create foreign table films ( 3 │ │ code char(5), 4 │ │ title varchar(40) 5 │ │ ) server film_server; - │ └────────────────────┘ full range + │ └─────────────────────┘ full range │ ⸬ 3 │ code char(5), diff --git a/crates/squawk_ide/src/expand_selection.rs b/crates/squawk_ide/src/expand_selection.rs index 152c00e22..627b29ec3 100644 --- a/crates/squawk_ide/src/expand_selection.rs +++ b/crates/squawk_ide/src/expand_selection.rs @@ -353,6 +353,7 @@ select e'foo$0 bar' "e'foo bar'", "e'foo bar'\n'buzz'", "select e'foo bar'\n'buzz'", + "select e'foo bar'\n'buzz';", "\nselect e'foo bar'\n'buzz';\n", ] "#); @@ -367,6 +368,7 @@ select $$foo$0 bar$$; "foo", "$$foo bar$$", "select $$foo bar$$", + "select $$foo bar$$;", "\nselect $$foo bar$$;\n", ] "#); @@ -426,7 +428,7 @@ create table t( "x int", "x int,", "(\n x int,\n y text\n)", - "-- foo bar buzz\ncreate table t(\n x int,\n y text\n)", + "-- foo bar buzz\ncreate table t(\n x int,\n y text\n);", "\n-- foo bar buzz\ncreate table t(\n x int,\n y text\n);\n", ] "#); @@ -471,7 +473,7 @@ select 1; $0 select 2;"#), @r#" [ - " select 2", + " select 2;", " \nselect 1;\n\n select 2;", ] "#); diff --git a/crates/squawk_ide/src/folding_ranges.rs b/crates/squawk_ide/src/folding_ranges.rs index a015a5d0c..eda321549 100644 --- a/crates/squawk_ide/src/folding_ranges.rs +++ b/crates/squawk_ide/src/folding_ranges.rs @@ -299,7 +299,7 @@ create table t ( create table t ( id int, name text - ); + ); "); } @@ -313,7 +313,7 @@ from t;"), @" select id, name - from t; + from t; "); } @@ -355,7 +355,7 @@ select a, b, 3 -- with some more select a, b, 3 from t - where c > 10; + where c > 10; "); } @@ -400,7 +400,7 @@ select * from ( );"), @" select * from ( select id from t - ); + ); "); } @@ -418,7 +418,7 @@ from t;"), @" when x = 1 then 'a' when x = 2 then 'b' end - from t; + from t; "); } @@ -432,7 +432,7 @@ join b select * from a join b - on a.id = b.id; + on a.id = b.id; "); } @@ -450,7 +450,7 @@ select * from t where 1, 2, 3 - ]); + ]); "); } @@ -466,7 +466,7 @@ select ( 1, 2, 3 - ); + ); "); } @@ -489,7 +489,7 @@ select * from x 3, 4, 5 - ); + ); "); } @@ -505,7 +505,7 @@ select coalesce( a, b, c - ); + ); "); } @@ -519,7 +519,7 @@ create type status as enum ( create type status as enum ( 'active', 'inactive' - ); + ); "); } @@ -533,7 +533,7 @@ values insert into t (id, name) values (1, 'a'), - (2, 'b'); + (2, 'b'); "); } diff --git a/crates/squawk_ide/src/goto_definition.rs b/crates/squawk_ide/src/goto_definition.rs index 736ab6343..6ecd6b355 100644 --- a/crates/squawk_ide/src/goto_definition.rs +++ b/crates/squawk_ide/src/goto_definition.rs @@ -295,10 +295,10 @@ begin; select 1; rollback$0; ", - ), @r" + ), @" ╭▸ 2 │ begin; - │ ───── 2. destination + │ ────── 2. destination 3 │ select 1; 4 │ rollback; ╰╴ ─ 1. source @@ -3484,13 +3484,13 @@ select 1; rollback; commit; ", - ), @r" + ), @" ╭▸ 2 │ begin; │ ─ 1. source 3 │ select 1; 4 │ rollback; - ╰╴──────── 2. destination + ╰╴───────── 2. destination "); } @@ -3502,10 +3502,10 @@ begin; select 1; commit$0; ", - ), @r" + ), @" ╭▸ 2 │ begin; - │ ───── 2. destination + │ ────── 2. destination 3 │ select 1; 4 │ commit; ╰╴ ─ 1. source @@ -3520,13 +3520,13 @@ begin$0; select 1; commit; ", - ), @r" + ), @" ╭▸ 2 │ begin; │ ─ 1. source 3 │ select 1; 4 │ commit; - ╰╴────── 2. destination + ╰╴─────── 2. destination "); } @@ -3538,10 +3538,10 @@ start transaction; select 1; commit$0; ", - ), @r" + ), @" ╭▸ 2 │ start transaction; - │ ───────────────── 2. destination + │ ────────────────── 2. destination 3 │ select 1; 4 │ commit; ╰╴ ─ 1. source @@ -3556,13 +3556,13 @@ start$0 transaction; select 1; commit; ", - ), @r" + ), @" ╭▸ 2 │ start transaction; │ ─ 1. source 3 │ select 1; 4 │ commit; - ╰╴────── 2. destination + ╰╴─────── 2. destination "); } diff --git a/crates/squawk_ide/src/hover.rs b/crates/squawk_ide/src/hover.rs index a425fb1e4..3b3d4bfca 100644 --- a/crates/squawk_ide/src/hover.rs +++ b/crates/squawk_ide/src/hover.rs @@ -4178,7 +4178,7 @@ update users set email = new_data.email from new_data where new_data.id$0 = user fn hover_on_create_view_definition() { assert_snapshot!(check_hover(" create view v$0 as select 1; -"), @r" +"), @" hover: view public.v as select 1 ╭▸ 2 │ create view v as select 1; @@ -4190,7 +4190,7 @@ create view v$0 as select 1; fn hover_on_create_view_definition_with_schema() { assert_snapshot!(check_hover(" create view myschema.v$0 as select 1; -"), @r" +"), @" hover: view myschema.v as select 1 ╭▸ 2 │ create view myschema.v as select 1; @@ -4202,7 +4202,7 @@ create view myschema.v$0 as select 1; fn hover_on_create_temp_view_definition() { assert_snapshot!(check_hover(" create temp view v$0 as select 1; -"), @r" +"), @" hover: view pg_temp.v as select 1 ╭▸ 2 │ create temp view v as select 1; @@ -4242,7 +4242,7 @@ select a$0 from v; assert_snapshot!(check_hover(" create view v as select 1; select * from v$0; -"), @r" +"), @" hover: view public.v as select 1 ╭▸ 3 │ select * from v; @@ -4320,7 +4320,7 @@ select a from t$0; assert_snapshot!(check_hover(" create view myschema.v as select 1; select * from myschema.v$0; -"), @r" +"), @" hover: view myschema.v as select 1 ╭▸ 3 │ select * from myschema.v; @@ -4333,7 +4333,7 @@ select * from myschema.v$0; assert_snapshot!(check_hover(" create view v as select 1; drop view v$0; -"), @r" +"), @" hover: view public.v as select 1 ╭▸ 3 │ drop view v; @@ -4513,7 +4513,7 @@ alter table users alter email$0 set not null; assert_snapshot!(check_hover(" create materialized view mv as select 1; refresh materialized view mv$0; -"), @r" +"), @" hover: materialized view public.mv as select 1 ╭▸ 3 │ refresh materialized view mv; @@ -5158,7 +5158,7 @@ create tablespace t owner read$0er location 'foo'; assert_snapshot!(check_hover(" declare c scroll cursor for select * from t; fetch forward 5 from c$0; -"), @r" +"), @" hover: cursor c for select * from t ╭▸ 3 │ fetch forward 5 from c; @@ -5171,7 +5171,7 @@ fetch forward 5 from c$0; assert_snapshot!(check_hover(" declare c scroll cursor for select * from t; close c$0; -"), @r" +"), @" hover: cursor c for select * from t ╭▸ 3 │ close c; @@ -5184,7 +5184,7 @@ close c$0; assert_snapshot!(check_hover(" declare c scroll cursor for select * from t; move forward 10 from c$0; -"), @r" +"), @" hover: cursor c for select * from t ╭▸ 3 │ move forward 10 from c; @@ -5196,7 +5196,7 @@ move forward 10 from c$0; fn hover_on_prepare_statement() { assert_snapshot!(check_hover(" prepare stmt$0 as select 1; -"), @r" +"), @" hover: prepare stmt as select 1 ╭▸ 2 │ prepare stmt as select 1; @@ -5209,7 +5209,7 @@ prepare stmt$0 as select 1; assert_snapshot!(check_hover(" prepare stmt as select 1; execute stmt$0; -"), @r" +"), @" hover: prepare stmt as select 1 ╭▸ 3 │ execute stmt; @@ -5222,7 +5222,7 @@ execute stmt$0; assert_snapshot!(check_hover(" prepare stmt as select 1; deallocate stmt$0; -"), @r" +"), @" hover: prepare stmt as select 1 ╭▸ 3 │ deallocate stmt; diff --git a/crates/squawk_linter/src/ignore.rs b/crates/squawk_linter/src/ignore.rs index 9b99f2110..e5e048b74 100644 --- a/crates/squawk_linter/src/ignore.rs +++ b/crates/squawk_linter/src/ignore.rs @@ -303,7 +303,7 @@ create table users ( Violation { code: RequireTimeoutSettings, message: "Missing `set lock_timeout` before potentially slow operations", - text_range: 0..31, + text_range: 0..32, help: Some( "Configure a `lock_timeout` before this statement.", ), @@ -324,7 +324,7 @@ create table users ( Violation { code: RequireTimeoutSettings, message: "Missing `set statement_timeout` before potentially slow operations", - text_range: 0..31, + text_range: 0..32, help: Some( "Configure a `statement_timeout` before this statement", ), diff --git a/crates/squawk_linter/src/rules/ban_uncommitted_transaction.rs b/crates/squawk_linter/src/rules/ban_uncommitted_transaction.rs index 73562d8b9..6fdecf3f2 100644 --- a/crates/squawk_linter/src/rules/ban_uncommitted_transaction.rs +++ b/crates/squawk_linter/src/rules/ban_uncommitted_transaction.rs @@ -52,11 +52,11 @@ mod test { BEGIN; CREATE TABLE users (id bigint); "#; - assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @r" + assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @" warning[ban-uncommitted-transaction]: Transaction never committed or rolled back. ╭▸ 2 │ BEGIN; - │ ━━━━━ + │ ━━━━━━ │ ├ help: Add a `COMMIT` or `ROLLBACK` statement to complete the transaction. ╭╴ @@ -104,11 +104,11 @@ COMMIT; BEGIN; CREATE TABLE posts (id bigint); "#; - assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @r" + assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @" warning[ban-uncommitted-transaction]: Transaction never committed or rolled back. ╭▸ 6 │ BEGIN; - │ ━━━━━ + │ ━━━━━━ │ ├ help: Add a `COMMIT` or `ROLLBACK` statement to complete the transaction. ╭╴ @@ -124,11 +124,11 @@ CREATE TABLE posts (id bigint); START TRANSACTION; CREATE TABLE users (id bigint); "#; - assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @r" + assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @" warning[ban-uncommitted-transaction]: Transaction never committed or rolled back. ╭▸ 2 │ START TRANSACTION; - │ ━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━ │ ├ help: Add a `COMMIT` or `ROLLBACK` statement to complete the transaction. ╭╴ @@ -154,11 +154,11 @@ COMMIT; BEGIN WORK; CREATE TABLE users (id bigint); "#; - assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @r" + assert_snapshot!(lint_errors(sql, Rule::BanUncommittedTransaction), @" warning[ban-uncommitted-transaction]: Transaction never committed or rolled back. ╭▸ 2 │ BEGIN WORK; - │ ━━━━━━━━━━ + │ ━━━━━━━━━━━ │ ├ help: Add a `COMMIT` or `ROLLBACK` statement to complete the transaction. ╭╴ diff --git a/crates/squawk_linter/src/rules/prefer_repack.rs b/crates/squawk_linter/src/rules/prefer_repack.rs index 9e1989a91..2f4009bd9 100644 --- a/crates/squawk_linter/src/rules/prefer_repack.rs +++ b/crates/squawk_linter/src/rules/prefer_repack.rs @@ -99,12 +99,12 @@ mod test { warning[prefer-repack]: `cluster` requires an `ACCESS EXCLUSIVE` lock which blocks reads and writes to the table. ╭▸ 1 │ CLUSTER foo; - │ ━━━━━━━━━━━ + │ ━━━━━━━━━━━━ │ ├ help: Use `repack` to rewrite the table without blocking reads and writes. ╭╴ 1 - CLUSTER foo; - 1 + repack (concurrently) foo; + 1 + repack (concurrently) foo ╰╴ "); } @@ -116,12 +116,12 @@ mod test { warning[prefer-repack]: `cluster` requires an `ACCESS EXCLUSIVE` lock which blocks reads and writes to the table. ╭▸ 1 │ CLUSTER; - │ ━━━━━━━ + │ ━━━━━━━━ │ ├ help: Use `repack` to rewrite the table without blocking reads and writes. ╭╴ 1 - CLUSTER; - 1 + repack (concurrently); + 1 + repack (concurrently) ╰╴ "); } @@ -133,12 +133,12 @@ mod test { warning[prefer-repack]: `vacuum full` requires an `ACCESS EXCLUSIVE` lock which blocks reads and writes to the table. ╭▸ 1 │ VACUUM FULL foo; - │ ━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━ │ ├ help: Use `repack` to rewrite the table without blocking reads and writes. ╭╴ 1 - VACUUM FULL foo; - 1 + repack (concurrently) foo; + 1 + repack (concurrently) foo ╰╴ "); } @@ -150,12 +150,12 @@ mod test { warning[prefer-repack]: `vacuum full` requires an `ACCESS EXCLUSIVE` lock which blocks reads and writes to the table. ╭▸ 1 │ VACUUM (FULL) foo; - │ ━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━ │ ├ help: Use `repack` to rewrite the table without blocking reads and writes. ╭╴ 1 - VACUUM (FULL) foo; - 1 + repack (concurrently) foo; + 1 + repack (concurrently) foo ╰╴ "); } @@ -203,36 +203,36 @@ mod test { #[test] fn fix_vacuum_full() { - assert_snapshot!(fix("VACUUM FULL foo;"), @"repack (concurrently) foo;"); + assert_snapshot!(fix("VACUUM FULL foo;"), @"repack (concurrently) foo"); } #[test] fn fix_vacuum_full_option_list() { - assert_snapshot!(fix("VACUUM (FULL) foo;"), @"repack (concurrently) foo;"); + assert_snapshot!(fix("VACUUM (FULL) foo;"), @"repack (concurrently) foo"); } #[test] fn fix_vacuum_full_multiple_tables() { - assert_snapshot!(fix("VACUUM FULL foo, bar;"), @"repack (concurrently) foo, bar;"); + assert_snapshot!(fix("VACUUM FULL foo, bar;"), @"repack (concurrently) foo, bar"); } #[test] fn fix_cluster_no_index() { - assert_snapshot!(fix("CLUSTER foo;"), @"repack (concurrently) foo;"); + assert_snapshot!(fix("CLUSTER foo;"), @"repack (concurrently) foo"); } #[test] fn fix_cluster_with_index() { - assert_snapshot!(fix("CLUSTER foo USING foo_pkey;"), @"repack (concurrently) foo using index foo_pkey;"); + assert_snapshot!(fix("CLUSTER foo USING foo_pkey;"), @"repack (concurrently) foo using index foo_pkey"); } #[test] fn fix_cluster_legacy_on_syntax() { - assert_snapshot!(fix("CLUSTER verbose foo_pkey ON foo;"), @"repack (concurrently) foo using index foo_pkey;"); + assert_snapshot!(fix("CLUSTER verbose foo_pkey ON foo;"), @"repack (concurrently) foo using index foo_pkey"); } #[test] fn fix_cluster_no_path() { - assert_snapshot!(fix("CLUSTER;"), @"repack (concurrently);"); + assert_snapshot!(fix("CLUSTER;"), @"repack (concurrently)"); } } diff --git a/crates/squawk_linter/src/rules/require_concurrent_reindex.rs b/crates/squawk_linter/src/rules/require_concurrent_reindex.rs index 2aa731487..c1052570a 100644 --- a/crates/squawk_linter/src/rules/require_concurrent_reindex.rs +++ b/crates/squawk_linter/src/rules/require_concurrent_reindex.rs @@ -61,7 +61,7 @@ mod test { warning[require-concurrent-reindex]: Reindexing a table or index without `concurrently` blocks reads and writes. ╭▸ 1 │ REINDEX TABLE foo; - │ ━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━ │ ├ help: Use `concurrently` to avoid blocking reads and writes. ╭╴ @@ -77,7 +77,7 @@ mod test { warning[require-concurrent-reindex]: Reindexing a table or index without `concurrently` blocks reads and writes. ╭▸ 1 │ REINDEX INDEX foo; - │ ━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━ │ ├ help: Use `concurrently` to avoid blocking reads and writes. ╭╴ @@ -93,7 +93,7 @@ mod test { warning[require-concurrent-reindex]: Reindexing a table or index without `concurrently` blocks reads and writes. ╭▸ 1 │ REINDEX SCHEMA foo; - │ ━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━ │ ├ help: Use `concurrently` to avoid blocking reads and writes. ╭╴ @@ -109,7 +109,7 @@ mod test { warning[require-concurrent-reindex]: Reindexing a table or index without `concurrently` blocks reads and writes. ╭▸ 1 │ REINDEX DATABASE foo; - │ ━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Use `concurrently` to avoid blocking reads and writes. ╭╴ diff --git a/crates/squawk_linter/src/rules/require_timeout_settings.rs b/crates/squawk_linter/src/rules/require_timeout_settings.rs index fe93b0d0e..303dc0cad 100644 --- a/crates/squawk_linter/src/rules/require_timeout_settings.rs +++ b/crates/squawk_linter/src/rules/require_timeout_settings.rs @@ -122,11 +122,11 @@ mod test { let sql = r#" ALTER TABLE t ADD COLUMN c BOOLEAN; "#; - assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @r" + assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @" warning[require-timeout-settings]: Missing `set lock_timeout` before potentially slow operations ╭▸ 2 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -135,7 +135,7 @@ ALTER TABLE t ADD COLUMN c BOOLEAN; warning[require-timeout-settings]: Missing `set statement_timeout` before potentially slow operations ╭▸ 2 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ @@ -150,11 +150,11 @@ ALTER TABLE t ADD COLUMN c BOOLEAN; SET statement_timeout = '5s'; ALTER TABLE t ADD COLUMN c BOOLEAN; "#; - assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @r" + assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @" warning[require-timeout-settings]: Missing `set lock_timeout` before potentially slow operations ╭▸ 3 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -169,11 +169,11 @@ ALTER TABLE t ADD COLUMN c BOOLEAN; SET lock_timeout = '1s'; ALTER TABLE t ADD COLUMN c BOOLEAN; "#; - assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @r" + assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @" warning[require-timeout-settings]: Missing `set statement_timeout` before potentially slow operations ╭▸ 3 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ @@ -217,11 +217,11 @@ SET foo.lock_timeout = '1s'; SET foo.statement_timeout = '5s'; ALTER TABLE t ADD COLUMN c BOOLEAN; "#; - assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @r" + assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @" warning[require-timeout-settings]: Missing `set lock_timeout` before potentially slow operations ╭▸ 4 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -230,7 +230,7 @@ ALTER TABLE t ADD COLUMN c BOOLEAN; warning[require-timeout-settings]: Missing `set statement_timeout` before potentially slow operations ╭▸ 4 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ @@ -245,11 +245,11 @@ ALTER TABLE t ADD COLUMN c BOOLEAN; SET lock_timeout = '1s'; SET statement_timeout = '5s'; "#; - assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @r" + assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @" warning[require-timeout-settings]: Missing `set lock_timeout` before potentially slow operations ╭▸ 2 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -258,7 +258,7 @@ SET statement_timeout = '5s'; warning[require-timeout-settings]: Missing `set statement_timeout` before potentially slow operations ╭▸ 2 │ ALTER TABLE t ADD COLUMN c BOOLEAN; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ @@ -272,11 +272,11 @@ SET statement_timeout = '5s'; let sql = r#" CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); "#; - assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @r" + assert_snapshot!(lint_errors(sql, Rule::RequireTimeoutSettings), @" warning[require-timeout-settings]: Missing `set lock_timeout` before potentially slow operations ╭▸ 2 │ CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `lock_timeout` before this statement. ╭╴ @@ -285,7 +285,7 @@ CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); warning[require-timeout-settings]: Missing `set statement_timeout` before potentially slow operations ╭▸ 2 │ CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Configure a `statement_timeout` before this statement ╭╴ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_database__test__ban_drop_database.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_database__test__ban_drop_database.snap index 778c1cd42..e3c88876e 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_database__test__ban_drop_database.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_database__test__ban_drop_database.snap @@ -5,11 +5,11 @@ expression: "lint_errors(sql, Rule::BanDropDatabase)" warning[ban-drop-database]: Dropping a database may break existing clients. ╭▸ 2 │ DROP DATABASE "table_name"; - ╰╴ ━━━━━━━━━━━━━━━━━━━━━━━━━━ + ╰╴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━ warning[ban-drop-database]: Dropping a database may break existing clients. ╭▸ 3 │ DROP DATABASE IF EXISTS "table_name"; - ╰╴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + ╰╴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ warning[ban-drop-database]: Dropping a database may break existing clients. ╭▸ 4 │ DROP DATABASE IF EXISTS "table_name" diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_table__test__err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_table__test__err.snap index 539b66a1c..74ef97127 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_table__test__err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__ban_drop_table__test__err.snap @@ -5,11 +5,11 @@ expression: "lint_errors(sql, Rule::BanDropTable)" warning[ban-drop-table]: Dropping a table may break existing clients. ╭▸ 2 │ DROP TABLE "table_name"; - ╰╴━━━━━━━━━━━━━━━━━━━━━━━ + ╰╴━━━━━━━━━━━━━━━━━━━━━━━━ warning[ban-drop-table]: Dropping a table may break existing clients. ╭▸ 3 │ DROP TABLE IF EXISTS "table_name"; - ╰╴━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + ╰╴━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ warning[ban-drop-table]: Dropping a table may break existing clients. ╭▸ 4 │ DROP TABLE IF EXISTS "table_name" diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_index_concurrently_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_index_concurrently_err.snap index d320296ec..1bf25273c 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_index_concurrently_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_index_concurrently_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(r#\"\nselect 1; -- so we don't skip checking\nCREATE IN warning[prefer-robust-stmts]: Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through. ╭▸ 3 │ CREATE INDEX CONCURRENTLY "core_foo_idx" ON "core_foo" ("answer_id"); - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Use an explicit name for a concurrently created index ╭╴ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_err.snap index dd40b3bd3..efc8e6543 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(r#\"\nselect 1; -- so we don't skip checking\nCREATE TA warning[prefer-robust-stmts]: Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through. ╭▸ 3 │ CREATE TABLE "core_bar" ( "id" serial NOT NULL PRIMARY KEY, "bravo" text NOT NULL); - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ╭╴ 3 │ CREATE TABLE if not exists "core_bar" ( "id" serial NOT NULL PRIMARY KEY, "bravo" text NOT NULL); ╰╴ +++++++++++++ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_with_on_commit_drop_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_with_on_commit_drop_err.snap index a8dbab4eb..c0a3b88ea 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_with_on_commit_drop_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_table_with_on_commit_drop_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(r#\"\nselect 1; -- so we don't skip checking\nCREATE TA warning[prefer-robust-stmts]: Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through. ╭▸ 3 │ CREATE TABLE test_table (id int) ON COMMIT DROP; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ╭╴ 3 │ CREATE TABLE if not exists test_table (id int) ON COMMIT DROP; ╰╴ +++++++++++++ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_temp_table_without_on_commit_drop_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_temp_table_without_on_commit_drop_err.snap index 5ce75b41b..ed2d74d9e 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_temp_table_without_on_commit_drop_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__create_temp_table_without_on_commit_drop_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(r#\"\nselect 1; -- so we don't skip checking\nCREATE TE warning[prefer-robust-stmts]: Missing `IF NOT EXISTS`, the migration can't be rerun if it fails part way through. ╭▸ 3 │ CREATE TEMP TABLE test_table (id int); - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ╭╴ 3 │ CREATE TEMP TABLE if not exists test_table (id int); ╰╴ +++++++++++++ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__drop_index_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__drop_index_err.snap index d0190ff87..c5a806ca2 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__drop_index_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test__drop_index_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(r#\"\nselect 1; -- so we don't skip checking\nDROP INDE warning[prefer-robust-stmts]: Missing `IF EXISTS`, the migration can't be rerun if it fails part way through. ╭▸ 3 │ DROP INDEX CONCURRENTLY "email_idx"; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ╭╴ 3 │ DROP INDEX CONCURRENTLY if exists "email_idx"; ╰╴ +++++++++ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test__adding_index_non_concurrently_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test__adding_index_non_concurrently_err.snap index 0f0c2802f..30b40f18d 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test__adding_index_non_concurrently_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test__adding_index_non_concurrently_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(sql, Rule::RequireConcurrentIndexCreation)" warning[require-concurrent-index-creation]: During normal index creation, table updates are blocked, but reads are still allowed. ╭▸ 3 │ CREATE INDEX "field_name_idx" ON "table_name" ("field_name"); - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Use `concurrently` to avoid blocking writes. ╭╴ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_deletion__test__drop_index_missing_concurrently_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_deletion__test__drop_index_missing_concurrently_err.snap index 1c85a67f3..cf4b8b1bd 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_deletion__test__drop_index_missing_concurrently_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_deletion__test__drop_index_missing_concurrently_err.snap @@ -5,7 +5,7 @@ expression: "lint_errors(sql, Rule::RequireConcurrentIndexDeletion)" warning[require-concurrent-index-deletion]: A normal `DROP INDEX` acquires an `ACCESS EXCLUSIVE` lock on the table, blocking other accesses until the index drop can complete. ╭▸ 3 │ DROP INDEX IF EXISTS "field_name_idx"; - │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ├ help: Drop the index `CONCURRENTLY`. ╭╴ diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_assume_transaction_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_assume_transaction_err.snap index 28c83f4d7..acf2e90ca 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_assume_transaction_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_assume_transaction_err.snap @@ -5,18 +5,18 @@ expression: "lint_errors_with(sql, settings)" warning[transaction-nesting]: There is an existing transaction already in progress, managed by your migration tool. ╭▸ 2 │ BEGIN; - │ ━━━━━ + │ ━━━━━━ │ ╰ help: Put migration statements in separate files to have them be in separate transactions or don't use the assume-in-transaction setting. warning[transaction-nesting]: There is an existing transaction already in progress, managed by your migration tool. ╭▸ 3 │ BEGIN; - │ ━━━━━ + │ ━━━━━━ │ ╰ help: Put migration statements in separate files to have them be in separate transactions or don't use the assume-in-transaction setting. warning[transaction-nesting]: Attempting to end the transaction that is managed by your migration tool ╭▸ 5 │ COMMIT; - │ ━━━━━━ + │ ━━━━━━━ │ ╰ help: Put migration statements in separate files to have them be in separate transactions or don't use the assume-in-transaction setting. diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_repeated_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_repeated_err.snap index c1f89bbe4..9b9dbb7f7 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_repeated_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__begin_repeated_err.snap @@ -5,6 +5,6 @@ expression: "lint_errors(sql, Rule::TransactionNesting)" warning[transaction-nesting]: There is an existing transaction already in progress. ╭▸ 3 │ BEGIN; - │ ━━━━━ + │ ━━━━━━ │ ╰ help: Put migration statements in separate files to have them be in separate transactions or don't use the assume-in-transaction setting. diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_repeated_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_repeated_err.snap index b02ef981e..bb240ec43 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_repeated_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_repeated_err.snap @@ -5,6 +5,6 @@ expression: "lint_errors(sql, Rule::TransactionNesting)" warning[transaction-nesting]: There is no transaction to `COMMIT` or `ROLLBACK`. ╭▸ 5 │ COMMIT; - │ ━━━━━━ + │ ━━━━━━━ │ ╰ help: `BEGIN` a transaction at an earlier point in the migration or remove this statement. diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_with_assume_in_transaction_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_with_assume_in_transaction_err.snap index 39fc18b88..1d94e2c82 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_with_assume_in_transaction_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__commit_with_assume_in_transaction_err.snap @@ -5,6 +5,6 @@ expression: "lint_errors_with(sql, settings)" warning[transaction-nesting]: Attempting to end the transaction that is managed by your migration tool ╭▸ 3 │ COMMIT; - │ ━━━━━━ + │ ━━━━━━━ │ ╰ help: Put migration statements in separate files to have them be in separate transactions or don't use the assume-in-transaction setting. diff --git a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__rollback_with_assume_in_transaction_err.snap b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__rollback_with_assume_in_transaction_err.snap index e4c5f0fc7..46c322521 100644 --- a/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__rollback_with_assume_in_transaction_err.snap +++ b/crates/squawk_linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test__rollback_with_assume_in_transaction_err.snap @@ -5,6 +5,6 @@ expression: "lint_errors_with(sql, settings)" warning[transaction-nesting]: Attempting to end the transaction that is managed by your migration tool ╭▸ 4 │ ROLLBACK; - │ ━━━━━━━━ + │ ━━━━━━━━━ │ ╰ help: Put migration statements in separate files to have them be in separate transactions or don't use the assume-in-transaction setting. diff --git a/crates/squawk_parser/src/generated/syntax_kind.rs b/crates/squawk_parser/src/generated/syntax_kind.rs index 24b2cacf3..0b4cd6fbc 100644 --- a/crates/squawk_parser/src/generated/syntax_kind.rs +++ b/crates/squawk_parser/src/generated/syntax_kind.rs @@ -644,7 +644,6 @@ pub enum SyntaxKind { AT_TIME_ZONE, BEFORE_VALUE, BEGIN, - BEGIN_FUNC_OPTION, BEGIN_FUNC_OPTION_LIST, BETWEEN_EXPR, BIN_EXPR, diff --git a/crates/squawk_parser/src/grammar.rs b/crates/squawk_parser/src/grammar.rs index 51020f47a..05a2dc3fa 100644 --- a/crates/squawk_parser/src/grammar.rs +++ b/crates/squawk_parser/src/grammar.rs @@ -58,7 +58,7 @@ fn array_expr(p: &mut Parser<'_>, m: Option) -> CompletedMarker { let m = m.unwrap_or_else(|| p.start()); if p.at(L_PAREN) && p.nth_at_ts(1, SELECT_FIRST) { p.expect(L_PAREN); - select(p, None, &SelectRestrictions::default()); + select(p, None, &SelectRestrictions::default(), false); p.expect(R_PAREN); } else { // `[` or `(` @@ -89,7 +89,11 @@ impl Default for SelectRestrictions { } } -fn opt_paren_select(p: &mut Parser<'_>, m: Option) -> Option { +fn opt_paren_select( + p: &mut Parser<'_>, + m: Option, + semi_allowed: bool, +) -> Option { let m = m.unwrap_or_else(|| p.start()); if !p.eat(L_PAREN) { m.abandon(p); @@ -100,13 +104,13 @@ fn opt_paren_select(p: &mut Parser<'_>, m: Option) -> Option, m: Option) -> Option) -> CompletedMarker { // we want to check for select stuff before we get the the expr stuff maybe? Although select is an expr so maybe fine? but it's not prefix or postfix so maybe right here is good? // if p.at_ts(SELECT_FIRST) - && (select(p, None, &SelectRestrictions::default()).is_none() + && (select(p, None, &SelectRestrictions::default(), false).is_none() || p.at(EOF) || p.at(R_PAREN)) { @@ -167,7 +174,7 @@ fn tuple_expr(p: &mut Parser<'_>) -> CompletedMarker { ); // TODO: needs to be reworked if p.at_ts(COMPOUND_SELECT_FIRST) { - return compound_select(p, cm); + return compound_select(p, cm, false); } cm } @@ -701,7 +708,7 @@ fn opt_json_array_fn_arg_list(p: &mut Parser<'_>) { // 1, 2, 3, 4 while !p.at(EOF) && !p.at(R_PAREN) && !p.at(RETURNING_KW) { if p.at_ts(SELECT_FIRST) { - if select(p, None, &SelectRestrictions::default()).is_none() + if select(p, None, &SelectRestrictions::default(), false).is_none() || p.at(EOF) || p.at(R_PAREN) { @@ -751,7 +758,7 @@ fn some_any_all_fn(p: &mut Parser<'_>) -> CompletedMarker { // args p.expect(L_PAREN); if p.at_ts(SELECT_FIRST) { - select(p, None, &SelectRestrictions::default()); + select(p, None, &SelectRestrictions::default(), false); } else { if expr(p).is_none() { p.error("expected expression or select"); @@ -854,7 +861,7 @@ fn exists_fn(p: &mut Parser<'_>) -> CompletedMarker { p.bump(EXISTS_KW); p.expect(L_PAREN); if p.at_ts(SELECT_FIRST) { - select(p, None, &SelectRestrictions::default()); + select(p, None, &SelectRestrictions::default(), false); } else { p.error("expected select"); } @@ -2686,7 +2693,7 @@ fn select_clause(p: &mut Parser<'_>) -> CompletedMarker { m.complete(p, SELECT_CLAUSE) } -fn compound_select(p: &mut Parser<'_>, cm: CompletedMarker) -> CompletedMarker { +fn compound_select(p: &mut Parser<'_>, cm: CompletedMarker, semi_allowed: bool) -> CompletedMarker { assert!(p.at_ts(COMPOUND_SELECT_FIRST)); let m = cm.precede(p); p.bump_any(); @@ -2694,7 +2701,7 @@ fn compound_select(p: &mut Parser<'_>, cm: CompletedMarker) -> CompletedMarker { p.eat(DISTINCT_KW); } if p.at(L_PAREN) { - opt_paren_select(p, None); + opt_paren_select(p, None, false); } else { if p.at_ts(SELECT_FIRST) { select( @@ -2703,12 +2710,16 @@ fn compound_select(p: &mut Parser<'_>, cm: CompletedMarker) -> CompletedMarker { &SelectRestrictions { trailing_clauses: false, }, + false, ); } else { p.error("expected start of a select statement") } } opt_select_trailing_clauses(p); + if semi_allowed { + p.eat(SEMICOLON); + } m.complete(p, COMPOUND_SELECT) } @@ -2721,7 +2732,12 @@ fn opt_select_clause(p: &mut Parser<'_>) { // error recovery: // - /// -fn select(p: &mut Parser, m: Option, r: &SelectRestrictions) -> Option { +fn select( + p: &mut Parser, + m: Option, + r: &SelectRestrictions, + semi_allowed: bool, +) -> Option { assert!(p.at_ts(SELECT_FIRST)); let m = m.unwrap_or_else(|| p.start()); @@ -2730,12 +2746,12 @@ fn select(p: &mut Parser, m: Option, r: &SelectRestrictions) -> Option, r: &SelectRestrictions) -> Option) -> bool { fn paren_data_source(p: &mut Parser<'_>) -> Option { assert!(p.at(L_PAREN)); if p.at(L_PAREN) && p.nth_at_ts(1, SELECT_FIRST) { - return opt_paren_select(p, None); + return opt_paren_select(p, None, false); } let m = p.start(); p.bump(L_PAREN); @@ -3361,7 +3380,7 @@ fn paren_data_source(p: &mut Parser<'_>) -> Option { if opt_from_item(p) { if p.at_ts(COMPOUND_SELECT_FIRST) { let cm = m.complete(p, PAREN_SELECT); - let cm = compound_select(p, cm); + let cm = compound_select(p, cm, false); p.expect(R_PAREN); return Some(cm.precede(p).complete(p, PAREN_SELECT)); } @@ -5098,6 +5117,7 @@ fn drop_table(p: &mut Parser<'_>) -> CompletedMarker { |p| opt_path_name_ref(p).is_some(), ); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TABLE) } @@ -5315,8 +5335,10 @@ fn create_table(p: &mut Parser<'_>) -> CompletedMarker { opt_with_data(p); + p.eat(SEMICOLON); return m.complete(p, CREATE_TABLE_AS); } + p.eat(SEMICOLON); m.complete(p, CREATE_TABLE) } @@ -5505,6 +5527,7 @@ fn commit(p: &mut Parser<'_>) -> CompletedMarker { p.expect(CHAIN_KW); } } + p.eat(SEMICOLON); m.complete(p, COMMIT) } @@ -5586,6 +5609,7 @@ fn begin(p: &mut Parser<'_>) -> CompletedMarker { p.expect(TRANSACTION_KW); opt_transaction_mode_list(p); } + p.eat(SEMICOLON); m.complete(p, BEGIN) } @@ -5629,6 +5653,7 @@ fn prepare_transaction(p: &mut Parser<'_>) -> CompletedMarker { p.bump(PREPARE_KW); p.expect(TRANSACTION_KW); string_literal(p); + p.eat(SEMICOLON); m.complete(p, PREPARE_TRANSACTION) } @@ -5640,6 +5665,7 @@ fn savepoint(p: &mut Parser<'_>) -> CompletedMarker { let m = p.start(); p.bump(SAVEPOINT_KW); name(p); + p.eat(SEMICOLON); m.complete(p, SAVEPOINT) } @@ -5652,6 +5678,7 @@ fn release(p: &mut Parser<'_>) -> CompletedMarker { p.bump(RELEASE_KW); p.eat(SAVEPOINT_KW); name_ref(p); + p.eat(SEMICOLON); m.complete(p, RELEASE_SAVEPOINT) } @@ -5671,6 +5698,7 @@ fn rollback(p: &mut Parser<'_>) -> CompletedMarker { p.bump_any(); if p.eat(PREPARED_KW) { string_literal(p); + p.eat(SEMICOLON); return m.complete(p, ROLLBACK); } let _ = p.eat(WORK_KW) || p.eat(TRANSACTION_KW); @@ -5681,12 +5709,14 @@ fn rollback(p: &mut Parser<'_>) -> CompletedMarker { p.eat(NO_KW); p.expect(CHAIN_KW); } + p.eat(SEMICOLON); m.complete(p, ROLLBACK) } #[derive(Default)] struct StmtRestrictions { begin_end_allowed: bool, + semi_allowed: bool, } fn stmt(p: &mut Parser, r: &StmtRestrictions) -> Option { @@ -5841,7 +5871,7 @@ fn stmt(p: &mut Parser, r: &StmtRestrictions) -> Option { (CREATE_KW, CONSTRAINT_KW | TRIGGER_KW) => Some(create_trigger(p)), (DEALLOCATE_KW, _) => Some(deallocate(p)), (DECLARE_KW, _) => Some(declare(p)), - (DELETE_KW, _) => Some(delete(p, None)), + (DELETE_KW, _) => Some(delete(p, None, r.semi_allowed)), (DISCARD_KW, _) => Some(discard(p)), (DO_KW, _) => Some(do_(p)), (DROP_KW, ACCESS_KW) => Some(drop_access_method(p)), @@ -5913,15 +5943,15 @@ fn stmt(p: &mut Parser, r: &StmtRestrictions) -> Option { (FETCH_KW, _) => Some(fetch(p)), (GRANT_KW, _) => Some(grant(p)), (IMPORT_KW, FOREIGN_KW) => Some(import_foreign_schema(p)), - (INSERT_KW, _) => Some(insert(p, None)), + (INSERT_KW, _) => Some(insert(p, None, r.semi_allowed)), (L_PAREN, _) if p.nth_at_ts(1, PAREN_SELECT_FIRST) => { // can have select nested in parens, i.e., ((select 1)); - opt_paren_select(p, None) + opt_paren_select(p, None, r.semi_allowed) } (LISTEN_KW, _) => Some(listen(p)), (LOAD_KW, _) => Some(load(p)), (LOCK_KW, _) => Some(lock(p)), - (MERGE_KW, _) => Some(merge(p, None)), + (MERGE_KW, _) => Some(merge(p, None, r.semi_allowed)), (MOVE_KW, _) => Some(move_(p)), (NOTIFY_KW, _) => Some(notify(p)), (PREPARE_KW, TRANSACTION_KW) => Some(prepare_transaction(p)), @@ -5939,7 +5969,7 @@ fn stmt(p: &mut Parser, r: &StmtRestrictions) -> Option { (SAVEPOINT_KW, _) => Some(savepoint(p)), (SECURITY_KW, LABEL_KW) => Some(security_label(p)), (SELECT_KW | TABLE_KW | VALUES_KW | FROM_KW, _) => { - select(p, None, &SelectRestrictions::default()) + select(p, None, &SelectRestrictions::default(), r.semi_allowed) } (SET_KW, CONSTRAINTS_KW) => Some(set_constraints(p)), (SET_KW, LOCAL_KW) => match p.nth(2) { @@ -5960,9 +5990,9 @@ fn stmt(p: &mut Parser, r: &StmtRestrictions) -> Option { (START_KW, TRANSACTION_KW) => Some(begin(p)), (TRUNCATE_KW, _) => Some(truncate(p)), (UNLISTEN_KW, _) => Some(unlisten(p)), - (UPDATE_KW, _) => Some(update(p, None)), + (UPDATE_KW, _) => Some(update(p, None, r.semi_allowed)), (VACUUM_KW, _) => Some(vacuum(p)), - (WITH_KW, _) => with(p, None), + (WITH_KW, _) => with(p, None, r.semi_allowed), (command, _) => { // commands are outlined in: // https://www.postgresql.org/docs/17/sql-commands.html @@ -6018,6 +6048,7 @@ fn alter_statistics(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected OWNER, RENAME, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_STATISTICS) } @@ -6050,6 +6081,7 @@ fn alter_server(p: &mut Parser<'_>) -> CompletedMarker { } } } + p.eat(SEMICOLON); m.complete(p, ALTER_SERVER) } @@ -6101,6 +6133,7 @@ fn alter_sequence(p: &mut Parser<'_>) -> CompletedMarker { } } } + p.eat(SEMICOLON); m.complete(p, ALTER_SEQUENCE) } @@ -6123,6 +6156,7 @@ fn alter_schema(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected RENAME or OWNER"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_SCHEMA) } @@ -6135,6 +6169,7 @@ fn alter_rule(p: &mut Parser<'_>) -> CompletedMarker { name_ref(p); on_table(p); rename_to(p); + p.eat(SEMICOLON); m.complete(p, ALTER_RULE) } @@ -6183,6 +6218,7 @@ fn alter_routine(p: &mut Parser<'_>) -> CompletedMarker { } } p.eat(RESTRICT_KW); + p.eat(SEMICOLON); m.complete(p, ALTER_ROUTINE) } @@ -6237,6 +6273,7 @@ fn alter_role(p: &mut Parser<'_>) -> CompletedMarker { opt_role_option_list(p); } } + p.eat(SEMICOLON); m.complete(p, ALTER_ROLE) } @@ -6291,6 +6328,7 @@ fn alter_publication(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected ADD, SET, DROP, OWNER, or RENAME"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_PUBLICATION) } @@ -6339,6 +6377,7 @@ fn alter_procedure(p: &mut Parser<'_>) -> CompletedMarker { p.eat(RESTRICT_KW); } } + p.eat(SEMICOLON); m.complete(p, ALTER_PROCEDURE) } @@ -6363,6 +6402,7 @@ fn alter_policy(p: &mut Parser<'_>) -> CompletedMarker { opt_using_expr_clause(p); opt_with_check_expr_clause(p); } + p.eat(SEMICOLON); m.complete(p, ALTER_POLICY) } @@ -6443,6 +6483,7 @@ fn alter_operator_family(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected ADD, DROP, RENAME, OWNER, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_OPERATOR_FAMILY) } @@ -6494,6 +6535,7 @@ fn alter_operator_class(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected RENAME, OWNER, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_OPERATOR_CLASS) } @@ -6529,6 +6571,7 @@ fn alter_operator(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected OWNER or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_OPERATOR) } @@ -6603,6 +6646,7 @@ fn alter_materialized_view(p: &mut Parser<'_>) -> CompletedMarker { } } } + p.eat(SEMICOLON); m.complete(p, ALTER_MATERIALIZED_VIEW) } @@ -6649,6 +6693,7 @@ fn alter_large_object(p: &mut Parser<'_>) -> CompletedMarker { p.expect(OWNER_KW); p.expect(TO_KW); role_ref(p); + p.eat(SEMICOLON); m.complete(p, ALTER_LARGE_OBJECT) } @@ -6672,6 +6717,7 @@ fn alter_language(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected RENAME or OWNER"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_LANGUAGE) } @@ -6765,6 +6811,7 @@ fn alter_index(p: &mut Parser<'_>) -> CompletedMarker { } } } + p.eat(SEMICOLON); m.complete(p, ALTER_INDEX) } @@ -6795,6 +6842,7 @@ fn alter_group(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected ADD, DROP, or RENAME"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_GROUP) } @@ -6849,6 +6897,7 @@ fn alter_function(p: &mut Parser<'_>) -> CompletedMarker { } } p.eat(RESTRICT_KW); + p.eat(SEMICOLON); m.complete(p, ALTER_FUNCTION) } @@ -6913,6 +6962,7 @@ fn alter_foreign_table(p: &mut Parser<'_>) -> CompletedMarker { opt_alter_table_action_list(p); } } + p.eat(SEMICOLON); m.complete(p, ALTER_FOREIGN_TABLE) } @@ -6949,6 +6999,7 @@ fn alter_foreign_data_wrapper(p: &mut Parser<'_>) -> CompletedMarker { if !found_option { p.error("Missing alter foreign data wrapper option or action.") } + p.eat(SEMICOLON); m.complete(p, ALTER_FOREIGN_DATA_WRAPPER) } @@ -6981,6 +7032,7 @@ fn alter_event_trigger(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected DISABLE, ENABLE, OWNER, or RENAME"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_EVENT_TRIGGER) } @@ -7163,6 +7215,7 @@ fn alter_extension(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected UPDATE, SET, ADD, or DROP"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_EXTENSION) } @@ -7195,6 +7248,7 @@ fn alter_domain(p: &mut Parser<'_>) -> CompletedMarker { p.bump(DOMAIN_KW); path_name_ref(p); alter_domain_action(p); + p.eat(SEMICOLON); m.complete(p, ALTER_DOMAIN) } @@ -7434,6 +7488,7 @@ fn alter_default_privileges(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected GRANT or REVOKE"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_DEFAULT_PRIVILEGES) } @@ -7508,6 +7563,7 @@ fn alter_database(p: &mut Parser<'_>) -> CompletedMarker { opt_create_database_option_list(p); } } + p.eat(SEMICOLON); m.complete(p, ALTER_DATABASE) } @@ -7554,6 +7610,7 @@ fn alter_conversion(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected RENAME, OWNER, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_CONVERSION) } @@ -7584,6 +7641,7 @@ fn alter_collation(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected REFRESH, RENAME, OWNER, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_COLLATION) } @@ -7633,6 +7691,7 @@ fn alter_aggregate(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected RENAME, OWNER, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_AGGREGATE) } @@ -7701,6 +7760,7 @@ fn alter_subscription(p: &mut Parser<'_>) -> CompletedMarker { ); } } + p.eat(SEMICOLON); m.complete(p, ALTER_SUBSCRIPTION) } @@ -7734,6 +7794,7 @@ fn alter_system(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected SET or RESET after ALTER SYSTEM"); } + p.eat(SEMICOLON); m.complete(p, ALTER_SYSTEM) } @@ -7758,6 +7819,7 @@ fn alter_tablespace(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected RENAME, OWNER, SET, or RESET after tablespace name"); } + p.eat(SEMICOLON); m.complete(p, ALTER_TABLESPACE) } @@ -7796,6 +7858,7 @@ fn alter_text_search_parser(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected RENAME TO or SET SCHEMA"); } + p.eat(SEMICOLON); m.complete(p, ALTER_TEXT_SEARCH_PARSER) } @@ -7829,6 +7892,7 @@ fn alter_text_search_dict(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected '(', RENAME, OWNER, or SET"); } + p.eat(SEMICOLON); m.complete(p, ALTER_TEXT_SEARCH_DICTIONARY) } @@ -7916,6 +7980,7 @@ fn alter_text_search_configuration(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected ADD, ALTER, DROP, RENAME, OWNER, or SET"); } } + p.eat(SEMICOLON); m.complete(p, ALTER_TEXT_SEARCH_CONFIGURATION) } @@ -7955,6 +8020,7 @@ fn alter_text_search_template(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected RENAME TO or SET SCHEMA"); } + p.eat(SEMICOLON); m.complete(p, ALTER_TEXT_SEARCH_TEMPLATE) } @@ -7976,6 +8042,7 @@ fn alter_trigger(p: &mut Parser<'_>) -> CompletedMarker { p.error(format!("expected NO or DEPENDS, found {:?}", p.current())); } } + p.eat(SEMICOLON); m.complete(p, ALTER_TRIGGER) } @@ -8078,6 +8145,7 @@ fn alter_type(p: &mut Parser<'_>) -> CompletedMarker { } _ => p.error("expected ALTER TYPE option"), } + p.eat(SEMICOLON); m.complete(p, ALTER_TYPE) } @@ -8153,6 +8221,7 @@ fn alter_user(p: &mut Parser<'_>) -> CompletedMarker { } _ => p.error("expected SET or RESET"), } + p.eat(SEMICOLON); m.complete(p, ALTER_USER) } @@ -8171,6 +8240,7 @@ fn alter_user_mapping(p: &mut Parser<'_>) -> CompletedMarker { if !opt_alter_option_list(p) { p.error("expected options"); } + p.eat(SEMICOLON); m.complete(p, ALTER_USER_MAPPING) } @@ -8262,6 +8332,7 @@ fn alter_view(p: &mut Parser<'_>) -> CompletedMarker { } _ => p.error("expected ALTER, OWNER, RENAME, or SET"), } + p.eat(SEMICOLON); m.complete(p, ALTER_VIEW) } @@ -8280,6 +8351,7 @@ fn analyze(p: &mut Parser<'_>) -> CompletedMarker { opt_option_list(p); } opt_table_and_columns_list(p); + p.eat(SEMICOLON); m.complete(p, ANALYZE) } @@ -8471,6 +8543,7 @@ fn comment(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(NULL_KW) && opt_string_literal(p).is_none() { p.error("expected string literal or NULL"); } + p.eat(SEMICOLON); m.complete(p, COMMENT_ON) } @@ -8491,6 +8564,7 @@ fn cluster(p: &mut Parser<'_>) -> CompletedMarker { opt_on_path(p); } opt_using_method(p); + p.eat(SEMICOLON); m.complete(p, CLUSTER) } @@ -8513,6 +8587,7 @@ fn repack(p: &mut Parser<'_>) -> CompletedMarker { if p.at(USING_KW) { using_index(p); } + p.eat(SEMICOLON); m.complete(p, REPACK) } @@ -8526,6 +8601,7 @@ fn create_property_graph(p: &mut Parser<'_>) -> CompletedMarker { path_name(p); opt_vertex_tables(p); opt_edge_tables(p); + p.eat(SEMICOLON); m.complete(p, CREATE_PROPERTY_GRAPH) } @@ -8710,6 +8786,7 @@ fn alter_property_graph(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); alter_property_graph_action(p); + p.eat(SEMICOLON); m.complete(p, ALTER_PROPERTY_GRAPH) } @@ -8849,6 +8926,7 @@ fn drop_property_graph(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_PROPERTY_GRAPH) } @@ -9048,6 +9126,7 @@ fn create_access_method(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected TABLE or INDEX"); } handler_clause(p); + p.eat(SEMICOLON); m.complete(p, CREATE_ACCESS_METHOD) } @@ -9130,6 +9209,7 @@ fn create_aggregate(p: &mut Parser<'_>) -> CompletedMarker { aggregate_arg_list(p); } attribute_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_AGGREGATE) } @@ -9165,6 +9245,7 @@ fn create_cast(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected ASSIGNMENT or IMPLICIT"); } } + p.eat(SEMICOLON); m.complete(p, CREATE_CAST) } @@ -9190,6 +9271,7 @@ fn create_collation(p: &mut Parser<'_>) -> CompletedMarker { } else { attribute_list(p); } + p.eat(SEMICOLON); m.complete(p, CREATE_COLLATION) } @@ -9208,6 +9290,7 @@ fn create_conversion(p: &mut Parser<'_>) -> CompletedMarker { string_literal(p); p.expect(FROM_KW); path_name(p); + p.eat(SEMICOLON); m.complete(p, CREATE_CONVERSION) } @@ -9278,6 +9361,7 @@ fn create_database(p: &mut Parser<'_>) -> CompletedMarker { p.bump(DATABASE_KW); name(p); opt_create_database_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_DATABASE) } @@ -9298,6 +9382,7 @@ fn create_domain(p: &mut Parser<'_>) -> CompletedMarker { type_name(p); opt_collate(p); opt_column_constraint_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_DOMAIN) } @@ -9335,6 +9420,7 @@ fn create_event_trigger(p: &mut Parser<'_>) -> CompletedMarker { } // TODO: add validation to prevent passing arguments here call_expr(p); + p.eat(SEMICOLON); m.complete(p, CREATE_EVENT_TRIGGER) } @@ -9411,6 +9497,7 @@ fn create_foreign_table(p: &mut Parser<'_>) -> CompletedMarker { } server_name(p); opt_alter_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_FOREIGN_TABLE) } @@ -9439,6 +9526,7 @@ fn create_foreign_data_wrapper(p: &mut Parser<'_>) -> CompletedMarker { name(p); opt_fdw_option_list(p); opt_alter_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_FOREIGN_DATA_WRAPPER) } @@ -9515,6 +9603,7 @@ fn create_group(p: &mut Parser<'_>) -> CompletedMarker { p.bump(GROUP_KW); name(p); opt_role_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_GROUP) } @@ -9538,6 +9627,7 @@ fn create_language(p: &mut Parser<'_>) -> CompletedMarker { path_name_ref(p); } } + p.eat(SEMICOLON); m.complete(p, CREATE_LANGUAGE) } @@ -9575,6 +9665,7 @@ fn create_materialized_view(p: &mut Parser<'_>) -> CompletedMarker { } } opt_with_data(p); + p.eat(SEMICOLON); m.complete(p, CREATE_MATERIALIZED_VIEW) } @@ -9592,6 +9683,7 @@ fn create_operator(p: &mut Parser<'_>) -> CompletedMarker { p.bump(OPERATOR_KW); operator(p); attribute_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_OPERATOR) } @@ -9619,6 +9711,7 @@ fn create_operator_class(p: &mut Parser<'_>) -> CompletedMarker { } p.expect(AS_KW); operator_class_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_OPERATOR_CLASS) } @@ -9700,6 +9793,7 @@ fn create_operator_family(p: &mut Parser<'_>) -> CompletedMarker { path_name(p); p.expect(USING_KW); name_ref(p); + p.eat(SEMICOLON); m.complete(p, CREATE_OPERATOR_FAMILY) } @@ -9729,6 +9823,7 @@ fn create_policy(p: &mut Parser<'_>) -> CompletedMarker { } opt_using_expr_clause(p); opt_with_check_expr_clause(p); + p.eat(SEMICOLON); m.complete(p, CREATE_POLICY) } @@ -9775,6 +9870,7 @@ fn create_procedure(p: &mut Parser<'_>) -> CompletedMarker { path_name(p); param_list(p, ParamKind::All); func_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_PROCEDURE) } @@ -9837,6 +9933,7 @@ fn create_publication(p: &mut Parser<'_>) -> CompletedMarker { } } opt_with_params(p); + p.eat(SEMICOLON); m.complete(p, CREATE_PUBLICATION) } @@ -9895,13 +9992,20 @@ fn create_role(p: &mut Parser<'_>) -> CompletedMarker { p.bump(ROLE_KW); name(p); opt_role_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_ROLE) } -fn select_insert_delete_update_or_notify(p: &mut Parser<'_>) { +fn select_insert_delete_update_or_notify(p: &mut Parser<'_>, semi_allowed: bool) { // statement // Any SELECT, INSERT, UPDATE, DELETE, MERGE, or VALUES statement. - let statement = stmt(p, &StmtRestrictions::default()); + let statement = stmt( + p, + &StmtRestrictions { + semi_allowed, + ..StmtRestrictions::default() + }, + ); if let Some(statement) = statement { match statement.kind() { SELECT | VALUES | INSERT | UPDATE | DELETE | NOTIFY => (), @@ -9944,17 +10048,15 @@ fn create_rule(p: &mut Parser<'_>) -> CompletedMarker { // TODO: use delimited // ( command ; command ... ) while !p.at(EOF) && !p.at(R_PAREN) { - select_insert_delete_update_or_notify(p); - if !p.eat(SEMICOLON) { - break; - } + select_insert_delete_update_or_notify(p, true); } p.expect(R_PAREN); } else if p.eat(NOTHING_KW) { // pass } else { - select_insert_delete_update_or_notify(p); + select_insert_delete_update_or_notify(p, false); } + p.eat(SEMICOLON); m.complete(p, CREATE_RULE) } @@ -9979,6 +10081,7 @@ fn create_sequence(p: &mut Parser<'_>) -> CompletedMarker { break; } } + p.eat(SEMICOLON); m.complete(p, CREATE_SEQUENCE) } @@ -10003,6 +10106,7 @@ fn create_server(p: &mut Parser<'_>) -> CompletedMarker { p.expect(WRAPPER_KW); name_ref(p); opt_alter_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_SERVER) } @@ -10030,6 +10134,7 @@ fn create_statistics(p: &mut Parser<'_>) -> CompletedMarker { } } from_table(p); + p.eat(SEMICOLON); m.complete(p, CREATE_STATISTICS) } @@ -10062,6 +10167,7 @@ fn create_subscription(p: &mut Parser<'_>) -> CompletedMarker { p.expect(PUBLICATION_KW); name_ref_list(p); opt_with_params(p); + p.eat(SEMICOLON); m.complete(p, CREATE_SUBSCRIPTION) } @@ -10082,6 +10188,7 @@ fn create_tablespace(p: &mut Parser<'_>) -> CompletedMarker { string_literal(p); // TODO: we could have a validator to check these params opt_with_params(p); + p.eat(SEMICOLON); m.complete(p, CREATE_TABLESPACE) } @@ -10101,6 +10208,7 @@ fn create_text_search_parser(p: &mut Parser<'_>) -> CompletedMarker { p.bump(PARSER_KW); path_name(p); attribute_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_TEXT_SEARCH_PARSER) } @@ -10117,6 +10225,7 @@ fn create_text_search_dict(p: &mut Parser<'_>) -> CompletedMarker { p.bump(DICTIONARY_KW); path_name(p); attribute_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_TEXT_SEARCH_DICTIONARY) } @@ -10133,6 +10242,7 @@ fn create_text_search_config(p: &mut Parser<'_>) -> CompletedMarker { p.bump(CONFIGURATION_KW); path_name(p); attribute_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_TEXT_SEARCH_CONFIGURATION) } @@ -10149,6 +10259,7 @@ fn create_text_search_template(p: &mut Parser<'_>) -> CompletedMarker { p.bump(TEMPLATE_KW); path_name(p); attribute_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_TEXT_SEARCH_TEMPLATE) } @@ -10171,6 +10282,7 @@ fn create_transform(p: &mut Parser<'_>) -> CompletedMarker { p.expect(COMMA); transform_to_func(p); p.expect(R_PAREN); + p.eat(SEMICOLON); m.complete(p, CREATE_TRANSFORM) } @@ -10211,6 +10323,7 @@ fn create_user_mapping(p: &mut Parser<'_>) -> CompletedMarker { } server_name(p); opt_alter_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_USER_MAPPING) } @@ -10328,6 +10441,7 @@ fn create_user(p: &mut Parser<'_>) -> CompletedMarker { p.bump(USER_KW); name(p); opt_role_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_USER) } @@ -10353,6 +10467,7 @@ fn drop_language(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_LANGUAGE) } @@ -10364,6 +10479,7 @@ fn drop_group(p: &mut Parser<'_>) -> CompletedMarker { p.bump(GROUP_KW); opt_if_exists(p); name_ref_list(p); + p.eat(SEMICOLON); m.complete(p, DROP_GROUP) } @@ -10377,6 +10493,7 @@ fn drop_function(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); function_sig_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_FUNCTION) } @@ -10410,6 +10527,7 @@ fn drop_foreign_data(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_FOREIGN_DATA_WRAPPER) } @@ -10423,6 +10541,7 @@ fn drop_foreign_table(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_FOREIGN_TABLE) } @@ -10436,6 +10555,7 @@ fn drop_access_method(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_ACCESS_METHOD) } @@ -10462,6 +10582,7 @@ fn drop_aggregate(p: &mut Parser<'_>) -> CompletedMarker { aggregate(p); } opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_AGGREGATE) } @@ -10484,6 +10605,7 @@ fn drop_cast(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); cast_sig(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_CAST) } @@ -10496,6 +10618,7 @@ fn drop_collation(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_COLLATION) } @@ -10508,6 +10631,7 @@ fn drop_conversion(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_CONVERSION) } @@ -10520,6 +10644,7 @@ fn drop_domain(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_DOMAIN) } @@ -10533,6 +10658,7 @@ fn drop_event_trigger(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_EVENT_TRIGGER) } @@ -10545,6 +10671,7 @@ fn drop_extension(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_EXTENSION) } @@ -10558,6 +10685,7 @@ fn drop_materialized_view(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_MATERIALIZED_VIEW) } @@ -10573,6 +10701,7 @@ fn drop_operator_family(p: &mut Parser<'_>) -> CompletedMarker { p.expect(USING_KW); name_ref(p); // index_method opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_OPERATOR_FAMILY) } @@ -10585,6 +10714,7 @@ fn drop_operator(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); op_sig_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_OPERATOR) } @@ -10623,6 +10753,7 @@ fn drop_operator_class(p: &mut Parser<'_>) -> CompletedMarker { p.expect(USING_KW); name_ref(p); // index_method opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_OPERATOR_CLASS) } @@ -10635,6 +10766,7 @@ fn drop_owned(p: &mut Parser<'_>) -> CompletedMarker { p.expect(BY_KW); role_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_OWNED) } @@ -10648,6 +10780,7 @@ fn drop_policy(p: &mut Parser<'_>) -> CompletedMarker { name_ref(p); on_table(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_POLICY) } @@ -10661,6 +10794,7 @@ fn drop_procedure(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); function_sig_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_PROCEDURE) } @@ -10673,6 +10807,7 @@ fn drop_publication(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_PUBLICATION) } @@ -10684,6 +10819,7 @@ fn drop_role(p: &mut Parser<'_>) -> CompletedMarker { p.bump(ROLE_KW); opt_if_exists(p); name_ref_list(p); + p.eat(SEMICOLON); m.complete(p, DROP_ROLE) } @@ -10697,6 +10833,7 @@ fn drop_routine(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); function_sig_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_ROUTINE) } @@ -10710,6 +10847,7 @@ fn drop_rule(p: &mut Parser<'_>) -> CompletedMarker { name_ref(p); on_table(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_RULE) } @@ -10722,6 +10860,7 @@ fn drop_sequence(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_SEQUENCE) } @@ -10734,6 +10873,7 @@ fn drop_server(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_SERVER) } @@ -10746,6 +10886,7 @@ fn drop_statistics(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_STATISTICS) } @@ -10758,6 +10899,7 @@ fn drop_subscription(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_SUBSCRIPTION) } @@ -10774,6 +10916,7 @@ fn drop_tablespace(p: &mut Parser<'_>) -> CompletedMarker { p.bump(TABLESPACE_KW); opt_if_exists(p); name_ref(p); + p.eat(SEMICOLON); m.complete(p, DROP_TABLESPACE) } @@ -10790,6 +10933,7 @@ fn drop_text_search_parser(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TEXT_SEARCH_PARSER) } @@ -10809,6 +10953,7 @@ fn drop_text_search_config(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TEXT_SEARCH_CONFIG) } @@ -10828,6 +10973,7 @@ fn drop_text_search_dict(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TEXT_SEARCH_DICT) } @@ -10844,6 +10990,7 @@ fn drop_text_search_template(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TEXT_SEARCH_TEMPLATE) } @@ -10859,6 +11006,7 @@ fn drop_transform(p: &mut Parser<'_>) -> CompletedMarker { p.expect(LANGUAGE_KW); name_ref(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TRANSFORM) } @@ -10870,6 +11018,7 @@ fn drop_user(p: &mut Parser<'_>) -> CompletedMarker { p.bump(USER_KW); opt_if_exists(p); name_ref_list(p); + p.eat(SEMICOLON); m.complete(p, DROP_USER) } @@ -10887,6 +11036,7 @@ fn drop_user_mapping(p: &mut Parser<'_>) -> CompletedMarker { role_ref(p); } server_name(p); + p.eat(SEMICOLON); m.complete(p, DROP_USER_MAPPING) } @@ -10928,6 +11078,7 @@ fn explain(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected SELECT, INSERT, UPDATE, DELETE, MERGE, VALUES, EXECUTE, DECLARE, CREATE TABLE AS, or CREATE MATERIALIZED VIEW AS"); } + p.eat(SEMICOLON); m.complete(p, EXPLAIN) } @@ -11042,6 +11193,7 @@ fn import_foreign_schema(p: &mut Parser<'_>) -> CompletedMarker { server_name(p); into_schema(p); opt_alter_option_list(p); + p.eat(SEMICOLON); m.complete(p, IMPORT_FOREIGN_SCHEMA) } @@ -11103,6 +11255,7 @@ fn lock(p: &mut Parser<'_>) -> CompletedMarker { } // [ NOWAIT ] p.eat(NOWAIT_KW); + p.eat(SEMICOLON); m.complete(p, LOCK) } @@ -11143,7 +11296,7 @@ fn table_list(p: &mut Parser<'_>) { // // and merge_delete is: // DELETE -fn merge(p: &mut Parser<'_>, m: Option) -> CompletedMarker { +fn merge(p: &mut Parser<'_>, m: Option, semi_allowed: bool) -> CompletedMarker { assert!(p.at(MERGE_KW)); let m = m.unwrap_or_else(|| p.start()); p.bump(MERGE_KW); @@ -11160,6 +11313,9 @@ fn merge(p: &mut Parser<'_>, m: Option) -> CompletedMarker { } // [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] opt_returning_clause(p); + if semi_allowed { + p.eat(SEMICOLON); + } m.complete(p, MERGE) } @@ -11254,7 +11410,7 @@ fn merge_action(p: &mut Parser<'_>) { } // { VALUES ( { expression | DEFAULT } [, ...] ) | DEFAULT VALUES } if p.at(VALUES_KW) { - values(p, None); + values(p, None, false); } else if p.eat(DEFAULT_KW) { p.expect(VALUES_KW); } else { @@ -11287,6 +11443,7 @@ fn reassign(p: &mut Parser<'_>) -> CompletedMarker { role_list(p); p.expect(TO_KW); role_list(p); + p.eat(SEMICOLON); m.complete(p, REASSIGN) } @@ -11301,6 +11458,7 @@ fn refresh(p: &mut Parser<'_>) -> CompletedMarker { p.eat(CONCURRENTLY_KW); path_name_ref(p); opt_with_data(p); + p.eat(SEMICOLON); m.complete(p, REFRESH) } @@ -11352,6 +11510,7 @@ fn grant(p: &mut Parser<'_>) -> CompletedMarker { grant_role_option_list(p); } opt_granted_by(p); + p.eat(SEMICOLON); m.complete(p, GRANT) } @@ -11516,6 +11675,7 @@ fn revoke(p: &mut Parser<'_>) -> CompletedMarker { // [ GRANTED BY role_specification ] opt_granted_by(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, REVOKE) } @@ -11712,6 +11872,7 @@ fn security_label(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(NULL_KW) { string_literal(p); } + p.eat(SEMICOLON); m.complete(p, SECURITY_LABEL) } @@ -11793,6 +11954,7 @@ fn set_constraints(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(DEFERRED_KW) && !p.eat(IMMEDIATE_KW) { p.error("expected DEFERRED or IMMEDIATE"); } + p.eat(SEMICOLON); m.complete(p, SET_CONSTRAINTS) } @@ -11812,6 +11974,7 @@ fn set_role(p: &mut Parser<'_>) -> CompletedMarker { role_ref(p); } } + p.eat(SEMICOLON); m.complete(p, SET_ROLE) } @@ -11828,6 +11991,7 @@ fn set_session_auth(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(DEFAULT_KW) && opt_string_literal(p).is_none() { role_ref(p); } + p.eat(SEMICOLON); m.complete(p, SET_SESSION_AUTH) } @@ -11838,6 +12002,7 @@ fn reset_session_auth(p: &mut Parser<'_>) -> CompletedMarker { p.bump(RESET_KW); p.expect(SESSION_KW); p.expect(AUTHORIZATION_KW); + p.eat(SEMICOLON); m.complete(p, RESET_SESSION_AUTH) } fn opt_transaction_mode_list(p: &mut Parser<'_>) -> Option { @@ -11883,6 +12048,7 @@ fn set_transaction(p: &mut Parser<'_>) -> CompletedMarker { opt_transaction_mode_list(p); } } + p.eat(SEMICOLON); m.complete(p, SET_TRANSACTION) } @@ -11891,7 +12057,7 @@ fn set_transaction(p: &mut Parser<'_>) -> CompletedMarker { // [ LIMIT { count | ALL } ] // [ OFFSET start [ ROW | ROWS ] ] // [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ] -fn values(p: &mut Parser<'_>, m: Option) -> CompletedMarker { +fn values(p: &mut Parser<'_>, m: Option, semi_allowed: bool) -> CompletedMarker { let m = m.unwrap_or_else(|| p.start()); p.bump(VALUES_KW); row_list(p); @@ -11899,6 +12065,9 @@ fn values(p: &mut Parser<'_>, m: Option) -> CompletedMarker { opt_limit_clause(p); opt_offset_clause(p); opt_fetch_clause(p); + if semi_allowed { + p.eat(SEMICOLON); + } m.complete(p, VALUES) } @@ -11996,6 +12165,7 @@ fn reindex(p: &mut Parser<'_>) -> CompletedMarker { if opt_path_name_ref(p).is_none() && name_required { p.error("expected name"); } + p.eat(SEMICOLON); m.complete(p, REINDEX) } @@ -12009,6 +12179,7 @@ fn drop_view(p: &mut Parser<'_>) -> CompletedMarker { // name [, ...] path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_VIEW) } @@ -12044,6 +12215,7 @@ fn create_view(p: &mut Parser<'_>) -> CompletedMarker { p.expect(CHECK_KW); p.expect(OPTION_KW); } + p.eat(SEMICOLON); m.complete(p, CREATE_VIEW) } @@ -12057,6 +12229,7 @@ fn execute(p: &mut Parser<'_>) -> CompletedMarker { if p.at(L_PAREN) { arg_list(p); } + p.eat(SEMICOLON); m.complete(p, EXECUTE) } @@ -12069,6 +12242,7 @@ fn prepare(p: &mut Parser<'_>) -> CompletedMarker { opt_param_list(p, ParamKind::TypeOnly); p.expect(AS_KW); preparable_stmt(p); + p.eat(SEMICOLON); m.complete(p, PREPARE) } @@ -12080,6 +12254,7 @@ fn unlisten(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(STAR) { name_ref(p); } + p.eat(SEMICOLON); m.complete(p, UNLISTEN) } @@ -12088,6 +12263,7 @@ fn checkpoint(p: &mut Parser<'_>) -> CompletedMarker { assert!(p.at(CHECKPOINT_KW)); let m = p.start(); p.bump(CHECKPOINT_KW); + p.eat(SEMICOLON); m.complete(p, CHECKPOINT) } @@ -12100,6 +12276,7 @@ fn deallocate(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(ALL_KW) { name_ref(p); } + p.eat(SEMICOLON); m.complete(p, DEALLOCATE) } @@ -12109,6 +12286,7 @@ fn load(p: &mut Parser<'_>) -> CompletedMarker { let m = p.start(); p.bump(LOAD_KW); string_literal(p); + p.eat(SEMICOLON); m.complete(p, LOAD) } @@ -12118,6 +12296,7 @@ fn listen(p: &mut Parser<'_>) -> CompletedMarker { let m = p.start(); p.bump(LISTEN_KW); name(p); + p.eat(SEMICOLON); m.complete(p, LISTEN) } @@ -12131,6 +12310,7 @@ fn notify(p: &mut Parser<'_>) -> CompletedMarker { if p.eat(COMMA) { string_literal(p); } + p.eat(SEMICOLON); m.complete(p, NOTIFY) } @@ -12159,6 +12339,7 @@ fn reset(p: &mut Parser<'_>) -> CompletedMarker { path_name_ref(p); } } + p.eat(SEMICOLON); m.complete(p, RESET) } @@ -12168,6 +12349,7 @@ fn discard(p: &mut Parser<'_>) -> CompletedMarker { let m = p.start(); p.bump(DISCARD_KW); let _ = p.eat(ALL_KW) || p.eat(PLANS_KW) || p.eat(SEQUENCES_KW) || opt_temp(p); + p.eat(SEMICOLON); m.complete(p, DISCARD) } @@ -12193,6 +12375,7 @@ fn do_(p: &mut Parser<'_>) -> CompletedMarker { opt_language(p); string_literal(p); opt_language(p); + p.eat(SEMICOLON); m.complete(p, DO) } @@ -12232,6 +12415,7 @@ fn declare(p: &mut Parser<'_>) -> CompletedMarker { p.error("expected SELECT, TABLE, or VALUES statement"); } } + p.eat(SEMICOLON); m.complete(p, DECLARE) } @@ -12287,6 +12471,7 @@ fn move_(p: &mut Parser<'_>) -> CompletedMarker { let _ = p.eat(FROM_KW) || p.eat(IN_KW); // cursor_name name_ref(p); + p.eat(SEMICOLON); m.complete(p, MOVE) } @@ -12314,6 +12499,7 @@ fn fetch(p: &mut Parser<'_>) -> CompletedMarker { let _ = p.eat(FROM_KW) || p.eat(IN_KW); // cursor_name name_ref(p); + p.eat(SEMICOLON); m.complete(p, FETCH) } @@ -12325,6 +12511,7 @@ fn close(p: &mut Parser<'_>) -> CompletedMarker { if !p.eat(ALL_KW) { name_ref(p); } + p.eat(SEMICOLON); m.complete(p, CLOSE) } @@ -12343,6 +12530,7 @@ fn truncate(p: &mut Parser<'_>) -> CompletedMarker { p.expect(IDENTITY_KW); } opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, TRUNCATE) } @@ -12384,6 +12572,7 @@ fn vacuum(p: &mut Parser<'_>) -> CompletedMarker { let _ = p.eat(ANALYZE_KW) || p.eat(ANALYSE_KW); opt_vacuum_option_list(p); opt_table_and_columns_list(p); + p.eat(SEMICOLON); m.complete(p, VACUUM) } @@ -12678,6 +12867,7 @@ fn copy(p: &mut Parser<'_>) -> CompletedMarker { while !p.at(EOF) && opt_copy_option_item(p) {} } opt_where_clause(p); + p.eat(SEMICOLON); m.complete(p, COPY) } @@ -12712,6 +12902,7 @@ fn call(p: &mut Parser<'_>) -> CompletedMarker { } else { p.error("expected L_PAREN"); } + p.eat(SEMICOLON); m.complete(p, CALL) } @@ -12762,6 +12953,7 @@ fn create_trigger(p: &mut Parser<'_>) -> CompletedMarker { } // function_name ( arguments ) call_expr(p); + p.eat(SEMICOLON); m.complete(p, CREATE_TRIGGER) } @@ -12884,6 +13076,7 @@ fn drop_schema(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_SCHEMA) } @@ -12993,6 +13186,7 @@ fn create_schema(p: &mut Parser<'_>) -> CompletedMarker { // ^ (true, true) => { role(p); + p.eat(SEMICOLON); m.complete(p, CREATE_SCHEMA) } // CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ] @@ -13002,6 +13196,7 @@ fn create_schema(p: &mut Parser<'_>) -> CompletedMarker { if p.eat(AUTHORIZATION_KW) { role_ref(p); } + p.eat(SEMICOLON); m.complete(p, CREATE_SCHEMA) } // CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ] @@ -13009,6 +13204,7 @@ fn create_schema(p: &mut Parser<'_>) -> CompletedMarker { (false, true) => { role(p); opt_schema_elements(p); + p.eat(SEMICOLON); m.complete(p, CREATE_SCHEMA) } // CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ] @@ -13019,6 +13215,7 @@ fn create_schema(p: &mut Parser<'_>) -> CompletedMarker { role_ref(p); } opt_schema_elements(p); + p.eat(SEMICOLON); m.complete(p, CREATE_SCHEMA) } } @@ -13026,8 +13223,8 @@ fn create_schema(p: &mut Parser<'_>) -> CompletedMarker { fn query(p: &mut Parser<'_>) { // TODO: this needs to be more general - if (!p.at_ts(SELECT_FIRST) || select(p, None, &SelectRestrictions::default()).is_none()) - && opt_paren_select(p, None).is_none() + if (!p.at_ts(SELECT_FIRST) || select(p, None, &SelectRestrictions::default(), false).is_none()) + && opt_paren_select(p, None, false).is_none() { p.error("expected select stmt") } @@ -13052,7 +13249,7 @@ fn query(p: &mut Parser<'_>) { // ( column_name [, ...] ) = ( sub-SELECT ) // } [, ...] // [ WHERE condition ] -fn insert(p: &mut Parser<'_>, m: Option) -> CompletedMarker { +fn insert(p: &mut Parser<'_>, m: Option, semi_allowed: bool) -> CompletedMarker { assert!(p.at(INSERT_KW)); let m = m.unwrap_or_else(|| p.start()); p.bump(INSERT_KW); @@ -13070,13 +13267,16 @@ fn insert(p: &mut Parser<'_>, m: Option) -> CompletedMarker { if p.eat(DEFAULT_KW) { p.expect(VALUES_KW); } else if p.at(VALUES_KW) { - values(p, None); + values(p, None, false); } else { query(p); } opt_on_conflict_clause(p); // [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] opt_returning_clause(p); + if semi_allowed { + p.eat(SEMICOLON); + } m.complete(p, INSERT) } @@ -13231,7 +13431,7 @@ fn set_expr_list_or_paren_select(p: &mut Parser<'_>) { p.eat(ROW_KW); if p.at(L_PAREN) { if p.nth_at(1, SELECT_KW) { - if opt_paren_select(p, Some(m)).is_none() { + if opt_paren_select(p, Some(m), false).is_none() { p.error("expected sub-SELECT"); } } else { @@ -13314,7 +13514,7 @@ fn opt_as_alias(p: &mut Parser<'_>) -> Option { // [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] // // https://www.postgresql.org/docs/17/sql-update.html -fn update(p: &mut Parser<'_>, m: Option) -> CompletedMarker { +fn update(p: &mut Parser<'_>, m: Option, semi_allowed: bool) -> CompletedMarker { assert!(p.at(UPDATE_KW)); let m = m.unwrap_or_else(|| p.start()); p.bump(UPDATE_KW); @@ -13333,6 +13533,9 @@ fn update(p: &mut Parser<'_>, m: Option) -> CompletedMarker { opt_where_or_current_of(p); // [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] opt_returning_clause(p); + if semi_allowed { + p.eat(SEMICOLON); + } m.complete(p, UPDATE) } @@ -13375,22 +13578,22 @@ fn opt_where_or_current_of(p: &mut Parser<'_>) { } } -fn with(p: &mut Parser<'_>, m: Option) -> Option { +fn with(p: &mut Parser<'_>, m: Option, semi_allowed: bool) -> Option { let m = m.unwrap_or_else(|| p.start()); // with aka cte // [ WITH [ RECURSIVE ] with_query [, ...] ] with_query_clause(p); match p.current() { - DELETE_KW => Some(delete(p, Some(m))), + DELETE_KW => Some(delete(p, Some(m), semi_allowed)), SELECT_KW | TABLE_KW | VALUES_KW | FROM_KW => { - select(p, Some(m), &SelectRestrictions::default()) + select(p, Some(m), &SelectRestrictions::default(), semi_allowed) } - INSERT_KW => Some(insert(p, Some(m))), - UPDATE_KW => Some(update(p, Some(m))), - MERGE_KW => Some(merge(p, Some(m))), + INSERT_KW => Some(insert(p, Some(m), semi_allowed)), + UPDATE_KW => Some(update(p, Some(m), semi_allowed)), + MERGE_KW => Some(merge(p, Some(m), semi_allowed)), L_PAREN if p.nth_at_ts(1, PAREN_SELECT_FIRST) => { // can have select nested in parens, i.e., ((select 1)); - opt_paren_select(p, Some(m)) + opt_paren_select(p, Some(m), semi_allowed) } _ => { m.abandon(p); @@ -13408,7 +13611,7 @@ fn with(p: &mut Parser<'_>, m: Option) -> Option { // [ USING from_item [, ...] ] // [ WHERE condition | WHERE CURRENT OF cursor_name ] // [ RETURNING { * | output_expression [ [ AS ] output_name ] } [, ...] ] -fn delete(p: &mut Parser<'_>, m: Option) -> CompletedMarker { +fn delete(p: &mut Parser<'_>, m: Option, semi_allowed: bool) -> CompletedMarker { assert!(p.at(DELETE_KW)); let m = m.unwrap_or_else(|| p.start()); p.bump(DELETE_KW); @@ -13422,6 +13625,9 @@ fn delete(p: &mut Parser<'_>, m: Option) -> CompletedMarker { // [ WHERE condition | WHERE CURRENT OF cursor_name ] opt_where_or_current_of(p); opt_returning_clause(p); + if semi_allowed { + p.eat(SEMICOLON); + } m.complete(p, DELETE) } @@ -13507,6 +13713,7 @@ fn drop_type(p: &mut Parser<'_>) -> CompletedMarker { opt_if_exists(p); path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TYPE) } @@ -13523,6 +13730,7 @@ fn drop_trigger(p: &mut Parser<'_>) -> CompletedMarker { path_name_ref(p); on_table(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_TRIGGER) } @@ -13550,6 +13758,7 @@ fn drop_index(p: &mut Parser<'_>) -> CompletedMarker { // name [, ...] path_name_ref_list(p); opt_cascade_or_restrict(p); + p.eat(SEMICOLON); m.complete(p, DROP_INDEX) } @@ -13580,6 +13789,7 @@ fn drop_database(p: &mut Parser<'_>) -> CompletedMarker { |p| p.eat(FORCE_KW), ); } + p.eat(SEMICOLON); m.complete(p, DROP_DATABASE) } @@ -13634,6 +13844,7 @@ fn create_index(p: &mut Parser<'_>) -> CompletedMarker { opt_with_params(p); opt_tablespace(p); opt_where_clause(p); + p.eat(SEMICOLON); m.complete(p, CREATE_INDEX) } @@ -13982,13 +14193,7 @@ fn opt_function_option(p: &mut Parser<'_>) -> bool { p.bump(BEGIN_KW); p.expect(ATOMIC_KW); while !p.at(EOF) && !p.at(END_KW) { - if p.eat(SEMICOLON) { - continue; - } begin_func_option(p); - if p.at(END_KW) { - p.expect(SEMICOLON); - } } p.expect(END_KW); BEGIN_FUNC_OPTION_LIST @@ -14003,18 +14208,23 @@ fn opt_function_option(p: &mut Parser<'_>) -> bool { } fn begin_func_option(p: &mut Parser<'_>) { - let m = p.start(); if p.at(RETURN_KW) { let m = p.start(); p.bump(RETURN_KW); if expr(p).is_none() { p.error("expected expr") } + p.expect(SEMICOLON); m.complete(p, RETURN_FUNC_OPTION); } else { - stmt(p, &StmtRestrictions::default()); + stmt( + p, + &StmtRestrictions { + semi_allowed: true, + ..StmtRestrictions::default() + }, + ); } - m.complete(p, BEGIN_FUNC_OPTION); } // SET configuration_parameter { TO | = } { value | DEFAULT } @@ -14141,6 +14351,7 @@ fn create_function(p: &mut Parser<'_>) -> CompletedMarker { param_list(p, ParamKind::All); opt_ret_type(p); func_option_list(p); + p.eat(SEMICOLON); m.complete(p, CREATE_FUNCTION) } @@ -14217,6 +14428,7 @@ fn create_type(p: &mut Parser<'_>) -> CompletedMarker { } else if p.at(L_PAREN) { attribute_list(p); } + p.eat(SEMICOLON); m.complete(p, CREATE_TYPE) } @@ -14267,6 +14479,7 @@ fn create_extension(p: &mut Parser<'_>) -> CompletedMarker { } } p.eat(CASCADE_KW); + p.eat(SEMICOLON); m.complete(p, CREATE_EXTENSION) } @@ -14351,6 +14564,7 @@ fn set(p: &mut Parser<'_>) -> CompletedMarker { } } } + p.eat(SEMICOLON); m.complete(p, SET) } @@ -14383,6 +14597,7 @@ fn show(p: &mut Parser<'_>) -> CompletedMarker { path_name_ref(p); } } + p.eat(SEMICOLON); m.complete(p, SHOW) } @@ -14520,6 +14735,7 @@ fn alter_table(p: &mut Parser<'_>) -> CompletedMarker { opt_owned_by_roles(p); } opt_alter_table_action_list(p); + p.eat(SEMICOLON); m.complete(p, ALTER_TABLE) } @@ -15318,18 +15534,13 @@ fn set_data_type(p: &mut Parser<'_>) { pub(crate) fn entry_point(p: &mut Parser) { let m = p.start(); while !p.at(EOF) { - let parsed_stmt = stmt( + stmt( p, &StmtRestrictions { + semi_allowed: true, begin_end_allowed: true, }, ); - if !p.at(EOF) - && let Some(marker) = parsed_stmt - && marker.kind() != EMPTY_STMT - { - p.expect(SEMICOLON); - } } m.complete(p, SOURCE_FILE); } diff --git a/crates/squawk_parser/tests/data/ok/delete.sql b/crates/squawk_parser/tests/data/ok/delete.sql index a19656fa3..a589cac10 100644 --- a/crates/squawk_parser/tests/data/ok/delete.sql +++ b/crates/squawk_parser/tests/data/ok/delete.sql @@ -82,6 +82,9 @@ with t2 as ( ) delete from t using t2; +with t as (delete from k) +select 1; + -- pg_docs DELETE FROM films USING producers WHERE producer_id = producers.id AND producers.name = 'foo'; diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_aggregate_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_aggregate_ok.snap index 35ed9a29e..783c49b72 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_aggregate_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_aggregate_ok.snap @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple_args" WHITESPACE "\n" @@ -60,7 +60,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- complex_args" WHITESPACE "\n" @@ -109,7 +109,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_order_by" WHITESPACE "\n" @@ -152,7 +152,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- qualified_names" WHITESPACE "\n" @@ -200,5 +200,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "new_schema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_collation_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_collation_ok.snap index d1d8c406e..e92692a59 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_collation_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_collation_ok.snap @@ -19,7 +19,7 @@ SOURCE_FILE REFRESH_KW "refresh" WHITESPACE " " VERSION_KW "version" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -40,7 +40,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -62,7 +62,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_COLLATION ALTER_KW "alter" @@ -86,7 +86,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -107,5 +107,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_conversion_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_conversion_ok.snap index 80d9f4dcc..57917e249 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_conversion_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_conversion_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -44,7 +44,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_CONVERSION ALTER_KW "alter" @@ -63,7 +63,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -84,7 +84,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- qualified_name" WHITESPACE "\n" @@ -110,5 +110,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_database_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_database_ok.snap index 8b7de68a8..fff32b5de 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_database_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_database_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -40,7 +40,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DATABASE ALTER_KW "alter" @@ -57,7 +57,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- tablespace" WHITESPACE "\n" @@ -76,7 +76,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- refresh" WHITESPACE "\n" @@ -94,7 +94,7 @@ SOURCE_FILE COLLATION_KW "collation" WHITESPACE " " VERSION_KW "version" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_param" WHITESPACE "\n" @@ -118,7 +118,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "v" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DATABASE ALTER_KW "alter" @@ -140,7 +140,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "v" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DATABASE ALTER_KW "alter" @@ -161,7 +161,7 @@ SOURCE_FILE EQ "=" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DATABASE ALTER_KW "alter" @@ -182,7 +182,7 @@ SOURCE_FILE FROM_KW "from" WHITESPACE " " CURRENT_KW "current" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset" WHITESPACE "\n" @@ -201,7 +201,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DATABASE ALTER_KW "alter" @@ -215,7 +215,7 @@ SOURCE_FILE RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_option" WHITESPACE "\n" @@ -235,7 +235,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- option_connection_limit" WHITESPACE "\n" @@ -255,7 +255,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- option_is_template" WHITESPACE "\n" @@ -273,7 +273,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_multiple_options" WHITESPACE "\n" @@ -307,5 +307,5 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_default_privileges_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_default_privileges_ok.snap index 9c9b31a74..ce9ef0a15 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_default_privileges_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_default_privileges_ok.snap @@ -31,7 +31,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -89,7 +89,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -132,7 +132,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- grant_tables" WHITESPACE "\n" @@ -164,7 +164,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -196,7 +196,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -243,7 +243,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -273,7 +273,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -303,7 +303,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -331,7 +331,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -361,7 +361,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -391,7 +391,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -459,7 +459,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -485,7 +485,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -513,7 +513,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- grant_sequences" WHITESPACE "\n" @@ -582,7 +582,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -612,7 +612,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- grant_functions" WHITESPACE "\n" @@ -644,7 +644,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -670,7 +670,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -704,7 +704,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- grant_types" WHITESPACE "\n" @@ -736,7 +736,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -782,7 +782,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- grant_schemas" WHITESPACE "\n" @@ -818,7 +818,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -864,7 +864,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- revoke_tables" WHITESPACE "\n" @@ -949,7 +949,7 @@ SOURCE_FILE CURRENT_USER_KW "current_user" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -979,7 +979,7 @@ SOURCE_FILE IDENT "r" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- revoke_sequences" WHITESPACE "\n" @@ -1036,7 +1036,7 @@ SOURCE_FILE CURRENT_USER_KW "current_user" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -1066,7 +1066,7 @@ SOURCE_FILE IDENT "r" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- revoke_functions" WHITESPACE "\n" @@ -1113,7 +1113,7 @@ SOURCE_FILE CURRENT_USER_KW "current_user" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -1143,7 +1143,7 @@ SOURCE_FILE IDENT "r" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- revoke_types" WHITESPACE "\n" @@ -1190,7 +1190,7 @@ SOURCE_FILE CURRENT_USER_KW "current_user" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -1220,7 +1220,7 @@ SOURCE_FILE IDENT "r" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- revoke_schemas" WHITESPACE "\n" @@ -1271,7 +1271,7 @@ SOURCE_FILE CURRENT_USER_KW "current_user" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_DEFAULT_PRIVILEGES ALTER_KW "alter" @@ -1301,5 +1301,5 @@ SOURCE_FILE IDENT "r" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_domain_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_domain_ok.snap index 94b73d5e6..3277fc9df 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_domain_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_domain_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "42" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_default" WHITESPACE "\n" @@ -45,7 +45,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_not_null" WHITESPACE "\n" @@ -65,7 +65,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_not_null" WHITESPACE "\n" @@ -85,7 +85,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_constraint" WHITESPACE "\n" @@ -121,7 +121,7 @@ SOURCE_FILE LITERAL INT_NUMBER "0" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DOMAIN ALTER_KW "alter" @@ -154,7 +154,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " VALID_KW "valid" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DOMAIN ALTER_KW "alter" @@ -188,7 +188,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_constraint" WHITESPACE "\n" @@ -211,7 +211,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DOMAIN ALTER_KW "alter" @@ -237,7 +237,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_constraint" WHITESPACE "\n" @@ -263,7 +263,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- validate_constraint" WHITESPACE "\n" @@ -284,7 +284,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to" WHITESPACE "\n" @@ -306,7 +306,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_DOMAIN ALTER_KW "alter" @@ -325,7 +325,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_to" WHITESPACE "\n" @@ -346,7 +346,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -367,5 +367,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_event_trigger_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_event_trigger_ok.snap index 32eb14b66..d271d0660 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_event_trigger_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_event_trigger_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE IDENT "t" WHITESPACE " " DISABLE_KW "disable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- enable" WHITESPACE "\n" @@ -31,7 +31,7 @@ SOURCE_FILE IDENT "t" WHITESPACE " " ENABLE_KW "enable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- enable_replica" WHITESPACE "\n" @@ -48,7 +48,7 @@ SOURCE_FILE ENABLE_KW "enable" WHITESPACE " " REPLICA_KW "replica" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- enable_always" WHITESPACE "\n" @@ -65,7 +65,7 @@ SOURCE_FILE ENABLE_KW "enable" WHITESPACE " " ALWAYS_KW "always" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -87,7 +87,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_current_role" WHITESPACE "\n" @@ -108,7 +108,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -129,5 +129,5 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_extension_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_extension_ok.snap index fcd59da3e..008d6518d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_extension_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_extension_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE IDENT "e" WHITESPACE " " UPDATE_KW "update" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -29,7 +29,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " JSON_KW "json" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -45,7 +45,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -64,7 +64,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_access_method" WHITESPACE "\n" @@ -84,7 +84,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -102,7 +102,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_aggregate" WHITESPACE "\n" @@ -160,7 +160,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -184,7 +184,7 @@ SOURCE_FILE L_PAREN "(" STAR "*" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_cast" WHITESPACE "\n" @@ -216,7 +216,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -249,7 +249,7 @@ SOURCE_FILE NAME_REF SMALLINT_KW "smallint" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_collation" WHITESPACE "\n" @@ -269,7 +269,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -292,7 +292,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -310,7 +310,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -333,7 +333,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_conversion" WHITESPACE "\n" @@ -353,7 +353,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -376,7 +376,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -394,7 +394,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -417,7 +417,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_domain" WHITESPACE "\n" @@ -435,7 +435,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -451,7 +451,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_event_trigger" WHITESPACE "\n" @@ -471,7 +471,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -489,7 +489,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_foreign_data_wrapper" WHITESPACE "\n" @@ -511,7 +511,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -531,7 +531,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_foreign_table" WHITESPACE "\n" @@ -553,7 +553,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -578,7 +578,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -598,7 +598,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -623,7 +623,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_function" WHITESPACE "\n" @@ -644,7 +644,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -691,7 +691,7 @@ SOURCE_FILE NAME_REF BIGINT_KW "bigint" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -710,7 +710,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -766,7 +766,7 @@ SOURCE_FILE INT_NUMBER "100" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_materialized_view" WHITESPACE "\n" @@ -788,7 +788,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -813,7 +813,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -833,7 +833,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -858,7 +858,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_operator" WHITESPACE "\n" @@ -896,7 +896,7 @@ SOURCE_FILE INT_NUMBER "100" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -932,7 +932,7 @@ SOURCE_FILE INT_NUMBER "100" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_operator_class" WHITESPACE "\n" @@ -957,7 +957,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -980,7 +980,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_operator_family" WHITESPACE "\n" @@ -1005,7 +1005,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1028,7 +1028,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_language" WHITESPACE "\n" @@ -1046,7 +1046,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1064,7 +1064,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1080,7 +1080,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1098,7 +1098,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_procedure" WHITESPACE "\n" @@ -1119,7 +1119,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1166,7 +1166,7 @@ SOURCE_FILE NAME_REF BIGINT_KW "bigint" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1185,7 +1185,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1241,7 +1241,7 @@ SOURCE_FILE INT_NUMBER "100" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_routine" WHITESPACE "\n" @@ -1262,7 +1262,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1309,7 +1309,7 @@ SOURCE_FILE NAME_REF BIGINT_KW "bigint" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1328,7 +1328,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1384,7 +1384,7 @@ SOURCE_FILE INT_NUMBER "100" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_sequence" WHITESPACE "\n" @@ -1404,7 +1404,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1427,7 +1427,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1445,7 +1445,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1468,7 +1468,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_table" WHITESPACE "\n" @@ -1486,7 +1486,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1502,7 +1502,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_text_search_configuration" WHITESPACE "\n" @@ -1526,7 +1526,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1553,7 +1553,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1575,7 +1575,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1602,7 +1602,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_text_search_dictionary" WHITESPACE "\n" @@ -1626,7 +1626,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1653,7 +1653,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1675,7 +1675,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1702,7 +1702,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_text_search_parser" WHITESPACE "\n" @@ -1726,7 +1726,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1753,7 +1753,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1775,7 +1775,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1802,7 +1802,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_text_search_template" WHITESPACE "\n" @@ -1826,7 +1826,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1853,7 +1853,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1875,7 +1875,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1902,7 +1902,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_transform" WHITESPACE "\n" @@ -1927,7 +1927,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "l" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1950,7 +1950,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "l" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_type" WHITESPACE "\n" @@ -1968,7 +1968,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -1984,7 +1984,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_view" WHITESPACE "\n" @@ -2004,7 +2004,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2027,7 +2027,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2045,7 +2045,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2068,7 +2068,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_extension" WHITESPACE "\n" @@ -2086,7 +2086,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2102,7 +2102,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_publication" WHITESPACE "\n" @@ -2120,7 +2120,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2136,7 +2136,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_schema" WHITESPACE "\n" @@ -2154,7 +2154,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2170,7 +2170,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_server" WHITESPACE "\n" @@ -2188,7 +2188,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2204,7 +2204,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_database" WHITESPACE "\n" @@ -2222,7 +2222,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2238,7 +2238,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_index" WHITESPACE "\n" @@ -2258,7 +2258,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2281,7 +2281,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2299,7 +2299,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2322,7 +2322,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_statistics" WHITESPACE "\n" @@ -2342,7 +2342,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2365,7 +2365,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2383,7 +2383,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2406,7 +2406,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_role" WHITESPACE "\n" @@ -2424,7 +2424,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2440,7 +2440,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_subscription" WHITESPACE "\n" @@ -2458,7 +2458,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2474,7 +2474,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_drop_tablespace" WHITESPACE "\n" @@ -2492,7 +2492,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_EXTENSION ALTER_KW "alter" @@ -2508,5 +2508,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_err.snap b/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_err.snap index 039eba0c3..124da63e6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_err.snap @@ -16,7 +16,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "w" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: Missing alter foreign data wrapper option or action. diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_ok.snap index 71c3bf048..a7ffaef6b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_foreign_data_wrapper_ok.snap @@ -25,7 +25,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "h" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- no_handler" WHITESPACE "\n" @@ -46,7 +46,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " HANDLER_KW "handler" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- validator" WHITESPACE "\n" @@ -70,7 +70,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "v" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- no_validator" WHITESPACE "\n" @@ -91,7 +91,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " VALIDATOR_KW "validator" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- options" WHITESPACE "\n" @@ -139,7 +139,7 @@ SOURCE_FILE NAME IDENT "o" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple" WHITESPACE "\n" @@ -223,7 +223,7 @@ SOURCE_FILE NAME IDENT "d" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -247,7 +247,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -270,5 +270,5 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_foreign_table_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_foreign_table_ok.snap index c74bca1d2..6b0c4f0cf 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_foreign_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_foreign_table_ok.snap @@ -25,7 +25,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- only_and_asterisk" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -75,7 +75,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_column" WHITESPACE "\n" @@ -104,7 +104,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -129,7 +129,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -158,7 +158,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_add_column" WHITESPACE "\n" @@ -188,7 +188,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -241,7 +241,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_drop_column" WHITESPACE "\n" @@ -265,7 +265,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -294,7 +294,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -323,7 +323,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_column_type" WHITESPACE "\n" @@ -356,7 +356,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -399,7 +399,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "\"fr_FR\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_set_default" WHITESPACE "\n" @@ -437,7 +437,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -471,7 +471,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_drop_default" WHITESPACE "\n" @@ -500,7 +500,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -525,7 +525,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_not_null" WHITESPACE "\n" @@ -556,7 +556,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -583,7 +583,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_set_statistics" WHITESPACE "\n" @@ -615,7 +615,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -643,7 +643,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_set" WHITESPACE "\n" @@ -688,7 +688,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -729,7 +729,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_reset" WHITESPACE "\n" @@ -768,7 +768,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -798,7 +798,7 @@ SOURCE_FILE NAME IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_set_storage" WHITESPACE "\n" @@ -829,7 +829,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "plain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -856,7 +856,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " EXTERNAL_KW "external" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -883,7 +883,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "extended" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -910,7 +910,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "main" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -937,7 +937,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_options" WHITESPACE "\n" @@ -1000,7 +1000,7 @@ SOURCE_FILE NAME IDENT "x" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1034,7 +1034,7 @@ SOURCE_FILE LITERAL STRING "''" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_add_table_constraint" WHITESPACE "\n" @@ -1078,7 +1078,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " VALID_KW "valid" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1115,7 +1115,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_validate_constraint" WHITESPACE "\n" @@ -1139,7 +1139,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_drop_constraint" WHITESPACE "\n" @@ -1170,7 +1170,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1194,7 +1194,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_disable_trigger" WHITESPACE "\n" @@ -1218,7 +1218,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1239,7 +1239,7 @@ SOURCE_FILE TRIGGER_KW "trigger" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1260,7 +1260,7 @@ SOURCE_FILE TRIGGER_KW "trigger" WHITESPACE " " USER_KW "user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_enable_replica_trigger" WHITESPACE "\n" @@ -1286,7 +1286,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_enable_always_trigger" WHITESPACE "\n" @@ -1312,7 +1312,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_set_without_oids" WHITESPACE "\n" @@ -1335,7 +1335,7 @@ SOURCE_FILE WITHOUT_KW "without" WHITESPACE " " OIDS_KW "oids" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_inherit" WHITESPACE "\n" @@ -1359,7 +1359,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1391,7 +1391,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_no_inherit" WHITESPACE "\n" @@ -1417,7 +1417,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1451,7 +1451,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_owner_to" WHITESPACE "\n" @@ -1476,7 +1476,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_FOREIGN_TABLE ALTER_KW "alter" @@ -1498,7 +1498,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple_actions" WHITESPACE "\n" @@ -1555,7 +1555,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_owner" WHITESPACE "\n" @@ -1585,5 +1585,5 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_function_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_function_ok.snap index 864e886f2..eb16d2c0d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_function_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_function_ok.snap @@ -19,7 +19,7 @@ SOURCE_FILE FUNC_OPTION_LIST VOLATILITY_FUNC_OPTION STABLE_KW "stable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -41,7 +41,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "g" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_FUNCTION ALTER_KW "alter" @@ -66,7 +66,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "g" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_with_params" WHITESPACE "\n" @@ -101,7 +101,7 @@ SOURCE_FILE FUNC_OPTION_LIST STRICT_FUNC_OPTION STRICT_KW "strict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -123,7 +123,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -145,7 +145,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple_actions" WHITESPACE "\n" @@ -328,7 +328,7 @@ SOURCE_FILE ALL_KW "all" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- depends" WHITESPACE "\n" @@ -351,7 +351,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_FUNCTION ALTER_KW "alter" @@ -374,5 +374,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_group_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_group_ok.snap index d727e5c4d..7a2be1db9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_group_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_group_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_multiple" WHITESPACE "\n" @@ -47,7 +47,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "w" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop" WHITESPACE "\n" @@ -66,7 +66,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_multiple" WHITESPACE "\n" @@ -93,7 +93,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "w" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -113,7 +113,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_role" WHITESPACE "\n" @@ -131,7 +131,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_user" WHITESPACE "\n" @@ -149,7 +149,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- session_user" WHITESPACE "\n" @@ -167,5 +167,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_index_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_index_ok.snap index 07975749c..e276bee50 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_index_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_index_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "j" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -51,7 +51,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "j" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_tablespace" WHITESPACE "\n" @@ -74,7 +74,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -105,7 +105,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_params" WHITESPACE "\n" @@ -128,7 +128,7 @@ SOURCE_FILE NAME IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -172,7 +172,7 @@ SOURCE_FILE LITERAL STRING "'v'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_params" WHITESPACE "\n" @@ -195,7 +195,7 @@ SOURCE_FILE NAME IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -231,7 +231,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- attach" WHITESPACE "\n" @@ -254,7 +254,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -285,7 +285,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- depends" WHITESPACE "\n" @@ -312,7 +312,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -340,7 +340,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_column" WHITESPACE "\n" @@ -366,7 +366,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -402,7 +402,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all_tablespace" WHITESPACE "\n" @@ -428,7 +428,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_INDEX ALTER_KW "alter" @@ -468,5 +468,5 @@ SOURCE_FILE IDENT "n" WHITESPACE "\n " NOWAIT_KW "nowait" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_language_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_language_ok.snap index b141ee7ad..2ed6431aa 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_language_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_language_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "y" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_LANGUAGE ALTER_KW "alter" @@ -39,7 +39,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "y" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -59,7 +59,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_LANGUAGE ALTER_KW "alter" @@ -78,5 +78,5 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_large_object_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_large_object_ok.snap index fb2807057..c2dd1ab88 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_large_object_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_large_object_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_role" WHITESPACE "\n" @@ -42,5 +42,5 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_materialized_view_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_materialized_view_ok.snap index e9363e087..aad0adb49 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_materialized_view_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_materialized_view_ok.snap @@ -24,7 +24,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -55,7 +55,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_column" WHITESPACE "\n" @@ -81,7 +81,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -117,7 +117,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -140,7 +140,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -166,7 +166,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- depends_extension" WHITESPACE "\n" @@ -191,7 +191,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -216,7 +216,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_tablespace" WHITESPACE "\n" @@ -242,7 +242,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -282,7 +282,7 @@ SOURCE_FILE IDENT "n" WHITESPACE " " NOWAIT_KW "nowait" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_alter_col_stats" WHITESPACE "\n" @@ -311,7 +311,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -342,7 +342,7 @@ SOURCE_FILE MINUS "-" LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -370,7 +370,7 @@ SOURCE_FILE STATISTICS_KW "statistics" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_alter_col_set" WHITESPACE "\n" @@ -409,7 +409,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "1.0" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -455,7 +455,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_alter_col_reset" WHITESPACE "\n" @@ -486,7 +486,7 @@ SOURCE_FILE NAME IDENT "n_distinct" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -522,7 +522,7 @@ SOURCE_FILE NAME IDENT "n_distinct_inherited" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_alter_col_storage" WHITESPACE "\n" @@ -550,7 +550,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "plain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -576,7 +576,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " EXTERNAL_KW "external" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -602,7 +602,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "extended" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -628,7 +628,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "main" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -659,7 +659,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_alter_col_compression" WHITESPACE "\n" @@ -687,7 +687,7 @@ SOURCE_FILE COMPRESSION_KW "compression" WHITESPACE " " IDENT "pglz" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_MATERIALIZED_VIEW ALTER_KW "alter" @@ -715,7 +715,7 @@ SOURCE_FILE COMPRESSION_KW "compression" WHITESPACE " " IDENT "pglz" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_cluster" WHITESPACE "\n" @@ -738,7 +738,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- action_set_without_cluster" WHITESPACE "\n" @@ -760,5 +760,5 @@ SOURCE_FILE WITHOUT_KW "without" WHITESPACE " " CLUSTER_KW "cluster" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_operator_class_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_operator_class_ok.snap index 38527772c..fc946081b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_operator_class_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_operator_class_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_OPERATOR_CLASS ALTER_KW "alter" @@ -60,7 +60,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -89,7 +89,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_OPERATOR_CLASS ALTER_KW "alter" @@ -115,7 +115,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -143,5 +143,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_operator_family_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_operator_family_ok.snap index 95f10cef6..b2eed7553 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_operator_family_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_operator_family_ok.snap @@ -49,7 +49,7 @@ SOURCE_FILE NAME_REF IDENT "u" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi" WHITESPACE "\n" @@ -184,7 +184,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_op_for_search" WHITESPACE "\n" @@ -236,7 +236,7 @@ SOURCE_FILE FOR_KW "for" WHITESPACE " " SEARCH_KW "search" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_op_for_order" WHITESPACE "\n" @@ -295,7 +295,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_func" WHITESPACE "\n" @@ -340,7 +340,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_func_with_params" WHITESPACE "\n" @@ -411,7 +411,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_op" WHITESPACE "\n" @@ -459,7 +459,7 @@ SOURCE_FILE NAME_REF IDENT "u" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_op_single_param" WHITESPACE "\n" @@ -499,7 +499,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_func" WHITESPACE "\n" @@ -547,7 +547,7 @@ SOURCE_FILE NAME_REF IDENT "u" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_func_single_param" WHITESPACE "\n" @@ -587,7 +587,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_multiple" WHITESPACE "\n" @@ -652,7 +652,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -680,7 +680,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -709,7 +709,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_OPERATOR_FAMILY ALTER_KW "alter" @@ -735,7 +735,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -768,5 +768,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_operator_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_operator_ok.snap index fdf53d202..888b685ae 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_operator_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_operator_ok.snap @@ -44,7 +44,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -75,7 +75,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- options" WHITESPACE "\n" @@ -194,7 +194,7 @@ SOURCE_FILE IDENT "enabled" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- none_options" WHITESPACE "\n" @@ -246,5 +246,5 @@ SOURCE_FILE ATTRIBUTE_VALUE NONE_KW "none" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_policy_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_policy_ok.snap index 82aa33e52..5502062a6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_policy_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_policy_ok.snap @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "q" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- to_role" WHITESPACE "\n" @@ -54,7 +54,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- to_multiple_roles" WHITESPACE "\n" @@ -89,7 +89,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- using_expr" WHITESPACE "\n" @@ -122,7 +122,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_check" WHITESPACE "\n" @@ -157,7 +157,7 @@ SOURCE_FILE NAME_REF IDENT "d" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -218,5 +218,5 @@ SOURCE_FILE NAME_REF IDENT "d" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_procedure_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_procedure_ok.snap index b97dc9719..c72acd47f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_procedure_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_procedure_ok.snap @@ -23,7 +23,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "q" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -65,7 +65,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "q" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -88,7 +88,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -108,7 +108,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -130,7 +130,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- security" WHITESPACE "\n" @@ -171,7 +171,7 @@ SOURCE_FILE DEFINER_KW "definer" WHITESPACE " \n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- actions" WHITESPACE "\n" @@ -233,7 +233,7 @@ SOURCE_FILE ALL_KW "all" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_param" WHITESPACE "\n" @@ -262,7 +262,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "v" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -289,7 +289,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "v" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -315,7 +315,7 @@ SOURCE_FILE EQ "=" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -341,7 +341,7 @@ SOURCE_FILE FROM_KW "from" WHITESPACE " " CURRENT_KW "current" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_param" WHITESPACE "\n" @@ -364,7 +364,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -382,7 +382,7 @@ SOURCE_FILE RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- depends" WHITESPACE "\n" @@ -407,7 +407,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PROCEDURE ALTER_KW "alter" @@ -432,5 +432,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_property_graph_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_property_graph_ok.snap index ff572603c..762623dbd 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_property_graph_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_property_graph_ok.snap @@ -34,7 +34,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set owner" WHITESPACE "\n" @@ -68,7 +68,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set schema" WHITESPACE "\n" @@ -101,7 +101,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add vertex/edge tables" WHITESPACE "\n" @@ -319,7 +319,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add vertex/edge tables part 2" WHITESPACE "\n" @@ -454,5 +454,5 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_publication_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_publication_ok.snap index 788442f94..b78995ac7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_publication_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_publication_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PUBLICATION ALTER_KW "alter" @@ -96,7 +96,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_tables_in_schema" WHITESPACE "\n" @@ -119,7 +119,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PUBLICATION ALTER_KW "alter" @@ -139,7 +139,7 @@ SOURCE_FILE SCHEMA_KW "schema" WHITESPACE " " CURRENT_SCHEMA_KW "current_schema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_table" WHITESPACE "\n" @@ -160,7 +160,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PUBLICATION ALTER_KW "alter" @@ -234,7 +234,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_parameters" WHITESPACE "\n" @@ -269,7 +269,7 @@ SOURCE_FILE NAME_REF VALUE_KW "value" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_table" WHITESPACE "\n" @@ -290,7 +290,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PUBLICATION ALTER_KW "alter" @@ -364,7 +364,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to" WHITESPACE "\n" @@ -384,7 +384,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_PUBLICATION ALTER_KW "alter" @@ -401,7 +401,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -420,5 +420,5 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "q" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_role_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_role_ok.snap index 6062cf9c9..417ab0691 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_role_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_role_ok.snap @@ -19,7 +19,7 @@ SOURCE_FILE WHITESPACE " " ROLE_OPTION IDENT "superuser" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all_options" WHITESPACE "\n" @@ -114,7 +114,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2042-02-22'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -134,7 +134,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "newname" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_config" WHITESPACE "\n" @@ -159,7 +159,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'value'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_ROLE ALTER_KW "alter" @@ -182,7 +182,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'value'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_ROLE ALTER_KW "alter" @@ -204,7 +204,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_config_from_current" WHITESPACE "\n" @@ -228,7 +228,7 @@ SOURCE_FILE FROM_KW "from" WHITESPACE " " CURRENT_KW "current" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_config" WHITESPACE "\n" @@ -247,7 +247,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "param" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_all" WHITESPACE "\n" @@ -263,7 +263,7 @@ SOURCE_FILE RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- in_database" WHITESPACE "\n" @@ -295,7 +295,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'value'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- using_current_user" WHITESPACE "\n" @@ -312,7 +312,7 @@ SOURCE_FILE WHITESPACE " " ROLE_OPTION IDENT "nologin" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- for_all_roles" WHITESPACE "\n" @@ -326,5 +326,5 @@ SOURCE_FILE RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_routine_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_routine_ok.snap index 233aa548f..c357f8b30 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_routine_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_routine_ok.snap @@ -19,7 +19,7 @@ SOURCE_FILE FUNC_OPTION_LIST VOLATILITY_FUNC_OPTION STABLE_KW "stable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -41,7 +41,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -63,7 +63,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -85,7 +85,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- depends" WHITESPACE "\n" @@ -109,7 +109,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_ROUTINE ALTER_KW "alter" @@ -133,7 +133,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- no_depends" WHITESPACE "\n" @@ -159,7 +159,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_params" WHITESPACE "\n" @@ -208,7 +208,7 @@ SOURCE_FILE PARALLEL_KW "parallel" WHITESPACE " " IDENT "safe" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all_actions" WHITESPACE "\n" @@ -347,5 +347,5 @@ SOURCE_FILE ALL_KW "all" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_rule_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_rule_ok.snap index 10c3c04fe..442d7b4ab 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_rule_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_rule_ok.snap @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_schema" WHITESPACE "\n" @@ -60,5 +60,5 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_schema_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_schema_ok.snap index 65905be28..2fa08e21b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_schema_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_schema_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -40,7 +40,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SCHEMA ALTER_KW "alter" @@ -57,5 +57,5 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_sequence_err.snap b/crates/squawk_parser/tests/snapshots/tests__alter_sequence_err.snap index 75b98b8d6..d7d064d7f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_sequence_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_sequence_err.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected ALTER SEQUENCE option diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_sequence_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_sequence_ok.snap index c1e4e5080..30b4a3015 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_sequence_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_sequence_ok.snap @@ -133,7 +133,7 @@ SOURCE_FILE BY_KW "by" WHITESPACE " " NONE_KW "none" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_logged" WHITESPACE "\n" @@ -150,7 +150,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " LOGGED_KW "logged" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_SEQUENCE ALTER_KW "alter" @@ -165,7 +165,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " UNLOGGED_KW "unlogged" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to" WHITESPACE "\n" @@ -187,7 +187,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_SEQUENCE ALTER_KW "alter" @@ -206,7 +206,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -227,7 +227,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -248,5 +248,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "x" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_server_err.snap b/crates/squawk_parser/tests/snapshots/tests__alter_server_err.snap index 1ce500bf7..90fb31191 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_server_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_server_err.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected ALTER SERVER option diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_server_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_server_ok.snap index 606b6544a..f4fe86fa7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_server_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_server_ok.snap @@ -17,7 +17,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'v1'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -54,7 +54,7 @@ SOURCE_FILE NAME IDENT "p" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -74,7 +74,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SERVER ALTER_KW "alter" @@ -91,7 +91,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -110,5 +110,5 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_statistics_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_statistics_ok.snap index fd32f220e..58ba2b9c9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_statistics_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_statistics_ok.snap @@ -23,7 +23,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_STATISTICS ALTER_KW "alter" @@ -47,7 +47,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -68,7 +68,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -89,7 +89,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- statistics_value" WHITESPACE "\n" @@ -109,7 +109,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_STATISTICS ALTER_KW "alter" @@ -126,5 +126,5 @@ SOURCE_FILE STATISTICS_KW "statistics" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_subscription_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_subscription_ok.snap index 786ae1556..37a49b16a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_subscription_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_subscription_ok.snap @@ -17,7 +17,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'host=localhost port=5432'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_publication" WHITESPACE "\n" @@ -35,7 +35,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SUBSCRIPTION ALTER_KW "alter" @@ -79,7 +79,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_publication" WHITESPACE "\n" @@ -97,7 +97,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SUBSCRIPTION ALTER_KW "alter" @@ -141,7 +141,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_publication" WHITESPACE "\n" @@ -159,7 +159,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SUBSCRIPTION ALTER_KW "alter" @@ -203,7 +203,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- refresh" WHITESPACE "\n" @@ -233,7 +233,7 @@ SOURCE_FILE LITERAL FALSE_KW "false" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- enable" WHITESPACE "\n" @@ -246,7 +246,7 @@ SOURCE_FILE IDENT "s" WHITESPACE " " ENABLE_KW "enable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- disable" WHITESPACE "\n" @@ -259,7 +259,7 @@ SOURCE_FILE IDENT "s" WHITESPACE " " DISABLE_KW "disable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_parameters" WHITESPACE "\n" @@ -297,7 +297,7 @@ SOURCE_FILE LITERAL STRING "'off'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- skip" WHITESPACE "\n" @@ -323,7 +323,7 @@ SOURCE_FILE LITERAL STRING "'0/12345678'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -343,7 +343,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SUBSCRIPTION ALTER_KW "alter" @@ -360,7 +360,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -379,5 +379,5 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_system_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_system_ok.snap index 9d414175e..994426269 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_system_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_system_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'v'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_equals" WHITESPACE "\n" @@ -43,7 +43,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'v'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -69,7 +69,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'v'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_SYSTEM ALTER_KW "alter" @@ -87,7 +87,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_multiple" WHITESPACE "\n" @@ -116,7 +116,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'v3'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_default" WHITESPACE "\n" @@ -136,7 +136,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_param" WHITESPACE "\n" @@ -151,7 +151,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_all" WHITESPACE "\n" @@ -163,5 +163,5 @@ SOURCE_FILE RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_table_err.snap b/crates/squawk_parser/tests/snapshots/tests__alter_table_err.snap index 855ab63e1..f19fe1dd1 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_table_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_table_err.snap @@ -49,7 +49,7 @@ SOURCE_FILE INITIALLY_KW "initially" WHITESPACE " " DEFERRED_KW "deferred" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -77,8 +77,8 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - WHITESPACE " " - SEMICOLON ";" + WHITESPACE " " + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- ^ missing comma" WHITESPACE "\n\n" @@ -121,7 +121,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " VALID_KW "valid" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing comma" WHITESPACE "\n" @@ -163,7 +163,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extra comma" WHITESPACE "\n" @@ -209,7 +209,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected command, found ADD_KW diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_table_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_table_ok.snap index d814966b8..75af3190d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_table_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF TEXT_KW "text" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- change column data type" WHITESPACE "\n" @@ -71,7 +71,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- alter_constraint" WHITESPACE "\n" @@ -93,7 +93,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -116,7 +116,7 @@ SOURCE_FILE WHITESPACE " " DEFERRABLE_CONSTRAINT_OPTION DEFERRABLE_KW "deferrable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -141,7 +141,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " DEFERRABLE_KW "deferrable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -171,7 +171,7 @@ SOURCE_FILE INITIALLY_KW "initially" WHITESPACE " " IMMEDIATE_KW "immediate" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- validate_constraint" WHITESPACE "\n" @@ -193,7 +193,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- change column default" WHITESPACE "\n" @@ -223,7 +223,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FLOAT_NUMBER "7.77" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove column default" WHITESPACE "\n" @@ -250,7 +250,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- alter_column" WHITESPACE "\n" @@ -302,7 +302,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -329,7 +329,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -361,7 +361,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -384,7 +384,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -409,7 +409,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -434,7 +434,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -457,7 +457,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " EXPRESSION_KW "expression" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -485,7 +485,7 @@ SOURCE_FILE IF_KW "if" WHITESPACE " " EXISTS_KW "exists" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -516,7 +516,7 @@ SOURCE_FILE AS_KW "as" WHITESPACE " " IDENTITY_KW "identity" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -545,7 +545,7 @@ SOURCE_FILE AS_KW "as" WHITESPACE " " IDENTITY_KW "identity" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -590,7 +590,7 @@ SOURCE_FILE CYCLE_KW "cycle" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -633,7 +633,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n" ALTER_TABLE ALTER_KW "alter" @@ -678,7 +678,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n\n" ALTER_TABLE ALTER_KW "alter" @@ -701,7 +701,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " IDENTITY_KW "identity" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -729,7 +729,7 @@ SOURCE_FILE IF_KW "if" WHITESPACE " " EXISTS_KW "exists" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -755,7 +755,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -808,7 +808,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -848,7 +848,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -891,7 +891,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -967,7 +967,7 @@ SOURCE_FILE CONSTRAINT_KW "constraint" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -992,7 +992,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "plain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1017,7 +1017,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " EXTERNAL_KW "external" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1042,7 +1042,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "extended" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1067,7 +1067,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " IDENT "main" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1092,7 +1092,7 @@ SOURCE_FILE STORAGE_KW "storage" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -1117,7 +1117,7 @@ SOURCE_FILE COMPRESSION_KW "compression" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1142,7 +1142,7 @@ SOURCE_FILE COMPRESSION_KW "compression" WHITESPACE " " IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -1164,7 +1164,7 @@ SOURCE_FILE SET_GENERATED_OPTIONS RESTART RESTART_KW "restart" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- inherit" WHITESPACE "\n" @@ -1186,7 +1186,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1208,7 +1208,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove constraint" WHITESPACE "\n" @@ -1230,7 +1230,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "some_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove column not null constraint" WHITESPACE "\n" @@ -1259,7 +1259,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove constraint if exists" WHITESPACE "\n" @@ -1286,7 +1286,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "some_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -1313,7 +1313,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1340,7 +1340,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- disable_trigger" WHITESPACE "\n" @@ -1362,7 +1362,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1381,7 +1381,7 @@ SOURCE_FILE TRIGGER_KW "trigger" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1400,7 +1400,7 @@ SOURCE_FILE TRIGGER_KW "trigger" WHITESPACE " " USER_KW "user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- enable_trigger" WHITESPACE "\n" @@ -1422,7 +1422,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1441,7 +1441,7 @@ SOURCE_FILE TRIGGER_KW "trigger" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1460,7 +1460,7 @@ SOURCE_FILE TRIGGER_KW "trigger" WHITESPACE " " USER_KW "user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -1482,7 +1482,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1504,7 +1504,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- replica_identity" WHITESPACE "\n" @@ -1525,7 +1525,7 @@ SOURCE_FILE IDENTITY_KW "identity" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1549,7 +1549,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1568,7 +1568,7 @@ SOURCE_FILE IDENTITY_KW "identity" WHITESPACE " " FULL_KW "full" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1587,7 +1587,7 @@ SOURCE_FILE IDENTITY_KW "identity" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rule_enable_disable" WHITESPACE "\n" @@ -1609,7 +1609,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1629,7 +1629,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -1651,7 +1651,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1673,7 +1673,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "r" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- row_level_security" WHITESPACE "\n" @@ -1696,7 +1696,7 @@ SOURCE_FILE LEVEL_KW "level" WHITESPACE " " SECURITY_KW "security" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1717,7 +1717,7 @@ SOURCE_FILE LEVEL_KW "level" WHITESPACE " " SECURITY_KW "security" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1738,7 +1738,7 @@ SOURCE_FILE LEVEL_KW "level" WHITESPACE " " SECURITY_KW "security" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1761,7 +1761,7 @@ SOURCE_FILE LEVEL_KW "level" WHITESPACE " " SECURITY_KW "security" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- cluster" WHITESPACE "\n" @@ -1783,7 +1783,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1802,7 +1802,7 @@ SOURCE_FILE WITHOUT_KW "without" WHITESPACE " " CLUSTER_KW "cluster" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1821,7 +1821,7 @@ SOURCE_FILE WITHOUT_KW "without" WHITESPACE " " OIDS_KW "oids" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- access_method" WHITESPACE "\n" @@ -1845,7 +1845,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -1862,7 +1862,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " LOGGED_KW "logged" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1879,7 +1879,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " UNLOGGED_KW "unlogged" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- of_type" WHITESPACE "\n" @@ -1902,7 +1902,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "int8" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -1919,7 +1919,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " OF_KW "of" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column constraint" WHITESPACE "\n" @@ -1961,7 +1961,7 @@ SOURCE_FILE LITERAL STRING "''" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add column not null constraint" WHITESPACE "\n" @@ -1990,7 +1990,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi constraints" WHITESPACE "\n" @@ -2037,7 +2037,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -2080,7 +2080,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'UTC'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove_column" WHITESPACE "\n" @@ -2104,7 +2104,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "description" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove column cascade" WHITESPACE "\n" @@ -2128,7 +2128,7 @@ SOURCE_FILE IDENT "description" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove column restrict" WHITESPACE "\n" @@ -2152,7 +2152,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove column concise" WHITESPACE "\n" @@ -2172,7 +2172,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "description" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- remove column if exists" WHITESPACE "\n" @@ -2199,7 +2199,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "description" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- add table_constraint" WHITESPACE "\n" @@ -2230,7 +2230,7 @@ SOURCE_FILE LITERAL STRING "''" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2261,7 +2261,7 @@ SOURCE_FILE NAME_REF IDENT "product_no" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2330,7 +2330,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2362,7 +2362,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -2430,7 +2430,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -2484,7 +2484,7 @@ SOURCE_FILE AMP "&" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2558,7 +2558,7 @@ SOURCE_FILE LITERAL STRING "'active'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -2597,7 +2597,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2641,7 +2641,7 @@ SOURCE_FILE MATCH_KW "match" WHITESPACE " " FULL_KW "full" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2685,7 +2685,7 @@ SOURCE_FILE MATCH_KW "match" WHITESPACE " " SIMPLE_KW "simple" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2760,7 +2760,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -2804,7 +2804,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " ACTION_KW "action" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2845,7 +2845,7 @@ SOURCE_FILE DELETE_KW "delete" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2886,7 +2886,7 @@ SOURCE_FILE DELETE_KW "delete" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2930,7 +2930,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -2986,7 +2986,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -3030,7 +3030,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -3086,7 +3086,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3120,7 +3120,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "product_groups" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table_constraint_using_index" WHITESPACE "\n" @@ -3148,7 +3148,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -3176,7 +3176,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3208,7 +3208,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLE ALTER_KW "alter" @@ -3242,7 +3242,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not valid check" WHITESPACE "\n" @@ -3287,7 +3287,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " VALID_KW "valid" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- rename column" WHITESPACE "\n" @@ -3314,7 +3314,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "product_number" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3346,7 +3346,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3373,7 +3373,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename table" WHITESPACE "\n" @@ -3395,7 +3395,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "items" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3419,7 +3419,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename constraint" WHITESPACE "\n" @@ -3446,7 +3446,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -3468,7 +3468,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set tablespace" WHITESPACE "\n" @@ -3496,7 +3496,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set tablespace all" WHITESPACE "\n" @@ -3546,7 +3546,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " NOWAIT_KW "nowait" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set tablespace owned by" WHITESPACE "\n" @@ -3584,7 +3584,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "buz" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3604,7 +3604,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_table_owner" WHITESPACE "\n" @@ -3627,7 +3627,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "new_owner" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- default" WHITESPACE "\n" @@ -3654,7 +3654,7 @@ SOURCE_FILE WHITESPACE " " PARTITION_DEFAULT DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- partition spec" WHITESPACE "\n" @@ -3694,7 +3694,7 @@ SOURCE_FILE LITERAL STRING "'buzz'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple_actions" WHITESPACE "\n" @@ -3731,7 +3731,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " UNLOGGED_KW "unlogged" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from pg docs" WHITESPACE "\n" @@ -3785,7 +3785,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'current'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple" WHITESPACE "\n" @@ -3809,7 +3809,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- concurrently" WHITESPACE "\n" @@ -3835,7 +3835,7 @@ SOURCE_FILE IDENT "f" WHITESPACE " " CONCURRENTLY_KW "concurrently" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- finalize" WHITESPACE "\n" @@ -3861,7 +3861,7 @@ SOURCE_FILE IDENT "f" WHITESPACE " " FINALIZE_KW "finalize" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- references on update on delete" WHITESPACE "\n" @@ -3924,7 +3924,7 @@ SOURCE_FILE DELETE_KW "delete" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3962,7 +3962,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -3983,7 +3983,7 @@ SOURCE_FILE METHOD_KW "method" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TABLE ALTER_KW "alter" @@ -4027,5 +4027,5 @@ SOURCE_FILE MATCH_KW "match" WHITESPACE " " PARTIAL_KW "partial" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_tablespace_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_tablespace_ok.snap index 9fff23657..4cd658048 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_tablespace_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_tablespace_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -44,7 +44,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TABLESPACE ALTER_KW "alter" @@ -63,7 +63,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_option" WHITESPACE "\n" @@ -95,7 +95,7 @@ SOURCE_FILE NAME_REF IDENT "v" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_multiple_options" WHITESPACE "\n" @@ -141,7 +141,7 @@ SOURCE_FILE NAME_REF IDENT "v2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_option" WHITESPACE "\n" @@ -164,7 +164,7 @@ SOURCE_FILE NAME IDENT "o" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_multiple_options" WHITESPACE "\n" @@ -192,5 +192,5 @@ SOURCE_FILE NAME IDENT "o2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_configuration_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_configuration_ok.snap index e899095eb..3383dbfd7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_configuration_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_configuration_ok.snap @@ -34,7 +34,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -90,7 +90,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_mapping" WHITESPACE "\n" @@ -123,7 +123,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -164,7 +164,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_mapping_replace" WHITESPACE "\n" @@ -199,7 +199,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -247,7 +247,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_mapping_for_replace" WHITESPACE "\n" @@ -287,7 +287,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -340,7 +340,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_mapping" WHITESPACE "\n" @@ -366,7 +366,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -404,7 +404,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -429,7 +429,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "m" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -457,7 +457,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "m" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to" WHITESPACE "\n" @@ -483,7 +483,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -511,7 +511,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -536,7 +536,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_CONFIGURATION ALTER_KW "alter" @@ -564,5 +564,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_dictionary_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_dictionary_ok.snap index eb9bdaf18..59c7d1a8f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_dictionary_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_dictionary_ok.snap @@ -43,7 +43,7 @@ SOURCE_FILE IDENT "b" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -68,7 +68,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner" WHITESPACE "\n" @@ -94,7 +94,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TEXT_SEARCH_DICTIONARY ALTER_KW "alter" @@ -117,7 +117,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -142,5 +142,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_parser_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_parser_ok.snap index 865b2f394..001d81427 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_parser_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_parser_ok.snap @@ -26,7 +26,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "q" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_TEXT_SEARCH_PARSER ALTER_KW "alter" @@ -79,5 +79,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_template_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_template_ok.snap index 014cc9a77..391e5c1d6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_text_search_template_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_text_search_template_ok.snap @@ -26,7 +26,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -56,5 +56,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_trigger_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_trigger_ok.snap index d02eb55c3..8b4ffc551 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_trigger_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_trigger_ok.snap @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- depends_on" WHITESPACE "\n" @@ -57,7 +57,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -93,5 +93,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "e" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_type_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_type_ok.snap index ac02acce6..358817734 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_type_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_type_ok.snap @@ -23,7 +23,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -42,7 +42,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename" WHITESPACE "\n" @@ -63,7 +63,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -84,7 +84,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_attribute" WHITESPACE "\n" @@ -110,7 +110,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_attribute_cascade" WHITESPACE "\n" @@ -143,7 +143,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -174,7 +174,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_value" WHITESPACE "\n" @@ -195,7 +195,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'v'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_value_full" WHITESPACE "\n" @@ -234,7 +234,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'w'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -271,7 +271,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'w'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_value" WHITESPACE "\n" @@ -297,7 +297,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'w'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_property" WHITESPACE "\n" @@ -326,7 +326,7 @@ SOURCE_FILE LITERAL STRING "'v'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -364,7 +364,7 @@ SOURCE_FILE LITERAL STRING "'w'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_attribute" WHITESPACE "\n" @@ -391,7 +391,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_attribute_collate" WHITESPACE "\n" @@ -426,7 +426,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- add_attribute_cascade" WHITESPACE "\n" @@ -455,7 +455,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -485,7 +485,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- drop_attribute" WHITESPACE "\n" @@ -506,7 +506,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -532,7 +532,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -558,7 +558,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_attribute" WHITESPACE "\n" @@ -587,7 +587,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alter_attribute_set_data" WHITESPACE "\n" @@ -638,7 +638,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_TYPE ALTER_KW "alter" @@ -667,7 +667,7 @@ SOURCE_FILE IDENT "t" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple_actions" WHITESPACE "\n" @@ -703,5 +703,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_user_mapping_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_user_mapping_ok.snap index 66893bc31..87ce438ed 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_user_mapping_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_user_mapping_ok.snap @@ -53,5 +53,5 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_user_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_user_ok.snap index 8f3f587e0..b801465f2 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_user_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_user_ok.snap @@ -17,7 +17,8 @@ SOURCE_FILE ROLE_OPTION_LIST ROLE_OPTION IDENT "superuser" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -109,7 +110,8 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2025-01-01'" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_user" WHITESPACE "\n" @@ -129,7 +131,8 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "v" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set" WHITESPACE "\n" @@ -154,7 +157,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'value'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_USER ALTER_KW "alter" @@ -177,7 +180,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'value'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_USER ALTER_KW "alter" @@ -199,7 +202,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_USER ALTER_KW "alter" @@ -229,7 +232,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'value'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_USER ALTER_KW "alter" @@ -251,7 +254,7 @@ SOURCE_FILE FROM_KW "from" WHITESPACE " " CURRENT_KW "current" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset" WHITESPACE "\n" @@ -268,7 +271,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_USER ALTER_KW "alter" @@ -282,7 +285,7 @@ SOURCE_FILE RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_USER ALTER_KW "alter" @@ -304,5 +307,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__alter_view_ok.snap b/crates/squawk_parser/tests/snapshots/tests__alter_view_ok.snap index d1739d722..ce23f1b4d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_view_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_view_ok.snap @@ -26,7 +26,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "42" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ALTER_VIEW ALTER_KW "alter" @@ -56,7 +56,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF CURRENT_TIMESTAMP_KW "current_timestamp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column_drop_default" WHITESPACE "\n" @@ -80,7 +80,7 @@ SOURCE_FILE DROP_KW "drop" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to" WHITESPACE "\n" @@ -102,7 +102,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to_current_role" WHITESPACE "\n" @@ -133,7 +133,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to_current_user" WHITESPACE "\n" @@ -154,7 +154,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- owner_to_session_user" WHITESPACE "\n" @@ -175,7 +175,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF SESSION_USER_KW "session_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_to" WHITESPACE "\n" @@ -196,7 +196,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rename_column" WHITESPACE "\n" @@ -221,7 +221,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ALTER_VIEW ALTER_KW "alter" @@ -242,7 +242,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_schema" WHITESPACE "\n" @@ -263,7 +263,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set_options" WHITESPACE "\n" @@ -319,7 +319,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- reset_options" WHITESPACE "\n" @@ -352,5 +352,5 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__analyze_ok.snap b/crates/squawk_parser/tests/snapshots/tests__analyze_ok.snap index 9049ea17e..5699029eb 100644 --- a/crates/squawk_parser/tests/snapshots/tests__analyze_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__analyze_ok.snap @@ -7,11 +7,11 @@ SOURCE_FILE WHITESPACE "\n" ANALYZE ANALYZE_KW "analyze" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ANALYZE ANALYSE_KW "analyse" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -69,7 +69,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full_parens" WHITESPACE "\n" @@ -124,5 +124,5 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__call_ok.snap b/crates/squawk_parser/tests/snapshots/tests__call_ok.snap index e1eaa3d2f..530df8dd6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__call_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__call_ok.snap @@ -15,7 +15,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_schema" WHITESPACE "\n" @@ -36,7 +36,7 @@ SOURCE_FILE LITERAL STRING "'partman_test.time_taptest_table'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_named_args" WHITESPACE "\n" @@ -72,5 +72,5 @@ SOURCE_FILE LITERAL STRING "'d'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__checkpoint_ok.snap b/crates/squawk_parser/tests/snapshots/tests__checkpoint_ok.snap index e926dac8d..df9b0ff0b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__checkpoint_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__checkpoint_ok.snap @@ -7,5 +7,5 @@ SOURCE_FILE WHITESPACE "\n" CHECKPOINT CHECKPOINT_KW "checkpoint" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__close_ok.snap b/crates/squawk_parser/tests/snapshots/tests__close_ok.snap index ede3740a0..6749e639e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__close_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__close_ok.snap @@ -10,11 +10,11 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CLOSE CLOSE_KW "close" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__cluster_ok.snap b/crates/squawk_parser/tests/snapshots/tests__cluster_ok.snap index a314f9666..85e607d7a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__cluster_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__cluster_ok.snap @@ -7,7 +7,7 @@ SOURCE_FILE WHITESPACE "\n" CLUSTER CLUSTER_KW "cluster" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -38,7 +38,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "idx" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- options_only" WHITESPACE "\n" @@ -53,7 +53,7 @@ SOURCE_FILE LITERAL FALSE_KW "false" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pre_14" WHITESPACE "\n" @@ -77,7 +77,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "idx" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pre_17" WHITESPACE "\n" @@ -85,7 +85,7 @@ SOURCE_FILE CLUSTER_KW "cluster" WHITESPACE " " VERBOSE_KW "verbose" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pre_8_3" WHITESPACE "\n" @@ -111,5 +111,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__comment_ok.snap b/crates/squawk_parser/tests/snapshots/tests__comment_ok.snap index 1b1f95fbd..57363e7d9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__comment_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__comment_ok.snap @@ -23,7 +23,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aggregate_star" WHITESPACE "\n" @@ -49,7 +49,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aggregate" WHITESPACE "\n" @@ -75,7 +75,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aggregate_with_params" WHITESPACE "\n" @@ -120,7 +120,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aggregate_order_by" WHITESPACE "\n" @@ -167,7 +167,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cast" WHITESPACE "\n" @@ -199,7 +199,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- collation" WHITESPACE "\n" @@ -219,7 +219,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column" WHITESPACE "\n" @@ -244,7 +244,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- constraint_on_table" WHITESPACE "\n" @@ -269,7 +269,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- constraint_on_domain" WHITESPACE "\n" @@ -296,7 +296,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- conversion" WHITESPACE "\n" @@ -316,7 +316,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- database" WHITESPACE "\n" @@ -336,7 +336,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- domain" WHITESPACE "\n" @@ -356,7 +356,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extension" WHITESPACE "\n" @@ -376,7 +376,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- event_trigger" WHITESPACE "\n" @@ -398,7 +398,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_data_wrapper" WHITESPACE "\n" @@ -422,7 +422,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_table" WHITESPACE "\n" @@ -444,7 +444,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function" WHITESPACE "\n" @@ -468,7 +468,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function_with_args" WHITESPACE "\n" @@ -523,7 +523,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- index" WHITESPACE "\n" @@ -543,7 +543,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- large_object" WHITESPACE "\n" @@ -563,7 +563,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- materialized_view" WHITESPACE "\n" @@ -585,7 +585,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- operator" WHITESPACE "\n" @@ -619,7 +619,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT_ON COMMENT_KW "comment" @@ -657,7 +657,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- operator_class" WHITESPACE "\n" @@ -685,7 +685,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- operator_family" WHITESPACE "\n" @@ -713,7 +713,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- policy" WHITESPACE "\n" @@ -738,7 +738,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- language" WHITESPACE "\n" @@ -758,7 +758,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- procedural_language" WHITESPACE "\n" @@ -780,7 +780,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- procedure" WHITESPACE "\n" @@ -804,7 +804,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- procedure_with_args" WHITESPACE "\n" @@ -859,7 +859,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- publication" WHITESPACE "\n" @@ -879,7 +879,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- role" WHITESPACE "\n" @@ -899,7 +899,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- routine" WHITESPACE "\n" @@ -923,7 +923,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- routine_with_args" WHITESPACE "\n" @@ -981,7 +981,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rule" WHITESPACE "\n" @@ -1006,7 +1006,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -1026,7 +1026,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- sequence" WHITESPACE "\n" @@ -1046,7 +1046,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- server" WHITESPACE "\n" @@ -1066,7 +1066,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- statistics" WHITESPACE "\n" @@ -1086,7 +1086,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subscription" WHITESPACE "\n" @@ -1106,7 +1106,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table" WHITESPACE "\n" @@ -1126,7 +1126,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table_null" WHITESPACE "\n" @@ -1145,7 +1145,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- tablespace" WHITESPACE "\n" @@ -1165,7 +1165,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- text_search_configuration" WHITESPACE "\n" @@ -1189,7 +1189,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- text_search_dictionary" WHITESPACE "\n" @@ -1213,7 +1213,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- text_search_parser" WHITESPACE "\n" @@ -1237,7 +1237,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- text_search_template" WHITESPACE "\n" @@ -1261,7 +1261,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- transform" WHITESPACE "\n" @@ -1289,7 +1289,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- trigger" WHITESPACE "\n" @@ -1314,7 +1314,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type_" WHITESPACE "\n" @@ -1334,7 +1334,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- view" WHITESPACE "\n" @@ -1354,5 +1354,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__copy_err.snap b/crates/squawk_parser/tests/snapshots/tests__copy_err.snap index bde40001e..d2940655f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__copy_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__copy_err.snap @@ -43,7 +43,7 @@ SOURCE_FILE WHITESPACE " " VERBOSE_KW "verbose" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__copy_ok.snap b/crates/squawk_parser/tests/snapshots/tests__copy_ok.snap index 10d85084a..31037792b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__copy_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__copy_ok.snap @@ -17,7 +17,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'/tmp/copy.data'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- copy_to" WHITESPACE "\n" @@ -42,7 +42,7 @@ SOURCE_FILE LITERAL STRING "'|'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- copy_from" WHITESPACE "\n" @@ -58,7 +58,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'/usr1/proj/bray/sql/country_data'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- copy_to_file" WHITESPACE "\n" @@ -98,7 +98,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'/usr1/proj/bray/sql/a_list_countries.copy'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- copy_to_compress_filed" WHITESPACE "\n" @@ -116,7 +116,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'gzip > /usr1/proj/bray/sql/country_data.gz'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- log_setting" WHITESPACE "\n" @@ -162,7 +162,7 @@ SOURCE_FILE VERBOSE_KW "verbose" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_error" WHITESPACE "\n" @@ -189,7 +189,7 @@ SOURCE_FILE IGNORE_KW "ignore" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all_the_options" WHITESPACE "\n" @@ -411,5 +411,5 @@ SOURCE_FILE VERBOSE_KW "verbose" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_access_method_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_access_method_ok.snap index 9c261db32..0a6bc9859 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_access_method_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_access_method_ok.snap @@ -28,7 +28,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -60,5 +60,5 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_aggregate_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_aggregate_ok.snap index 6a86f8f85..2b277ba3e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_aggregate_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_aggregate_ok.snap @@ -60,7 +60,7 @@ SOURCE_FILE IDENT "u" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full_old_syntax" WHITESPACE "\n" @@ -400,7 +400,7 @@ SOURCE_FILE L_ANGLE "<" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple" WHITESPACE "\n" @@ -454,7 +454,7 @@ SOURCE_FILE IDENT "t" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -758,7 +758,7 @@ SOURCE_FILE IDENT "safe" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ordered_aggregate" WHITESPACE "\n" @@ -934,7 +934,7 @@ SOURCE_FILE IDENT "hypothetical" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_1" WHITESPACE "\n" @@ -1000,7 +1000,7 @@ SOURCE_FILE STRING "'{}'" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_2" WHITESPACE "\n" @@ -1074,7 +1074,7 @@ SOURCE_FILE IDENT "finalfunc_extra" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_3" WHITESPACE "\n" @@ -1159,7 +1159,7 @@ SOURCE_FILE IDENT "finalfunc_extra" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_4" WHITESPACE "\n" @@ -1278,7 +1278,7 @@ SOURCE_FILE STRING "'(0,0)'" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_5" WHITESPACE "\n" @@ -1375,5 +1375,5 @@ SOURCE_FILE IDENT "float8mi" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_cast_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_cast_ok.snap index e1166dc69..4f03f7e31 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_cast_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_cast_ok.snap @@ -30,7 +30,7 @@ SOURCE_FILE WITHOUT_KW "without" WHITESPACE " " FUNCTION_KW "function" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- inout" WHITESPACE "\n" @@ -63,7 +63,7 @@ SOURCE_FILE AS_KW "as" WHITESPACE " " IMPLICIT_KW "implicit" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -154,5 +154,5 @@ SOURCE_FILE AS_KW "as" WHITESPACE " " ASSIGNMENT_KW "assignment" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_collation_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_collation_ok.snap index ddd00ad08..f3cdb101e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_collation_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_collation_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from_full" WHITESPACE "\n" @@ -58,7 +58,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_options" WHITESPACE "\n" @@ -167,5 +167,5 @@ SOURCE_FILE STRING "'100'" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_conversion_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_conversion_ok.snap index 18f610ec6..d82369fe7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_conversion_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_conversion_ok.snap @@ -31,7 +31,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -78,5 +78,5 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_database_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_database_ok.snap index 2eebeb32a..5453a00e8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_database_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_database_ok.snap @@ -13,7 +13,7 @@ SOURCE_FILE NAME IDENT "d" CREATE_DATABASE_OPTION_LIST - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -160,5 +160,5 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1010" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_domain_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_domain_ok.snap index 6de4ce0f4..d1a974780 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_domain_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_domain_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -86,5 +86,5 @@ SOURCE_FILE WHITESPACE "\n " NULL_CONSTRAINT NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_event_trigger_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_event_trigger_ok.snap index a23bb5aa1..beabbad8c 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_event_trigger_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_event_trigger_ok.snap @@ -30,7 +30,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -98,7 +98,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_1" WHITESPACE "\n" @@ -127,5 +127,5 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_ext_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_ext_ok.snap index 2c9534884..aef6383aa 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_ext_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_ext_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_EXTENSION CREATE_KW "create" @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "create" @@ -42,7 +42,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "addons" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "create" @@ -64,7 +64,7 @@ SOURCE_FILE IDENT "foo" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "create" @@ -83,5 +83,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'buzz'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_foreign_data_wrapper_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_foreign_data_wrapper_ok.snap index c7de3fc21..3b5631e30 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_foreign_data_wrapper_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_foreign_data_wrapper_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "w" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -89,5 +89,5 @@ SOURCE_FILE LITERAL STRING "'bar'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_foreign_table_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_foreign_table_ok.snap index dea7b7f91..be7ad6417 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_foreign_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_foreign_table_ok.snap @@ -25,7 +25,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -238,7 +238,7 @@ SOURCE_FILE LITERAL STRING "'d'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- partitioned_simple" WHITESPACE "\n" @@ -271,7 +271,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- partitioned" WHITESPACE "\n" @@ -397,7 +397,7 @@ SOURCE_FILE LITERAL STRING "'d'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- partitioned_bound_spec_in" WHITESPACE "\n" @@ -460,7 +460,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- partitioned_bound_spec_from" WHITESPACE "\n" @@ -542,7 +542,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- partitioned_bound_spec_with" WHITESPACE "\n" @@ -605,7 +605,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with schema" WHITESPACE "\n" @@ -660,7 +660,7 @@ SOURCE_FILE STRING "'event-types'" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- like clause is >=pg18" WHITESPACE "\n" @@ -694,7 +694,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- like clause is >=pg18" WHITESPACE "\n" @@ -753,5 +753,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "remote_server" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_function_err.snap b/crates/squawk_parser/tests/snapshots/tests__create_function_err.snap index 82ee3742e..6010b72c9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_function_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_function_err.snap @@ -57,7 +57,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -122,7 +122,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- regression partial definition" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_function_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_function_ok.snap index 9cf32bbca..7007b808d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_function_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_function_ok.snap @@ -66,7 +66,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- security_definer" WHITESPACE "\n" @@ -148,7 +148,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "pg_temp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_function_with_percent_type" WHITESPACE "\n" @@ -212,7 +212,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " IDENT "plpgsql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- setof return" WHITESPACE "\n" @@ -262,7 +262,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- void return" WHITESPACE "\n" @@ -305,7 +305,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- omitted return" WHITESPACE "\n" @@ -334,7 +334,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'sql'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -377,7 +377,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'sql'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -428,7 +428,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'sql'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -472,7 +472,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'sql'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- returns table" WHITESPACE "\n" @@ -529,7 +529,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- transform" WHITESPACE "\n" @@ -590,7 +590,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- transform with type with args" WHITESPACE "\n" @@ -646,7 +646,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- window" WHITESPACE "\n" @@ -686,7 +686,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- immutable, stable, volatile" WHITESPACE "\n" @@ -726,7 +726,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -764,7 +764,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -802,7 +802,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- [ not ] leakproof" WHITESPACE "\n" @@ -844,7 +844,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -882,7 +882,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT" WHITESPACE "\n" @@ -928,7 +928,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -974,7 +974,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- regression" WHITESPACE "\n" @@ -1015,7 +1015,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1053,7 +1053,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER" WHITESPACE "\n" @@ -1097,7 +1097,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1137,7 +1137,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1179,7 +1179,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1219,7 +1219,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- parallel" WHITESPACE "\n" @@ -1261,7 +1261,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1301,7 +1301,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1341,7 +1341,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- cost" WHITESPACE "\n" @@ -1384,7 +1384,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rows" WHITESPACE "\n" @@ -1427,7 +1427,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- suport" WHITESPACE "\n" @@ -1477,7 +1477,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1520,7 +1520,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set configuration_parameter" WHITESPACE "\n" @@ -1575,7 +1575,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1624,7 +1624,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1673,7 +1673,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- as def" WHITESPACE "\n" @@ -1710,7 +1710,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- as 'object_file', 'link_symbol'" WHITESPACE "\n" @@ -1751,7 +1751,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- return" WHITESPACE "\n" @@ -1797,7 +1797,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- begin atomic" WHITESPACE "\n" @@ -1834,30 +1834,28 @@ SOURCE_FILE WHITESPACE " " ATOMIC_KW "atomic" WHITESPACE "\n " - BEGIN_FUNC_OPTION - SELECT - SELECT_CLAUSE - SELECT_KW "select" - WHITESPACE " " - TARGET_LIST - TARGET - LITERAL - INT_NUMBER "1" - SEMICOLON ";" + SELECT + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "1" + SEMICOLON ";" WHITESPACE "\n " - BEGIN_FUNC_OPTION - SELECT - SELECT_CLAUSE - SELECT_KW "select" - WHITESPACE " " - TARGET_LIST - TARGET - LITERAL - INT_NUMBER "2" - SEMICOLON ";" + SELECT + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "2" + SEMICOLON ";" WHITESPACE "\n" END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -1892,23 +1890,22 @@ SOURCE_FILE WHITESPACE " " ATOMIC_KW "atomic" WHITESPACE "\n " - BEGIN_FUNC_OPTION - SELECT - SELECT_CLAUSE - SELECT_KW "select" - WHITESPACE " " - TARGET_LIST - TARGET - LITERAL - INT_NUMBER "1" - SEMICOLON ";" + SELECT + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "1" + SEMICOLON ";" WHITESPACE "\n " END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lots of ;" WHITESPACE "\n" @@ -1945,34 +1942,41 @@ SOURCE_FILE WHITESPACE " " ATOMIC_KW "atomic" WHITESPACE "\n" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n " - BEGIN_FUNC_OPTION - SELECT - SELECT_CLAUSE - SELECT_KW "select" - WHITESPACE " " - TARGET_LIST - TARGET - LITERAL - INT_NUMBER "1" - SEMICOLON ";" + SELECT + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "1" + SEMICOLON ";" WHITESPACE "\n" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n" - SEMICOLON ";" - SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" + EMPTY_STMT + SEMICOLON ";" WHITESPACE "\n" END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all options" WHITESPACE "\n" @@ -2117,7 +2121,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- regression" WHITESPACE "\n" @@ -2160,7 +2164,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -2207,7 +2211,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- argmode" WHITESPACE "\n" @@ -2253,7 +2257,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -2297,7 +2301,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -2343,7 +2347,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -2387,7 +2391,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "create" @@ -2431,7 +2435,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_arg_names" WHITESPACE "\n\n\n" @@ -2479,7 +2483,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi args" WHITESPACE "\n" @@ -2536,7 +2540,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- named and unnamed" WHITESPACE "\n" @@ -2590,7 +2594,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- default" WHITESPACE "\n" @@ -2658,7 +2662,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not a parser error but something to warn about" WHITESPACE "\n" @@ -2718,7 +2722,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- default" WHITESPACE "\n" @@ -2770,7 +2774,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- expr w/ default" WHITESPACE "\n" @@ -2828,7 +2832,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- expr w/ =" WHITESPACE "\n" @@ -2886,7 +2890,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- param_type_order" WHITESPACE "\n" @@ -2937,7 +2941,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- mode type" WHITESPACE "\n" @@ -2983,7 +2987,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- name mode type" WHITESPACE "\n" @@ -3032,7 +3036,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- name type" WHITESPACE "\n" @@ -3078,7 +3082,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type" WHITESPACE "\n" @@ -3121,7 +3125,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- array type" WHITESPACE "\n" @@ -3184,7 +3188,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- path type" WHITESPACE "\n" @@ -3267,7 +3271,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- overlaps doesn't need quoting" WHITESPACE "\n" @@ -3304,7 +3308,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- like doesn't need quoting" WHITESPACE "\n" @@ -3341,5 +3345,5 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_group_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_group_ok.snap index fd99a30a1..e7ea14fa5 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_group_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_group_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "g" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -172,5 +172,5 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_index_err.snap b/crates/squawk_parser/tests/snapshots/tests__create_index_err.snap index 45bf5ad68..f058e2e0a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_index_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_index_err.snap @@ -41,7 +41,7 @@ SOURCE_FILE WHITESPACE " " FIRST_KW "first" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__create_index_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_index_ok.snap index 10d51736b..e9fae74b3 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_index_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_index_ok.snap @@ -26,7 +26,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- more options" WHITESPACE "\n" @@ -71,7 +71,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column options" WHITESPACE "\n" @@ -108,7 +108,7 @@ SOURCE_FILE WHITESPACE " " LAST_KW "last" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_INDEX CREATE_KW "create" @@ -137,7 +137,7 @@ SOURCE_FILE WHITESPACE " " FIRST_KW "first" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- opclass" WHITESPACE "\n" @@ -205,7 +205,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column expr" WHITESPACE "\n" @@ -248,7 +248,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- trailing options" WHITESPACE "\n" @@ -335,7 +335,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "create" @@ -376,7 +376,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -404,7 +404,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_examples" WHITESPACE "\n" @@ -432,7 +432,7 @@ SOURCE_FILE NAME_REF IDENT "title" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -473,7 +473,7 @@ SOURCE_FILE NAME_REF IDENT "rating" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -513,7 +513,7 @@ SOURCE_FILE LITERAL OFF_KW "off" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -543,7 +543,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -573,7 +573,7 @@ SOURCE_FILE NAME_REF IDENT "\"de_DE\"" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -602,7 +602,7 @@ SOURCE_FILE WHITESPACE " " FIRST_KW "FIRST" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -644,7 +644,7 @@ SOURCE_FILE LITERAL INT_NUMBER "70" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -690,7 +690,7 @@ SOURCE_FILE LITERAL OFF_KW "off" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -720,7 +720,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "indexspace" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -759,7 +759,7 @@ SOURCE_FILE LOCATION_KW "location" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -785,5 +785,5 @@ SOURCE_FILE NAME_REF IDENT "quantity" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_language_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_language_ok.snap index 4ca1057a5..cd5290b4e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_language_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_language_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "l" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -68,5 +68,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "y" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_materialized_view_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_materialized_view_ok.snap index d1fd59058..6c95b8df8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_materialized_view_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_materialized_view_ok.snap @@ -27,7 +27,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -143,7 +143,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " DATA_KW "data" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table" WHITESPACE "\n" @@ -169,7 +169,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- values" WHITESPACE "\n" @@ -207,7 +207,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- https://github.com/sbdchd/squawk/issues/646" WHITESPACE "\n" @@ -297,5 +297,5 @@ SOURCE_FILE NULL_KW "NULL" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_operator_class_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_operator_class_ok.snap index 5190518ae..e51a1e169 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_operator_class_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_operator_class_ok.snap @@ -43,7 +43,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -334,5 +334,5 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_operator_family_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_operator_family_ok.snap index e70970faf..dc8f0f023 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_operator_family_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_operator_family_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -46,5 +46,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_operator_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_operator_ok.snap index a078a0ab4..168342e75 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_operator_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_operator_ok.snap @@ -30,7 +30,7 @@ SOURCE_FILE IDENT "f" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- procedure" WHITESPACE "\n" @@ -60,7 +60,7 @@ SOURCE_FILE IDENT "p" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -216,5 +216,5 @@ SOURCE_FILE IDENT "merges" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_policy_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_policy_ok.snap index 70426e470..871cf2263 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_policy_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_policy_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- as_" WHITESPACE "\n" @@ -44,7 +44,7 @@ SOURCE_FILE AS_KW "as" WHITESPACE " " IDENT "permissive" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_POLICY CREATE_KW "create" @@ -66,7 +66,7 @@ SOURCE_FILE AS_KW "as" WHITESPACE " " IDENT "restrictive" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -161,7 +161,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- for_" WHITESPACE "\n" @@ -184,7 +184,7 @@ SOURCE_FILE FOR_KW "for" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_POLICY CREATE_KW "create" @@ -205,7 +205,7 @@ SOURCE_FILE FOR_KW "for" WHITESPACE " " SELECT_KW "select" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_POLICY CREATE_KW "create" @@ -226,7 +226,7 @@ SOURCE_FILE FOR_KW "for" WHITESPACE " " INSERT_KW "insert" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_POLICY CREATE_KW "create" @@ -247,7 +247,7 @@ SOURCE_FILE FOR_KW "for" WHITESPACE " " UPDATE_KW "update" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_POLICY CREATE_KW "create" @@ -268,5 +268,5 @@ SOURCE_FILE FOR_KW "for" WHITESPACE " " DELETE_KW "delete" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_procedure_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_procedure_ok.snap index f8cbab730..eb551aec4 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_procedure_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_procedure_ok.snap @@ -23,7 +23,7 @@ SOURCE_FILE LANGUAGE_KW "language" WHITESPACE " " SQL_KW "sql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -226,7 +226,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_select_body" WHITESPACE "\n" @@ -259,28 +259,26 @@ SOURCE_FILE WHITESPACE " " ATOMIC_KW "atomic" WHITESPACE "\n " - BEGIN_FUNC_OPTION - SELECT - SELECT_CLAUSE - SELECT_KW "select" - WHITESPACE " " - TARGET_LIST - TARGET - LITERAL - INT_NUMBER "1" - SEMICOLON ";" + SELECT + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "1" + SEMICOLON ";" WHITESPACE "\n " - BEGIN_FUNC_OPTION - SELECT - SELECT_CLAUSE - SELECT_KW "select" - WHITESPACE " " - TARGET_LIST - TARGET - LITERAL - INT_NUMBER "2" - SEMICOLON ";" + SELECT + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "2" + SEMICOLON ";" WHITESPACE "\n" END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_property_graph_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_property_graph_ok.snap index 183294b67..476cf6328 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_property_graph_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_property_graph_ok.snap @@ -19,7 +19,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -35,7 +35,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -53,7 +53,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -71,7 +71,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -89,7 +89,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -107,7 +107,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -123,7 +123,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -144,7 +144,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- vertex & table edges" WHITESPACE "\n" @@ -320,7 +320,7 @@ SOURCE_FILE WHITESPACE " " COLUMNS_KW "columns" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -363,7 +363,7 @@ SOURCE_FILE WHITESPACE " " PROPERTIES_KW "properties" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_PROPERTY_GRAPH CREATE_KW "create" @@ -426,7 +426,7 @@ SOURCE_FILE IDENT "y" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- vertex & table edges abbr" WHITESPACE "\n" @@ -486,7 +486,7 @@ SOURCE_FILE IDENT "y" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- vertex tables only" WHITESPACE "\n" @@ -528,7 +528,7 @@ SOURCE_FILE IDENT "y" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- edge tables only" WHITESPACE "\n" @@ -570,7 +570,7 @@ SOURCE_FILE IDENT "y" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- vertex & table multiple tables" WHITESPACE "\n" @@ -656,5 +656,5 @@ SOURCE_FILE IDENT "y" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_publication_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_publication_ok.snap index dceb5dfd4..c5f97b4ee 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_publication_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_publication_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all_tables" WHITESPACE "\n" @@ -53,7 +53,7 @@ SOURCE_FILE NAME IDENT "bar" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table" WHITESPACE "\n" @@ -199,7 +199,7 @@ SOURCE_FILE NAME IDENT "bar" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table_in_schema" WHITESPACE "\n" @@ -240,7 +240,7 @@ SOURCE_FILE WHITESPACE " " PUBLICATION_OBJECT CURRENT_SCHEMA_KW "current_schema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple tables" WHITESPACE "\n" @@ -268,5 +268,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "users" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_role_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_role_ok.snap index ca74d9d45..ebabfefaf 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_role_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_role_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -150,5 +150,5 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_rule_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_rule_ok.snap index 89f765103..eeef31976 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_rule_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_rule_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -116,7 +116,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n " INSERT INSERT_KW "insert" @@ -141,7 +141,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n " DELETE DELETE_KW "delete" @@ -153,7 +153,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n " VALUES VALUES_KW "values" @@ -168,7 +168,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n " UPDATE UPDATE_KW "update" @@ -193,17 +193,17 @@ SOURCE_FILE SET_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n " NOTIFY NOTIFY_KW "notify" WHITESPACE " " NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_1" WHITESPACE "\n" @@ -246,7 +246,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_RULE CREATE_KW "CREATE" @@ -287,7 +287,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -303,7 +303,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_2" WHITESPACE "\n" @@ -337,7 +337,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "mytable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -374,5 +374,5 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "42" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_sequence_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_sequence_ok.snap index ac3fe230e..72569c9d2 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_sequence_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_sequence_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -113,7 +113,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- unlogged" WHITESPACE "\n" @@ -129,5 +129,5 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_server_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_server_ok.snap index 9bd6bc874..d7db6bb52 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_server_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_server_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "f" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -78,7 +78,7 @@ SOURCE_FILE LITERAL STRING "'b'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- docs_1" WHITESPACE "\n" @@ -126,5 +126,5 @@ SOURCE_FILE LITERAL STRING "'5432'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_statistics_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_statistics_ok.snap index d756244b2..ad20e9c77 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_statistics_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_statistics_ok.snap @@ -25,7 +25,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -104,7 +104,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- docs_1" WHITESPACE "\n" @@ -139,7 +139,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- docs_2" WHITESPACE "\n" @@ -174,7 +174,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- docs_3" WHITESPACE "\n" @@ -229,5 +229,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_subscription_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_subscription_ok.snap index 105215f58..b9e5912a8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_subscription_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_subscription_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -201,5 +201,5 @@ SOURCE_FILE FALSE_KW "false" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_table_as_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_table_as_ok.snap index 3063c0f1c..feb23a720 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_table_as_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_table_as_ok.snap @@ -38,7 +38,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select" WHITESPACE "\n" @@ -80,7 +80,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table" WHITESPACE "\n" @@ -104,7 +104,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- more fields" WHITESPACE "\n" @@ -198,7 +198,7 @@ SOURCE_FILE WITH_KW "with" WHITESPACE " " DATA_KW "data" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE_AS CREATE_KW "create" @@ -273,7 +273,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " DATA_KW "data" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- unlogged" WHITESPACE "\n" @@ -300,7 +300,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- values" WHITESPACE "\n" @@ -328,7 +328,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE_AS CREATE_KW "create" @@ -369,5 +369,5 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_table_err.snap b/crates/squawk_parser/tests/snapshots/tests__create_table_err.snap index de9273a04..2036f7b73 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_table_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_table_err.snap @@ -24,7 +24,7 @@ SOURCE_FILE INTEGER_KW "INTEGER" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- missing type" @@ -44,7 +44,7 @@ SOURCE_FILE NAME IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- trailing comma" @@ -72,7 +72,7 @@ SOURCE_FILE ERROR COMMA "," R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- missing columns / constraints" @@ -99,7 +99,7 @@ SOURCE_FILE ERROR COMMA "," R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- a column list with SET DEFAULT is only supported for ON DELETE actions" @@ -257,7 +257,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- conflicting options" @@ -439,7 +439,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -487,7 +487,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -528,7 +528,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- exclude missing a comma" @@ -606,7 +606,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " \n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -671,7 +671,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected path name @@ -722,9 +722,3 @@ error[syntax-error]: expected COMMA ╭▸ 61 │ exclude using btree ( a with buzz.> b with <) ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -66 │ ) - │ ┏━━┛ -67 │ ┃ -- ^ missing semi - ╰╴┗━┛ diff --git a/crates/squawk_parser/tests/snapshots/tests__create_table_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_table_ok.snap index 4431718b2..06d1e71fe 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_table_ok.snap @@ -42,7 +42,7 @@ SOURCE_FILE INTEGER_KW "integer" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- with schema prefix" @@ -86,7 +86,7 @@ SOURCE_FILE INTEGER_KW "integer" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- like source_table" @@ -134,7 +134,7 @@ SOURCE_FILE INTEGER_KW "integer" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- like option" @@ -181,7 +181,7 @@ SOURCE_FILE COMMENTS_KW "comments" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- like options" @@ -268,7 +268,7 @@ SOURCE_FILE ALL_KW "all" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- with prefix options" @@ -308,7 +308,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_TABLE CREATE_KW "create" @@ -339,7 +339,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- unlogged" @@ -370,7 +370,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- inherits from parent" @@ -423,7 +423,7 @@ SOURCE_FILE NAME_REF IDENT "buzz" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition range" @@ -514,7 +514,7 @@ SOURCE_FILE IDENT "buzz" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition list" @@ -554,7 +554,7 @@ SOURCE_FILE NAME_REF IDENT "z" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition hash" @@ -599,7 +599,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- using" @@ -631,7 +631,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- with" @@ -694,7 +694,7 @@ SOURCE_FILE FALSE_KW "false" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- without" @@ -725,7 +725,7 @@ SOURCE_FILE WITHOUT_KW "without" WHITESPACE " " OIDS_KW "OIDS" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- on commit" @@ -761,7 +761,7 @@ SOURCE_FILE PRESERVE_KW "preserve" WHITESPACE " " ROWS_KW "rows" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -795,7 +795,7 @@ SOURCE_FILE DELETE_KW "delete" WHITESPACE " " ROWS_KW "rows" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -827,7 +827,7 @@ SOURCE_FILE WHITESPACE " " DROP DROP_KW "drop" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- tablespace" @@ -859,7 +859,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "-- like_column" @@ -907,7 +907,7 @@ SOURCE_FILE IDENT "t" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- create_table_column_constraints" @@ -942,7 +942,7 @@ SOURCE_FILE NULL_KW "null" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- null" @@ -973,7 +973,7 @@ SOURCE_FILE NULL_KW "null" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- default" @@ -1007,7 +1007,7 @@ SOURCE_FILE INT_NUMBER "100" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- unique constraint" @@ -1155,7 +1155,7 @@ SOURCE_FILE IDENT "foo" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- references actions order" @@ -1211,7 +1211,7 @@ SOURCE_FILE ACTION_KW "action" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- order swapped" @@ -1267,7 +1267,7 @@ SOURCE_FILE ACTION_KW "action" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- primary key" @@ -1328,7 +1328,7 @@ SOURCE_FILE KEY_KW "key" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- check constraint" @@ -1400,7 +1400,7 @@ SOURCE_FILE INHERIT_KW "inherit" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- defer" @@ -1508,7 +1508,7 @@ SOURCE_FILE IMMEDIATE_KW "immediate" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- constraint" @@ -1545,7 +1545,7 @@ SOURCE_FILE NULL_KW "null" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- generated stored" @@ -1609,7 +1609,7 @@ SOURCE_FILE STORED_KW "stored" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_table_table_constraints" WHITESPACE "\n\n" @@ -1676,7 +1676,7 @@ SOURCE_FILE INHERIT_KW "inherit" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- check constraint" @@ -1730,7 +1730,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- unique constraint" @@ -1810,7 +1810,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- unique with name constraint" @@ -1868,7 +1868,7 @@ SOURCE_FILE DEFERRED_KW "deferred" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- primary key constraint" @@ -1935,7 +1935,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- exclude constraint" @@ -2026,7 +2026,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- exclude constraint multiple exclusions" @@ -2134,7 +2134,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- exclude constraint all clauses exclusions" @@ -2274,7 +2274,7 @@ SOURCE_FILE DEFERRABLE_KW "deferrable" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- foreign key constraint" @@ -2359,7 +2359,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- everything" @@ -2651,7 +2651,7 @@ SOURCE_FILE IMMEDIATE_KW "immediate" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "-- multi_dimensional_arrays" @@ -2709,7 +2709,7 @@ SOURCE_FILE R_BRACK "]" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- array_with_params" @@ -2746,7 +2746,7 @@ SOURCE_FILE R_BRACK "]" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- array_alt_syntax" @@ -2795,7 +2795,7 @@ SOURCE_FILE ARRAY_KW "ARRAY" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- create_table_of_type" @@ -2824,7 +2824,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- with column defs" @@ -2900,7 +2900,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- create_table_partition_of" @@ -2933,7 +2933,7 @@ SOURCE_FILE WHITESPACE " " PARTITION_DEFAULT DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition with some columns" @@ -2993,7 +2993,7 @@ SOURCE_FILE WHITESPACE " " PARTITION_DEFAULT DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition with" @@ -3039,7 +3039,7 @@ SOURCE_FILE WHITESPACE " " INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition in" @@ -3083,7 +3083,7 @@ SOURCE_FILE LITERAL STRING "'buzz'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- partition from to" @@ -3130,7 +3130,7 @@ SOURCE_FILE LITERAL STRING "'buzz'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -3199,7 +3199,7 @@ SOURCE_FILE LITERAL STRING "'2016-10-01'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- missing entries" @@ -3216,7 +3216,7 @@ SOURCE_FILE TABLE_ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- regression" @@ -3271,7 +3271,7 @@ SOURCE_FILE REAL_KW "REAL" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- compression method" @@ -3320,7 +3320,7 @@ SOURCE_FILE DEFAULT_KW "default" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- storage" @@ -3417,7 +3417,7 @@ SOURCE_FILE DEFAULT_KW "default" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -3443,7 +3443,7 @@ SOURCE_FILE INT_KW "int" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- match partial not implemented yet" @@ -3541,7 +3541,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "-- temporal_foreign_key" @@ -3674,7 +3674,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- unique_constraint_without_overlaps" @@ -3728,7 +3728,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "-- primary key without overlaps" @@ -3811,7 +3811,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "-- temporal_primary_key" @@ -3928,5 +3928,5 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_tablespace_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_tablespace_ok.snap index 003f16318..e8f28318e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_tablespace_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_tablespace_ok.snap @@ -17,7 +17,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -89,5 +89,5 @@ SOURCE_FILE INT_NUMBER "4" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_text_search_config_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_text_search_config_ok.snap index c882f5666..b661b135d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_text_search_config_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_text_search_config_ok.snap @@ -36,7 +36,7 @@ SOURCE_FILE IDENT "parser_name" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -76,5 +76,5 @@ SOURCE_FILE IDENT "source_config" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_text_search_dict_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_text_search_dict_ok.snap index 8325d9485..4c203aa7c 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_text_search_dict_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_text_search_dict_ok.snap @@ -36,7 +36,7 @@ SOURCE_FILE IDENT "t" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -104,5 +104,5 @@ SOURCE_FILE IDENT "b" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_text_search_parser_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_text_search_parser_ok.snap index 303b4172e..25b6b931f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_text_search_parser_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_text_search_parser_ok.snap @@ -78,7 +78,7 @@ SOURCE_FILE IDENT "lextypes_function" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -174,5 +174,5 @@ SOURCE_FILE IDENT "headline_function" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_text_search_template_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_text_search_template_ok.snap index e9be488f4..5933d1781 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_text_search_template_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_text_search_template_ok.snap @@ -36,7 +36,7 @@ SOURCE_FILE IDENT "f" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -90,5 +90,5 @@ SOURCE_FILE IDENT "lexize_function" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_transform_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_transform_ok.snap index 6b5211f56..b843d0f55 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_transform_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_transform_ok.snap @@ -57,7 +57,7 @@ SOURCE_FILE IDENT "g" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -151,5 +151,5 @@ SOURCE_FILE IDENT "g" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_trigger_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_trigger_ok.snap index 8be998076..15943e2ac 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_trigger_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_trigger_ok.snap @@ -44,7 +44,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_most_fields" WHITESPACE "\n" @@ -177,7 +177,7 @@ SOURCE_FILE LITERAL STRING "'3'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- constraint" WHITESPACE "\n" @@ -227,7 +227,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_most_fields_part2" WHITESPACE "\n" @@ -303,7 +303,7 @@ SOURCE_FILE LITERAL STRING "'bar'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple" WHITESPACE "\n" @@ -350,5 +350,5 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_type_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_type_ok.snap index 7d88e408c..5705e980c 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_type_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_type_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE COLUMN_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TYPE CREATE_KW "create" @@ -56,7 +56,7 @@ SOURCE_FILE IDENT "\"fr_FR\"" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TYPE CREATE_KW "create" @@ -114,7 +114,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_type_as_enum" WHITESPACE "\n" @@ -135,7 +135,7 @@ SOURCE_FILE VARIANT_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_TYPE CREATE_KW "create" @@ -157,7 +157,7 @@ SOURCE_FILE LITERAL STRING "'a'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_TYPE CREATE_KW "create" @@ -189,7 +189,7 @@ SOURCE_FILE LITERAL STRING "'c'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_type_as_range" WHITESPACE "\n" @@ -224,7 +224,7 @@ SOURCE_FILE BIGINT_KW "bigint" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -242,7 +242,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_TYPE CREATE_KW "create" @@ -268,7 +268,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_type_name" WHITESPACE "\n" @@ -281,7 +281,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TYPE CREATE_KW "create" @@ -334,7 +334,7 @@ SOURCE_FILE IDENT "func_name" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TYPE CREATE_KW "create" @@ -601,5 +601,5 @@ SOURCE_FILE TRUE_KW "true" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_user_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_user_ok.snap index ceb9f4650..5e3fa8426 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_user_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_user_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -166,5 +166,5 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_view_extra_parens_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_view_extra_parens_ok.snap index 7d69ddea9..cecdc89e3 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_view_extra_parens_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_view_extra_parens_ok.snap @@ -75,5 +75,5 @@ SOURCE_FILE WHITESPACE " " SORT_DESC DESC_KW "desc" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__create_view_ok.snap b/crates/squawk_parser/tests/snapshots/tests__create_view_ok.snap index a0179a93e..f028d2569 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_view_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_view_ok.snap @@ -25,7 +25,7 @@ SOURCE_FILE TARGET LITERAL STRING "'Hello World'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "CREATE" @@ -60,7 +60,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "hello" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "CREATE" @@ -100,7 +100,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'Comedy'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "CREATE" @@ -148,7 +148,7 @@ SOURCE_FILE CHECK_KW "CHECK" WHITESPACE " " OPTION_KW "OPTION" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "CREATE" @@ -196,7 +196,7 @@ SOURCE_FILE CHECK_KW "CHECK" WHITESPACE " " OPTION_KW "OPTION" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "CREATE" @@ -330,7 +330,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'Comedy'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "CREATE" @@ -404,7 +404,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "100" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- complete_syntax" WHITESPACE "\n" @@ -489,7 +489,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_VIEW CREATE_KW "create" @@ -532,7 +532,7 @@ SOURCE_FILE CHECK_KW "check" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- regression test" WHITESPACE "\n" @@ -568,5 +568,5 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__deallocate_ok.snap b/crates/squawk_parser/tests/snapshots/tests__deallocate_ok.snap index 861372e66..ddd477461 100644 --- a/crates/squawk_parser/tests/snapshots/tests__deallocate_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__deallocate_ok.snap @@ -11,18 +11,18 @@ SOURCE_FILE PREPARE_KW "prepare" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DEALLOCATE DEALLOCATE_KW "deallocate" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DEALLOCATE DEALLOCATE_KW "deallocate" WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__declare_ok.snap b/crates/squawk_parser/tests/snapshots/tests__declare_ok.snap index c76239420..3a9670385 100644 --- a/crates/squawk_parser/tests/snapshots/tests__declare_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__declare_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -63,7 +63,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DECLARE DECLARE_KW "declare" @@ -93,7 +93,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DECLARE DECLARE_KW "declare" @@ -113,5 +113,5 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__delete_ok.snap b/crates/squawk_parser/tests/snapshots/tests__delete_ok.snap index c2a9a583c..891d3ba32 100644 --- a/crates/squawk_parser/tests/snapshots/tests__delete_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__delete_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- no where" WHITESPACE "\n" @@ -43,7 +43,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "products" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- only" WHITESPACE "\n" @@ -59,7 +59,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- *" WHITESPACE "\n" @@ -75,7 +75,7 @@ SOURCE_FILE IDENT "t" WHITESPACE " " STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alias" WHITESPACE "\n" @@ -95,7 +95,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DELETE DELETE_KW "delete" @@ -111,7 +111,7 @@ SOURCE_FILE ALIAS NAME IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- using, where, return" WHITESPACE "\n" @@ -164,7 +164,7 @@ SOURCE_FILE TARGET_LIST TARGET STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- using" WHITESPACE "\n" @@ -198,7 +198,7 @@ SOURCE_FILE ALIAS NAME IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "delete" @@ -256,7 +256,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "delete" @@ -335,7 +335,7 @@ SOURCE_FILE ALIAS NAME IDENT "lh" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- where return" WHITESPACE "\n" @@ -368,7 +368,7 @@ SOURCE_FILE TARGET_LIST TARGET STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- returning" WHITESPACE "\n" @@ -462,7 +462,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "department_id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cursor" WHITESPACE "\n" @@ -486,7 +486,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "invoice_cursor" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- returning" WHITESPACE "\n" @@ -526,7 +526,7 @@ SOURCE_FILE IDENT "foo" DOT "." STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- with" WHITESPACE "\n" @@ -601,7 +601,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE WITH_CLAUSE @@ -676,7 +676,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- nested" WHITESPACE "\n" @@ -747,7 +747,39 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t2" - SEMICOLON ";" + SEMICOLON ";" + WHITESPACE "\n\n" + SELECT + WITH_CLAUSE + WITH_KW "with" + WHITESPACE " " + WITH_TABLE + NAME + IDENT "t" + WHITESPACE " " + AS_KW "as" + WHITESPACE " " + L_PAREN "(" + DELETE + DELETE_KW "delete" + WHITESPACE " " + FROM_KW "from" + WHITESPACE " " + RELATION_NAME + PATH + PATH_SEGMENT + NAME_REF + IDENT "k" + R_PAREN ")" + WHITESPACE "\n" + SELECT_CLAUSE + SELECT_KW "select" + WHITESPACE " " + TARGET_LIST + TARGET + LITERAL + INT_NUMBER "1" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pg_docs" WHITESPACE "\n" @@ -800,7 +832,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "DELETE" @@ -852,7 +884,7 @@ SOURCE_FILE LITERAL STRING "'foo'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "DELETE" @@ -876,7 +908,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'Musical'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "DELETE" @@ -888,7 +920,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "films" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "DELETE" @@ -919,7 +951,7 @@ SOURCE_FILE TARGET_LIST TARGET STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE DELETE_KW "DELETE" @@ -941,7 +973,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c_tasks" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DELETE WITH_CLAUSE @@ -1072,5 +1104,5 @@ SOURCE_FILE DOT "." NAME_REF IDENT "ctid" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__discard_ok.snap b/crates/squawk_parser/tests/snapshots/tests__discard_ok.snap index 0910466a5..06fbeebfe 100644 --- a/crates/squawk_parser/tests/snapshots/tests__discard_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__discard_ok.snap @@ -9,29 +9,29 @@ SOURCE_FILE DISCARD_KW "DISCARD" WHITESPACE " " ALL_KW "ALL" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DISCARD DISCARD_KW "DISCARD" WHITESPACE " " PLANS_KW "PLANS" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DISCARD DISCARD_KW "DISCARD" WHITESPACE " " SEQUENCES_KW "SEQUENCES" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DISCARD DISCARD_KW "DISCARD" WHITESPACE " " TEMPORARY_KW "TEMPORARY" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DISCARD DISCARD_KW "DISCARD" WHITESPACE " " TEMP_KW "TEMP" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__do_ok.snap b/crates/squawk_parser/tests/snapshots/tests__do_ok.snap index ea76cf74c..0db1654a4 100644 --- a/crates/squawk_parser/tests/snapshots/tests__do_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__do_ok.snap @@ -10,7 +10,7 @@ SOURCE_FILE WHITESPACE " " LITERAL DOLLAR_QUOTED_STRING "$$DECLARE r record;\nBEGIN\n FOR r IN SELECT table_schema, table_name FROM information_schema.tables\n WHERE table_type = 'VIEW' AND table_schema = 'public'\n LOOP\n EXECUTE 'GRANT ALL ON ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ' TO webuser';\n END LOOP;\nEND$$" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- do_with_language" WHITESPACE "\n" @@ -23,5 +23,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'select 1'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_access_method_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_access_method_ok.snap index 348c75766..333850edb 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_access_method_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_access_method_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -34,7 +34,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_ACCESS_METHOD DROP_KW "drop" @@ -52,5 +52,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_aggregate_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_aggregate_ok.snap index 559e48cd6..a059e3357 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_aggregate_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_aggregate_ok.snap @@ -19,7 +19,7 @@ SOURCE_FILE L_PAREN "(" STAR "*" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -119,7 +119,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aggregate" WHITESPACE "\n" @@ -195,7 +195,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_AGGREGATE DROP_KW "drop" @@ -249,5 +249,5 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_cast_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_cast_ok.snap index ba0efc36e..7c58f4ac2 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_cast_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_cast_ok.snap @@ -26,7 +26,7 @@ SOURCE_FILE NAME_REF INT_KW "int" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -58,7 +58,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_CAST DROP_KW "drop" @@ -98,5 +98,5 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_collation_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_collation_ok.snap index abd53a148..05859a89a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_collation_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_collation_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -39,7 +39,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_COLLATION DROP_KW "drop" @@ -57,5 +57,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_conversion_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_conversion_ok.snap index 99f3be521..2263f61b0 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_conversion_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_conversion_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -39,7 +39,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_CONVERSION DROP_KW "drop" @@ -62,5 +62,5 @@ SOURCE_FILE IDENT "b" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_database_err.snap b/crates/squawk_parser/tests/snapshots/tests__drop_database_err.snap index a586fa997..fba9ce751 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_database_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_database_err.snap @@ -22,7 +22,7 @@ SOURCE_FILE FORCE_KW "force" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_database_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_database_ok.snap index 5be4cb766..3759f06e8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_database_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_database_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_DATABASE DROP_KW "drop" @@ -26,7 +26,7 @@ SOURCE_FILE WHITESPACE " " FORCE_KW "force" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_DATABASE DROP_KW "drop" @@ -46,7 +46,7 @@ SOURCE_FILE FORCE_KW "force" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_DATABASE DROP_KW "drop" @@ -55,7 +55,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"table_name\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_DATABASE DROP_KW "drop" @@ -69,7 +69,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"table_name\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_DATABASE DROP_KW "drop" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_domain_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_domain_ok.snap index 5c597da38..011d6419d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_domain_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_domain_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_DOMAIN DROP_KW "drop" @@ -81,5 +81,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_event_trigger_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_event_trigger_ok.snap index b53380dea..ab458c37c 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_event_trigger_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_event_trigger_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -34,7 +34,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_EVENT_TRIGGER DROP_KW "drop" @@ -52,5 +52,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_extension_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_extension_ok.snap index 4af06b925..f712b1aa7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_extension_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_extension_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -38,7 +38,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_EXTENSION DROP_KW "drop" @@ -62,5 +62,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_foreign_data_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_foreign_data_ok.snap index 758df03c5..bc0a3dbfd 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_foreign_data_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_foreign_data_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -46,7 +46,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_FOREIGN_DATA_WRAPPER DROP_KW "drop" @@ -74,5 +74,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_foreign_table_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_foreign_table_ok.snap index 04f53c5a8..c25e32508 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_foreign_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_foreign_table_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -55,7 +55,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_FOREIGN_TABLE DROP_KW "drop" @@ -87,5 +87,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_function_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_function_ok.snap index f8b8c2fa9..85597f9be 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_function_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_function_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -100,7 +100,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_FUNCTION DROP_KW "drop" @@ -120,5 +120,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_group_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_group_ok.snap index 66ffe8132..a2c9257b5 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_group_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_group_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -36,5 +36,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_index_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_index_ok.snap index 3f4ce8a07..dd3acf55b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_index_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_index_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_INDEX DROP_KW "drop" @@ -30,7 +30,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_INDEX DROP_KW "drop" @@ -62,7 +62,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_INDEX DROP_KW "drop" @@ -80,7 +80,7 @@ SOURCE_FILE IDENT "d" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_INDEX DROP_KW "drop" @@ -96,7 +96,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "\"field_name_idx\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_INDEX DROP_KW "drop" @@ -114,5 +114,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "\"field_name_idx\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_language_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_language_ok.snap index e79e5b476..9d792cad7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_language_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_language_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -30,7 +30,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_LANGUAGE DROP_KW "drop" @@ -48,5 +48,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_materialized_view_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_materialized_view_ok.snap index 0b46b22e9..8e670768e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_materialized_view_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_materialized_view_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -55,7 +55,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_MATERIALIZED_VIEW DROP_KW "drop" @@ -87,5 +87,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_operator_class_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_operator_class_ok.snap index 60c6ec9a8..a230b1c36 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_operator_class_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_operator_class_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -53,7 +53,7 @@ SOURCE_FILE IDENT "i" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_OPERATOR_CLASS DROP_KW "drop" @@ -83,5 +83,5 @@ SOURCE_FILE IDENT "i" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_operator_family_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_operator_family_ok.snap index 097b80e3e..639755c0a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_operator_family_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_operator_family_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -53,7 +53,7 @@ SOURCE_FILE IDENT "i" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_OPERATOR_FAMILY DROP_KW "drop" @@ -83,5 +83,5 @@ SOURCE_FILE IDENT "i" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_operator_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_operator_ok.snap index 220deca12..7a516b6af 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_operator_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_operator_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE NAME_REF INTEGER_KW "integer" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -79,7 +79,7 @@ SOURCE_FILE NAME_REF SMALLINT_KW "smallint" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- unary" WHITESPACE "\n" @@ -101,7 +101,7 @@ SOURCE_FILE BIT_TYPE BIT_KW "bit" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple" WHITESPACE "\n" @@ -143,7 +143,7 @@ SOURCE_FILE NAME_REF INTEGER_KW "integer" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -214,7 +214,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_OPERATOR DROP_KW "drop" @@ -248,7 +248,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- non_default_operator" WHITESPACE "\n" @@ -302,7 +302,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_OPERATOR DROP_KW "drop" @@ -359,5 +359,5 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_owned_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_owned_ok.snap index f37010335..93c3b6fba 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_owned_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_owned_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -42,7 +42,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_OWNED DROP_KW "drop" @@ -60,5 +60,5 @@ SOURCE_FILE CURRENT_USER_KW "current_user" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_policy_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_policy_ok.snap index 53a756acc..c7fe384c0 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_policy_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_policy_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE IDENT "t_name" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_POLICY DROP_KW "drop" @@ -75,5 +75,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_procedure_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_procedure_ok.snap index 7252c2ac2..050560d1c 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_procedure_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_procedure_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -100,7 +100,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_PROCEDURE DROP_KW "drop" @@ -120,5 +120,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_property_graph_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_property_graph_ok.snap index 321aaefac..3ab533bda 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_property_graph_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_property_graph_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "g" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_PROPERTY_GRAPH DROP_KW "drop" @@ -39,7 +39,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_PROPERTY_GRAPH DROP_KW "drop" @@ -54,5 +54,5 @@ SOURCE_FILE IDENT "g" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_publication_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_publication_ok.snap index 8671353d6..44cc25da8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_publication_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_publication_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -38,7 +38,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_PUBLICATION DROP_KW "drop" @@ -62,5 +62,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_role_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_role_ok.snap index 310ea9d12..3fa4e2dae 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_role_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_role_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -36,7 +36,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_ROLE DROP_KW "drop" @@ -58,5 +58,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_routine_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_routine_ok.snap index 366182114..9850f5f9f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_routine_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_routine_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -100,7 +100,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_ROUTINE DROP_KW "drop" @@ -120,5 +120,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_rule_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_rule_ok.snap index 82af3b9b6..af0a37a14 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_rule_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_rule_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" EMPTY_STMT SEMICOLON ";" WHITESPACE "\n\n" @@ -53,7 +53,7 @@ SOURCE_FILE IDENT "t_name" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_RULE DROP_KW "drop" @@ -77,5 +77,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_sequence_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_sequence_ok.snap index 58b970ec6..517bf17b8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_sequence_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_sequence_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_SEQUENCE DROP_KW "drop" @@ -81,5 +81,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_server_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_server_ok.snap index 3b124d5eb..2d58b1452 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_server_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_server_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -38,7 +38,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_SERVER DROP_KW "drop" @@ -62,5 +62,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_statistics_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_statistics_ok.snap index 7bd67d31d..696c8526d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_statistics_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_statistics_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_STATISTICS DROP_KW "drop" @@ -81,5 +81,5 @@ SOURCE_FILE IDENT "c" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_subscription_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_subscription_ok.snap index 7a3353137..c352b9b1d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_subscription_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_subscription_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -30,7 +30,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_SUBSCRIPTION DROP_KW "drop" @@ -46,5 +46,5 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_table_err.snap b/crates/squawk_parser/tests/snapshots/tests__drop_table_err.snap index b38c1bf1f..18697cab1 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_table_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_table_err.snap @@ -27,7 +27,7 @@ SOURCE_FILE IDENT "buzz" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing name" WHITESPACE "\n" @@ -51,7 +51,7 @@ SOURCE_FILE IDENT "buzz" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_table_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_table_ok.snap index 76f885bcb..7259af8c6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_table_ok.snap @@ -17,7 +17,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "some_table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -40,7 +40,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "some_table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple" WHITESPACE "\n" @@ -53,7 +53,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- duo" WHITESPACE "\n" @@ -72,7 +72,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -90,7 +90,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- if exists" WHITESPACE "\n" @@ -108,7 +108,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cascade" WHITESPACE "\n" @@ -129,7 +129,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cascade is the table name" WHITESPACE "\n" @@ -142,7 +142,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- restrict is the table name" WHITESPACE "\n" @@ -155,7 +155,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- restrict" WHITESPACE "\n" @@ -170,5 +170,5 @@ SOURCE_FILE IDENT "t" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_tablespace_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_tablespace_ok.snap index b5fdec287..23877e881 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_tablespace_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_tablespace_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -28,5 +28,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_config_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_config_ok.snap index 0dee557e0..de1682674 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_config_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_config_ok.snap @@ -18,7 +18,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -42,7 +42,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- restrict" WHITESPACE "\n" @@ -61,5 +61,5 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_dict_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_dict_ok.snap index a64370d83..d8bb1006b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_dict_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_dict_ok.snap @@ -18,7 +18,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -42,7 +42,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- restrict" WHITESPACE "\n" @@ -61,5 +61,5 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_parser_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_parser_ok.snap index 6a5540cb2..0f0bc415f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_parser_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_parser_ok.snap @@ -18,7 +18,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -42,7 +42,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- restrict" WHITESPACE "\n" @@ -61,5 +61,5 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_template_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_template_ok.snap index 85ca08a4e..ea8a00b29 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_text_search_template_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_text_search_template_ok.snap @@ -18,7 +18,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -42,7 +42,7 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- restrict" WHITESPACE "\n" @@ -61,5 +61,5 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_transform_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_transform_ok.snap index 78d9d779c..e8190c50b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_transform_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_transform_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -50,7 +50,7 @@ SOURCE_FILE IDENT "l" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type_args" WHITESPACE "\n" @@ -76,5 +76,5 @@ SOURCE_FILE IDENT "l" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_trigger_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_trigger_ok.snap index 4e59d7496..a7f5cbef9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_trigger_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_trigger_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TRIGGER DROP_KW "drop" @@ -44,7 +44,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TRIGGER DROP_KW "drop" @@ -68,7 +68,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TRIGGER DROP_KW "drop" @@ -94,7 +94,7 @@ SOURCE_FILE IDENT "t" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TRIGGER DROP_KW "drop" @@ -115,5 +115,5 @@ SOURCE_FILE IDENT "t" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_type_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_type_ok.snap index 15c531acd..8561b2c65 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_type_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_type_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_TYPE DROP_KW "drop" @@ -30,7 +30,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_TYPE DROP_KW "drop" @@ -53,7 +53,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_TYPE DROP_KW "drop" @@ -81,7 +81,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TYPE DROP_KW "drop" @@ -99,7 +99,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_TYPE DROP_KW "drop" @@ -112,7 +112,7 @@ SOURCE_FILE IDENT "a" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TYPE DROP_KW "drop" @@ -128,5 +128,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_user_mapping_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_user_mapping_ok.snap index 9da7c3ae4..d662066a3 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_user_mapping_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_user_mapping_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -47,5 +47,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "some_server_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_user_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_user_ok.snap index a2bd856f6..ad21d0877 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_user_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_user_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -36,5 +36,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__drop_view_ok.snap b/crates/squawk_parser/tests/snapshots/tests__drop_view_ok.snap index 041174ffc..4c9a7bddc 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_view_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_view_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "kinds" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -46,7 +46,7 @@ SOURCE_FILE IDENT "buzz" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_VIEW DROP_KW "drop" @@ -59,5 +59,5 @@ SOURCE_FILE IDENT "foo" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__execute_ok.snap b/crates/squawk_parser/tests/snapshots/tests__execute_ok.snap index 8de4d1ed6..ca118341a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__execute_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__execute_ok.snap @@ -27,7 +27,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "200.00" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" EXECUTE EXECUTE_KW "EXECUTE" @@ -43,12 +43,12 @@ SOURCE_FILE NAME_REF CURRENT_DATE_KW "current_date" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" EXECUTE EXECUTE_KW "EXECUTE" WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__explain_ok.snap b/crates/squawk_parser/tests/snapshots/tests__explain_ok.snap index b1f98e956..b6e1dc0b4 100644 --- a/crates/squawk_parser/tests/snapshots/tests__explain_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__explain_ok.snap @@ -22,7 +22,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- explain_analyze" WHITESPACE "\n" @@ -46,7 +46,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all_options" WHITESPACE "\n" @@ -144,7 +144,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_1" WHITESPACE "\n" @@ -171,7 +171,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_2" WHITESPACE "\n" @@ -204,7 +204,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_3" WHITESPACE "\n" @@ -241,7 +241,7 @@ SOURCE_FILE EQ "=" LITERAL STRING "'4'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_4" WHITESPACE "\n" @@ -281,7 +281,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_5" WHITESPACE "\n" @@ -321,7 +321,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_6" WHITESPACE "\n" @@ -405,7 +405,7 @@ SOURCE_FILE GROUPING_EXPR NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" EXPLAIN EXPLAIN_KW "EXPLAIN" @@ -426,7 +426,7 @@ SOURCE_FILE LITERAL INT_NUMBER "200" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_7" WHITESPACE "\n" @@ -492,7 +492,7 @@ SOURCE_FILE GROUPING_EXPR NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_8" WHITESPACE "\n" @@ -576,7 +576,7 @@ SOURCE_FILE GROUPING_EXPR NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- parens_select" WHITESPACE "\n" @@ -608,7 +608,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- parens_values" WHITESPACE "\n" @@ -641,7 +641,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- boolean off" WHITESPACE "\n" @@ -681,7 +681,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- boolean on" WHITESPACE "\n" @@ -721,7 +721,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- boolean 1" WHITESPACE "\n" @@ -761,7 +761,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- boolean 0" WHITESPACE "\n" @@ -801,7 +801,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- compound select" WHITESPACE "\n" @@ -828,7 +828,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select into" WHITESPACE "\n" @@ -868,7 +868,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- paren select" WHITESPACE "\n" @@ -886,7 +886,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table" WHITESPACE "\n" @@ -901,7 +901,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- values" WHITESPACE "\n" @@ -924,7 +924,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- insert" WHITESPACE "\n" @@ -965,7 +965,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- update" WHITESPACE "\n" @@ -1007,7 +1007,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- delete" WHITESPACE "\n" @@ -1036,7 +1036,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge" WHITESPACE "\n" @@ -1092,7 +1092,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- execute" WHITESPACE "\n" @@ -1104,7 +1104,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- declare" WHITESPACE "\n" @@ -1129,7 +1129,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create table as" WHITESPACE "\n" @@ -1174,7 +1174,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create materialized view" WHITESPACE "\n" @@ -1203,5 +1203,5 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__fetch_ok.snap b/crates/squawk_parser/tests/snapshots/tests__fetch_ok.snap index 951129189..86c0ddf54 100644 --- a/crates/squawk_parser/tests/snapshots/tests__fetch_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__fetch_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "fetch" @@ -25,7 +25,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "fetch" @@ -36,7 +36,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "fetch" @@ -45,7 +45,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" FETCH FETCH_KW "FETCH" @@ -56,7 +56,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -67,7 +67,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -78,7 +78,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -89,7 +89,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -103,7 +103,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -117,7 +117,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -129,7 +129,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -140,7 +140,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -151,7 +151,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -165,7 +165,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -178,7 +178,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -189,7 +189,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -203,7 +203,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" FETCH FETCH_KW "FETCH" @@ -216,5 +216,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__grant_ok.snap b/crates/squawk_parser/tests/snapshots/tests__grant_ok.snap index 4da404697..d7d18971c 100644 --- a/crates/squawk_parser/tests/snapshots/tests__grant_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__grant_ok.snap @@ -64,7 +64,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_table" WHITESPACE "\n" @@ -119,7 +119,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "public" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -147,7 +147,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -168,7 +168,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_all_tables" WHITESPACE "\n" @@ -207,7 +207,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- columns" WHITESPACE "\n" @@ -246,7 +246,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -285,7 +285,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -324,7 +324,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -361,7 +361,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -388,7 +388,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -413,7 +413,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- sequence" WHITESPACE "\n" @@ -438,7 +438,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -466,7 +466,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -503,7 +503,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -528,7 +528,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -553,7 +553,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -588,7 +588,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- database" WHITESPACE "\n" @@ -625,7 +625,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -664,7 +664,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -683,7 +683,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- domain" WHITESPACE "\n" @@ -728,7 +728,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -751,7 +751,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -779,7 +779,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_data" WHITESPACE "\n" @@ -822,7 +822,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -847,7 +847,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_server" WHITESPACE "\n" @@ -888,7 +888,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -911,7 +911,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function" WHITESPACE "\n" @@ -953,7 +953,7 @@ SOURCE_FILE GRANT_KW "grant" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1043,7 +1043,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1066,7 +1066,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1099,7 +1099,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1124,7 +1124,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1149,7 +1149,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1218,7 +1218,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- language" WHITESPACE "\n" @@ -1251,7 +1251,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1278,7 +1278,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1307,7 +1307,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- large_object" WHITESPACE "\n" @@ -1342,7 +1342,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1369,7 +1369,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- param" WHITESPACE "\n" @@ -1414,7 +1414,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1439,7 +1439,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1460,7 +1460,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- edge_case" WHITESPACE "\n" @@ -1497,7 +1497,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n\n" GRANT GRANT_KW "grant" @@ -1525,7 +1525,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -1548,7 +1548,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1603,7 +1603,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF SESSION_USER_KW "session_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1630,7 +1630,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- tablespace" WHITESPACE "\n" @@ -1661,7 +1661,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1688,7 +1688,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type_" WHITESPACE "\n" @@ -1730,7 +1730,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1752,7 +1752,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1779,7 +1779,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- option" WHITESPACE "\n" @@ -1804,7 +1804,7 @@ SOURCE_FILE ADMIN_KW "admin" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1827,7 +1827,7 @@ SOURCE_FILE INHERIT_KW "inherit" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1850,7 +1850,7 @@ SOURCE_FILE INHERIT_KW "inherit" WHITESPACE " " TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1873,7 +1873,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1913,7 +1913,7 @@ SOURCE_FILE SET_KW "set" WHITESPACE " " OPTION_KW "option" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" GRANT GRANT_KW "grant" @@ -1929,5 +1929,5 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__import_foreign_schema_ok.snap b/crates/squawk_parser/tests/snapshots/tests__import_foreign_schema_ok.snap index a78f8257e..734174e80 100644 --- a/crates/squawk_parser/tests/snapshots/tests__import_foreign_schema_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__import_foreign_schema_ok.snap @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- except" WHITESPACE "\n" @@ -67,7 +67,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "local_schema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- options" WHITESPACE "\n" @@ -106,7 +106,7 @@ SOURCE_FILE LITERAL STRING "'bar'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- options_multi" WHITESPACE "\n" @@ -153,7 +153,7 @@ SOURCE_FILE LITERAL STRING "'b'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_1" WHITESPACE "\n" @@ -180,7 +180,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "films" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_2" WHITESPACE "\n" @@ -221,5 +221,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "films" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__insert_err.snap b/crates/squawk_parser/tests/snapshots/tests__insert_err.snap index 50a5a2eea..e89c4aba6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__insert_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__insert_err.snap @@ -58,7 +58,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing column in column list & trailing comma" WHITESPACE "\n" @@ -114,7 +114,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing comma in values & trailing comma" WHITESPACE "\n" @@ -173,7 +173,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__insert_ok.snap b/crates/squawk_parser/tests/snapshots/tests__insert_ok.snap index 818d161be..59b03126d 100644 --- a/crates/squawk_parser/tests/snapshots/tests__insert_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__insert_ok.snap @@ -32,7 +32,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "9.99" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -78,7 +78,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "9.99" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -124,7 +124,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -139,7 +139,7 @@ SOURCE_FILE DEFAULT_KW "default" WHITESPACE " " VALUES_KW "values" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -215,7 +215,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "2.99" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" INSERT INSERT_KW "insert" @@ -281,7 +281,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'today'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- schema_from_docs" WHITESPACE "\n" @@ -354,7 +354,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pg_docs_examples" WHITESPACE "\n" @@ -397,7 +397,7 @@ SOURCE_FILE LITERAL STRING "'82 minutes'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -461,7 +461,7 @@ SOURCE_FILE LITERAL STRING "'Drama'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -502,7 +502,7 @@ SOURCE_FILE LITERAL STRING "'82 minutes'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" INSERT INSERT_KW "INSERT" @@ -566,7 +566,7 @@ SOURCE_FILE LITERAL STRING "'Drama'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -581,7 +581,7 @@ SOURCE_FILE DEFAULT_KW "DEFAULT" WHITESPACE " " VALUES_KW "VALUES" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -668,7 +668,7 @@ SOURCE_FILE LITERAL STRING "'Comedy'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -706,7 +706,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2004-05-07'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Create an empty 3x3 gameboard for noughts-and-crosses" WHITESPACE "\n" @@ -761,7 +761,7 @@ SOURCE_FILE LITERAL STRING "'{{\" \",\" \",\" \"},{\" \",\" \",\" \"},{\" \",\" \",\" \"}}'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- The subscripts in the above example aren't really needed" WHITESPACE "\n" @@ -800,7 +800,7 @@ SOURCE_FILE LITERAL STRING "'{{X,\" \",\" \"},{\" \",O,\" \"},{\" \",X,\" \"}}'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -845,7 +845,7 @@ SOURCE_FILE TARGET NAME_REF IDENT "did" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT WITH_CLAUSE @@ -966,7 +966,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "upd" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -1051,7 +1051,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "dname" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -1106,7 +1106,7 @@ SOURCE_FILE DO_KW "DO" WHITESPACE " " NOTHING_KW "NOTHING" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -1175,7 +1175,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Don't update existing distributors based in a certain ZIP code" WHITESPACE "\n" @@ -1301,7 +1301,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'21201'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Name a constraint directly in the statement (uses associated" WHITESPACE "\n" @@ -1360,7 +1360,7 @@ SOURCE_FILE DO_KW "DO" WHITESPACE " " NOTHING_KW "NOTHING" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- This statement could infer a partial unique index on \"did\"" WHITESPACE "\n" @@ -1427,7 +1427,7 @@ SOURCE_FILE DO_KW "DO" WHITESPACE " " NOTHING_KW "NOTHING" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with schema" WHITESPACE "\n" @@ -1462,7 +1462,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- regression check for issue #718" WHITESPACE "\n" @@ -1513,7 +1513,7 @@ SOURCE_FILE DO_KW "DO" WHITESPACE " " NOTHING_KW "NOTHING" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -1570,7 +1570,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -1635,7 +1635,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "insert" @@ -1700,7 +1700,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on conflict do select" WHITESPACE "\n" @@ -1772,5 +1772,5 @@ SOURCE_FILE TARGET_LIST TARGET STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__listen_ok.snap b/crates/squawk_parser/tests/snapshots/tests__listen_ok.snap index 8b13ed385..d46f0b6d9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__listen_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__listen_ok.snap @@ -10,12 +10,12 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" LISTEN LISTEN_KW "LISTEN" WHITESPACE " " NAME VIRTUAL_KW "virtual" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__load_ok.snap b/crates/squawk_parser/tests/snapshots/tests__load_ok.snap index bf7aa366d..bea303eb0 100644 --- a/crates/squawk_parser/tests/snapshots/tests__load_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__load_ok.snap @@ -10,5 +10,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__lock_ok.snap b/crates/squawk_parser/tests/snapshots/tests__lock_ok.snap index 548ae19ca..ac5e8c9c8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__lock_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__lock_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table_names" WHITESPACE "\n" @@ -47,7 +47,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lock_mode" WHITESPACE "\n" @@ -68,7 +68,7 @@ SOURCE_FILE SHARE_KW "share" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -87,7 +87,7 @@ SOURCE_FILE SHARE_KW "share" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -106,7 +106,7 @@ SOURCE_FILE EXCLUSIVE_KW "exclusive" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -127,7 +127,7 @@ SOURCE_FILE EXCLUSIVE_KW "exclusive" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -144,7 +144,7 @@ SOURCE_FILE SHARE_KW "share" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -165,7 +165,7 @@ SOURCE_FILE EXCLUSIVE_KW "exclusive" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -182,7 +182,7 @@ SOURCE_FILE EXCLUSIVE_KW "exclusive" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" LOCK LOCK_KW "lock" @@ -201,7 +201,7 @@ SOURCE_FILE EXCLUSIVE_KW "exclusive" WHITESPACE " " MODE_KW "mode" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -244,5 +244,5 @@ SOURCE_FILE MODE_KW "mode" WHITESPACE " " NOWAIT_KW "nowait" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__merge_ok.snap b/crates/squawk_parser/tests/snapshots/tests__merge_ok.snap index 96cfc137a..e021a9755 100644 --- a/crates/squawk_parser/tests/snapshots/tests__merge_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__merge_ok.snap @@ -54,7 +54,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aliases_with_as" WHITESPACE "\n" @@ -119,7 +119,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- using_rows_from" WHITESPACE "\n" @@ -174,7 +174,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aliases_no_as" WHITESPACE "\n" @@ -235,7 +235,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table_with_star" WHITESPACE "\n" @@ -290,7 +290,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table_with_only" WHITESPACE "\n" @@ -345,7 +345,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- paren_query" WHITESPACE "\n" @@ -416,7 +416,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" MERGE MERGE_KW "merge" @@ -526,7 +526,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" MERGE MERGE_KW "merge" @@ -599,7 +599,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- when_clauses_dupe" WHITESPACE "\n" @@ -664,7 +664,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- when_clauses_all" WHITESPACE "\n" @@ -749,7 +749,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- when_clauses_all_with_conditions" WHITESPACE "\n" @@ -853,7 +853,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- returning_all" WHITESPACE "\n" @@ -945,7 +945,7 @@ SOURCE_FILE TARGET_LIST TARGET STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- returning_many" WHITESPACE "\n" @@ -1074,7 +1074,7 @@ SOURCE_FILE IDENT "t" DOT "." STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge_insert_simple" WHITESPACE "\n" @@ -1131,7 +1131,7 @@ SOURCE_FILE DEFAULT_KW "default" WHITESPACE " " VALUES_KW "values" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge_insert_default" WHITESPACE "\n" @@ -1211,7 +1211,7 @@ SOURCE_FILE DEFAULT_KW "default" WHITESPACE " " VALUES_KW "values" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge_insert_values" WHITESPACE "\n" @@ -1308,7 +1308,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge_update" WHITESPACE "\n" @@ -1513,7 +1513,7 @@ SOURCE_FILE SET_EXPR NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge_delete" WHITESPACE "\n" @@ -1580,7 +1580,7 @@ SOURCE_FILE WHITESPACE "\n " MERGE_DELETE DELETE_KW "delete" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_select" WHITESPACE "\n" @@ -1663,7 +1663,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_1" WHITESPACE "\n" @@ -1789,7 +1789,7 @@ SOURCE_FILE NAME_REF IDENT "transaction_value" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_2" WHITESPACE "\n" @@ -1938,7 +1938,7 @@ SOURCE_FILE NAME_REF IDENT "transaction_value" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_3" WHITESPACE "\n" @@ -2129,7 +2129,7 @@ SOURCE_FILE IDENT "w" DOT "." STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc_example_4" WHITESPACE "\n" @@ -2279,7 +2279,7 @@ SOURCE_FILE WHITESPACE "\n " MERGE_DELETE DELETE_KW "DELETE" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cross_join_data_source" WHITESPACE "\n" @@ -2343,7 +2343,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- natural join" WHITESPACE "\n" @@ -2407,5 +2407,5 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__misc_ok.snap b/crates/squawk_parser/tests/snapshots/tests__misc_ok.snap index 40ad0c35f..a0fdaa4b0 100644 --- a/crates/squawk_parser/tests/snapshots/tests__misc_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__misc_ok.snap @@ -51,7 +51,7 @@ SOURCE_FILE IDENT "FLOAT8" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" INSERT INSERT_KW "INSERT" @@ -146,7 +146,7 @@ SOURCE_FILE R_BRACK "]" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" INSERT INSERT_KW "INSERT" @@ -224,7 +224,7 @@ SOURCE_FILE LITERAL POSITIONAL_PARAM "$3000" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- https://www.timescale.com/blog/combining-semantic-search-and-full-text-search-in-postgresql-with-cohere-pgvector-and-pgai/" WHITESPACE "\n" @@ -325,7 +325,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -481,7 +481,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT WITH_CLAUSE @@ -602,7 +602,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -780,7 +780,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- https://www.depesz.com/2024/11/15/grouping-data-into-array-of-sums-fun-with-custom-aggregates/" WHITESPACE "\n" @@ -865,7 +865,7 @@ SOURCE_FILE WHITESPACE " " LITERAL DOLLAR_QUOTED_STRING "$$\nDECLARE\nBEGIN\n -- sanity checks\n IF p_hour < 0 THEN\n raise exception 'Hour can''t be < 0 : %', p_hour;\n END IF;\n IF p_hour > 23 THEN\n raise exception 'Hour can''t be > 23 : %', p_hour;\n END IF;\n \n -- actual count modification\n p_state[ p_hour ] := p_state[ p_hour ] + p_count;\n \n RETURN;\nEND;\n$$" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -891,7 +891,7 @@ SOURCE_FILE INT_NUMBER "15" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_AGGREGATE CREATE_KW "CREATE" @@ -967,7 +967,7 @@ SOURCE_FILE STRING "'[0:23]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}'" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1168,7 +1168,7 @@ SOURCE_FILE SORT_BY LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "CREATE" @@ -1240,7 +1240,7 @@ SOURCE_FILE LANGUAGE_KW "LANGUAGE" WHITESPACE " " IDENT "plpgsql" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- https://www.crunchydata.com/blog/postgres-partitioning-with-a-default-partition" WHITESPACE "\n\n" @@ -1284,7 +1284,7 @@ SOURCE_FILE NAME_REF IDENT "date" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -1318,7 +1318,7 @@ SOURCE_FILE WHITESPACE " " PARTITION_DEFAULT DEFAULT_KW "DEFAULT" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT INSERT_KW "INSERT" @@ -1360,7 +1360,7 @@ SOURCE_FILE NAME_REF IDENT "date" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1380,7 +1380,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "time_taptest_table_default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" TABLE TABLE_KW "Table" @@ -1390,7 +1390,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "\"partman_test.time_taptest_table_p20241124\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" TABLE TABLE_KW "Table" @@ -1400,7 +1400,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "\"partman_test.time_taptest_table_default\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -1450,11 +1450,11 @@ SOURCE_FILE LITERAL STRING "'2024-12-26'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" BEGIN BEGIN_KW "BEGIN" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -1484,7 +1484,7 @@ SOURCE_FILE NAME_REF IDENT "time_taptest_table_default" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT WITH_CLAUSE @@ -1574,7 +1574,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "partition_data" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -1624,7 +1624,7 @@ SOURCE_FILE LITERAL STRING "'2024-12-26'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" INSERT WITH_CLAUSE @@ -1714,7 +1714,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "partition_data" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_TABLE DROP_KW "DROP" @@ -1725,11 +1725,11 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "clean_default_temp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMIT COMMIT_KW "COMMIT" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1749,8 +1749,8 @@ SOURCE_FILE DOT "." NAME_REF IDENT "time_taptest_table_default" - WHITESPACE " " - SEMICOLON ";" + WHITESPACE " " + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1770,7 +1770,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "time_taptest_table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1790,8 +1790,8 @@ SOURCE_FILE DOT "." NAME_REF IDENT "time_taptest_table_p20241225" - WHITESPACE " " - SEMICOLON ";" + WHITESPACE " " + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1815,7 +1815,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1841,7 +1841,7 @@ SOURCE_FILE LITERAL FALSE_KW "false" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1861,7 +1861,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "time_taptest_table_default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CALL CALL_KW "CALL" @@ -1880,7 +1880,7 @@ SOURCE_FILE LITERAL STRING "'partman_test.time_taptest_table'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" VACUUM VACUUM_KW "VACUUM" @@ -1899,7 +1899,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "time_taptest_table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1925,7 +1925,7 @@ SOURCE_FILE LITERAL STRING "'partman_test.time_taptest_table'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- https://www.crunchydata.com/blog/smarter-postgres-llm-with-retrieval-augmented-generation" WHITESPACE "\n" @@ -1953,7 +1953,7 @@ SOURCE_FILE STRING "'What is the Star Trek episode where Deanna and her\n mother are kidnapped?'" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -1990,7 +1990,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COPY COPY_KW "COPY" @@ -2039,7 +2039,7 @@ SOURCE_FILE ESC_STRING "E'\\t'" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Enable pgvector" WHITESPACE "\n" @@ -2050,7 +2050,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "pgvector" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Add an emedding column to the table" WHITESPACE "\n" @@ -2078,7 +2078,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "vector" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Populate the column with embeddings from an LLM model" WHITESPACE "\n" @@ -2140,7 +2140,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "vector" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2210,7 +2210,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FUNCTION CREATE_KW "CREATE" @@ -2260,7 +2260,7 @@ SOURCE_FILE WHITESPACE " " LITERAL DOLLAR_QUOTED_STRING "$$\nDECLARE\n query_embedding VECTOR;\n context_chunks TEXT;\nBEGIN\n -- Step 1: Get the embedding vector for the query text\n query_embedding := openai.vector(query_text)::VECTOR;\n\n -- Step 2: Find the 5 closest plot summaries to the query embedding\n -- Step 3: Lump together results into a context lump\n SELECT string_agg('Episode: { Title: ' || title || ' } Summary: {' || plot, E'}}\\n\\n\\n') INTO context_chunks\n FROM (\n SELECT plot, title\n FROM tng\n ORDER BY vec <-> query_embedding\n LIMIT 5\n ) AS similar_plots;\n\n -- Step 4: Run the query against the LLM with the augmented context\n RETURN openai.prompt(context_chunks, query_text);\nEND;\n$$" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2276,7 +2276,7 @@ SOURCE_FILE LITERAL STRING "'What is the Star Trek episode where Deanna and her mother are kidnapped?'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- https://www.crunchydata.com/blog/pg_incremental-incremental-data-processing-in-postgres" WHITESPACE "\n\n" @@ -2336,7 +2336,7 @@ SOURCE_FILE WHITESPACE " " PRECISION_KW "precision" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_TABLE CREATE_KW "create" @@ -2400,7 +2400,7 @@ SOURCE_FILE IDENT "user_id" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* enable fast range scans on the sequence column */" WHITESPACE "\n" @@ -2429,7 +2429,7 @@ SOURCE_FILE NAME_REF IDENT "event_id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* for demo: generate some random data */" WHITESPACE "\n" @@ -2516,7 +2516,7 @@ SOURCE_FILE ALIAS NAME IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* define a sequence pipeline that periodically upserts view counts */" WHITESPACE "\n" @@ -2547,7 +2547,7 @@ SOURCE_FILE DOLLAR_QUOTED_STRING "$$\n insert into view_counts\n select date_trunc('day', event_time), user_id, count(*)\n from events where event_id between $1 and $2\n group by 1, 2\n on conflict (day, user_id) do update set count = view_counts.count + EXCLUDED.count;\n $$" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* get the most active users of today */" WHITESPACE "\n" @@ -2631,7 +2631,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "/* create a table with a single JSONB column and a sequence to track new objects */" @@ -2679,7 +2679,7 @@ SOURCE_FILE NAME_REF IDENT "jsonb" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_INDEX CREATE_KW "create" @@ -2706,7 +2706,7 @@ SOURCE_FILE NAME_REF IDENT "id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* load some data from a local newline-delimited JSON file */" WHITESPACE "\n" @@ -2741,7 +2741,7 @@ SOURCE_FILE DOLLAR_QUOTED_STRING "$$\n insert into events (event_id, event_time, user_id, response_time)\n select\n nextval('events_event_id_seq'),\n (payload->>'created_at')::timestamptz,\n (payload->'actor'->>'id')::bigint,\n (payload->>'response_time')::double precision\n from events_json\n where id between $1 and $2\n $$" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "/* create a table for number of active users per hour */" @@ -2791,7 +2791,7 @@ SOURCE_FILE HOUR_KW "hour" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* enable fast range scans on the event_time column */" WHITESPACE "\n" @@ -2820,7 +2820,7 @@ SOURCE_FILE NAME_REF IDENT "event_time" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* aggregates a range of 1 hour intervals after an hour has passed */" WHITESPACE "\n" @@ -2851,7 +2851,7 @@ SOURCE_FILE DOLLAR_QUOTED_STRING "$$\n insert into view_counts\n select date_trunc('hour', event_time), count(distinct user_id)\n from events where event_time >= $1 and event_time < $2\n group by 1\n $$" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* get number of active users per hour */" WHITESPACE "\n" @@ -2885,7 +2885,7 @@ SOURCE_FILE SORT_BY LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* define a function that wraps a COPY TO command to export data */" WHITESPACE "\n" @@ -2947,7 +2947,7 @@ SOURCE_FILE WHITESPACE " " LITERAL DOLLAR_QUOTED_STRING "$function$ begin\n\n /* select all rows in a time range and export them to a Parquet file */\n execute format(\n 'copy (select * from events where event_time >= %L and event_time < %L) to %L',\n start_time, end_time, format('s3://mybucket/events/%s.parquet', start_time::date)\n );\n\nend; $function$" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* export data as 1 file per day, starting at Jan 1st */" WHITESPACE "\n" @@ -3015,7 +3015,7 @@ SOURCE_FILE COMMENT "/* export all days from Jan 1st now */" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "/* define function that wraps a COPY FROM command to import data */" WHITESPACE "\n" @@ -3066,7 +3066,7 @@ SOURCE_FILE WHITESPACE " " LITERAL DOLLAR_QUOTED_STRING "$function$ begin\n\n /* load a file into the events table */\n execute format('copy events from %L', path);\n\nend; $function$" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "/* load all the files under a prefix, and automatically load new files, one at a time */" WHITESPACE "\n" @@ -3098,7 +3098,7 @@ SOURCE_FILE STRING "'select import_events($1)'" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3188,7 +3188,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- https://supabase.com/blog/calendars-in-postgres-using-foreign-data-wrappers" WHITESPACE "\n\n" @@ -3220,7 +3220,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "wasm_fdw_validator" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SERVER CREATE_KW "create" @@ -3284,7 +3284,7 @@ SOURCE_FILE STRING "''" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SCHEMA CREATE_KW "create" @@ -3300,7 +3300,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "cal" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FOREIGN_TABLE CREATE_KW "create" @@ -3353,7 +3353,7 @@ SOURCE_FILE STRING "'event-types'" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FOREIGN_TABLE CREATE_KW "create" @@ -3414,7 +3414,7 @@ SOURCE_FILE STRING "'attrs'" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extract event types" WHITESPACE "\n" @@ -3574,7 +3574,7 @@ SOURCE_FILE ALIAS NAME IDENT "et" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extract bookings" WHITESPACE "\n" @@ -3713,7 +3713,7 @@ SOURCE_FILE ALIAS NAME IDENT "bk" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- make a 15 minutes meeting with Elon Musk" WHITESPACE "\n" @@ -3758,7 +3758,7 @@ SOURCE_FILE IDENT "jsonb" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- https://www.tinybird.co/blog-posts/outgrowing-postgres-how-to-run-olap-workloads-on-postgres" WHITESPACE "\n\n" @@ -3852,7 +3852,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_INDEX CREATE_KW "CREATE" @@ -3874,7 +3874,7 @@ SOURCE_FILE NAME_REF HOUR_KW "hour" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -3936,7 +3936,7 @@ SOURCE_FILE NAME_REF IDENT "event_time" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -4023,7 +4023,7 @@ SOURCE_FILE IDENT "jsonb" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -4086,7 +4086,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -4147,7 +4147,7 @@ SOURCE_FILE IDENT "inet" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -4197,7 +4197,7 @@ SOURCE_FILE IDENT "jsonb" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- -- Instead of one simple insert" WHITESPACE "\n" @@ -4367,7 +4367,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'1 day'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "CREATE" @@ -4376,7 +4376,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "cstore_fdw" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SERVER CREATE_KW "CREATE" @@ -4394,7 +4394,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cstore_fdw" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FOREIGN_TABLE CREATE_KW "CREATE" @@ -4460,7 +4460,7 @@ SOURCE_FILE LITERAL STRING "'pglz'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "CREATE" @@ -4469,7 +4469,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "pg_analytics" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_FOREIGN_TABLE CREATE_KW "CREATE" @@ -4537,7 +4537,7 @@ SOURCE_FILE LITERAL STRING "'s3://bucket/metrics/*.parquet'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "CREATE" @@ -4546,7 +4546,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "pg_duckdb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -4600,7 +4600,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "duckdb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_EXTENSION CREATE_KW "CREATE" @@ -4609,7 +4609,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "pg_mooncake" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -4663,7 +4663,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "columnstore" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Instead of this complex self-join" WHITESPACE "\n" @@ -4780,7 +4780,7 @@ SOURCE_FILE ALIAS NAME IDENT "m1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Use this cleaner window function" WHITESPACE "\n" @@ -4855,7 +4855,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "monthly_revenues" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4983,7 +4983,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Use CTEs to break down complex analytics" WHITESPACE "\n" @@ -5297,7 +5297,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" EXPLAIN EXPLAIN_KW "EXPLAIN" @@ -5380,7 +5380,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Key settings for parallel queries" WHITESPACE "\n" @@ -5396,7 +5396,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- Workers per query" WHITESPACE "\n" @@ -5412,7 +5412,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- Lower = more parallelism" WHITESPACE "\n" @@ -5428,7 +5428,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FLOAT_NUMBER "0.001" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- Lower = more parallelism" WHITESPACE "\n" @@ -5444,7 +5444,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'8MB'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- Table size threshold" WHITESPACE "\n\n" @@ -5463,9 +5463,9 @@ SOURCE_FILE SELECT SELECT_CLAUSE SELECT_KW "SELECT" - WHITESPACE " " - COMMENT "/* your query */" - SEMICOLON ";" + WHITESPACE " " + COMMENT "/* your query */" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Look for:" WHITESPACE "\n" @@ -5549,7 +5549,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Remove unnecessary ORDER BY" WHITESPACE "\n" @@ -5613,7 +5613,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Gets all rows then filters" WHITESPACE "\n" @@ -5695,7 +5695,7 @@ SOURCE_FILE IDENT "user_id" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Uses DISTINCT ON" WHITESPACE "\n" @@ -5747,7 +5747,7 @@ SOURCE_FILE WHITESPACE " " SORT_DESC DESC_KW "DESC" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -5783,7 +5783,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -5828,7 +5828,7 @@ SOURCE_FILE LITERAL INT_NUMBER "128" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5891,7 +5891,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "event_logs" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- https://www.crunchydata.com/blog/indexing-materialized-views-in-postgres" WHITESPACE "\n" @@ -6062,7 +6062,7 @@ SOURCE_FILE WHITESPACE " " SORT_DESC DESC_KW "DESC" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -6086,7 +6086,7 @@ SOURCE_FILE NAME_REF IDENT "sku" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REFRESH REFRESH_KW "REFRESH" @@ -6099,7 +6099,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "recent_product_sales" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_INDEX CREATE_KW "CREATE" @@ -6124,7 +6124,7 @@ SOURCE_FILE NAME_REF IDENT "sku" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_INDEX DROP_KW "DROP" @@ -6135,7 +6135,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "sku_index" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REFRESH REFRESH_KW "REFRESH" @@ -6150,7 +6150,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "recent_product_sales" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" CREATE_TABLE COMMENT "-- https://www.timescale.com/blog/iot-renewable-energy-models-building-the-future-with-time-series-data" @@ -6236,7 +6236,7 @@ SOURCE_FILE PRECISION_KW "PRECISION" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Create a hypertable for efficient time series operations" WHITESPACE "\n" @@ -6258,7 +6258,7 @@ SOURCE_FILE LITERAL STRING "'time'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Calculate daily energy production and compare with expected output" WHITESPACE "\n" @@ -6446,7 +6446,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "90" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Detect abnormal vibration patterns in wind turbines" WHITESPACE "\n" @@ -6702,7 +6702,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Monitor aggregate power availability across resources" WHITESPACE "\n" @@ -6830,7 +6830,7 @@ SOURCE_FILE WHITESPACE " " SORT_DESC DESC_KW "DESC" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Identify optimal trading windows" WHITESPACE "\n" @@ -7055,5 +7055,5 @@ SOURCE_FILE SORT_BY NAME_REF HOUR_KW "hour" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__move_ok.snap b/crates/squawk_parser/tests/snapshots/tests__move_ok.snap index 155d233a9..5581e4658 100644 --- a/crates/squawk_parser/tests/snapshots/tests__move_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__move_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -25,7 +25,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -36,7 +36,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -45,7 +45,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" MOVE MOVE_KW "move" @@ -56,7 +56,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -67,7 +67,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -78,7 +78,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -89,7 +89,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -103,7 +103,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -117,7 +117,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -129,7 +129,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -140,7 +140,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -151,7 +151,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -165,7 +165,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -178,7 +178,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -189,7 +189,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -203,7 +203,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" MOVE MOVE_KW "move" @@ -216,5 +216,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "cursor_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__notify_ok.snap b/crates/squawk_parser/tests/snapshots/tests__notify_ok.snap index 13233391a..83a41fcf9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__notify_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__notify_ok.snap @@ -10,7 +10,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" NOTIFY NOTIFY_KW "NOTIFY" @@ -21,5 +21,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'This is the payload'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__precedence_ok.snap b/crates/squawk_parser/tests/snapshots/tests__precedence_ok.snap index 29f0cac1f..b50213b7a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__precedence_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__precedence_ok.snap @@ -34,7 +34,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -71,7 +71,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMPOUND_SELECT SELECT @@ -103,7 +103,7 @@ SOURCE_FILE SORT_BY NAME_REF IDENT "baz" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- equal to:" WHITESPACE "\n" @@ -140,5 +140,5 @@ SOURCE_FILE SORT_BY NAME_REF IDENT "baz" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__prepare_err.snap b/crates/squawk_parser/tests/snapshots/tests__prepare_err.snap index 79700222d..c7b4b7afa 100644 --- a/crates/squawk_parser/tests/snapshots/tests__prepare_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__prepare_err.snap @@ -75,7 +75,7 @@ SOURCE_FILE LITERAL POSITIONAL_PARAM "$4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__prepare_ok.snap b/crates/squawk_parser/tests/snapshots/tests__prepare_ok.snap index 63388741d..32be23607 100644 --- a/crates/squawk_parser/tests/snapshots/tests__prepare_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__prepare_ok.snap @@ -77,7 +77,7 @@ SOURCE_FILE LITERAL POSITIONAL_PARAM "$4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n\n" COMMENT "-- select" WHITESPACE "\n" @@ -174,7 +174,7 @@ SOURCE_FILE WHITESPACE " " LITERAL POSITIONAL_PARAM "$2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" PREPARE PREPARE_KW "PREPARE" @@ -218,7 +218,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- update" WHITESPACE "\n" @@ -265,7 +265,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- delete" WHITESPACE "\n" @@ -299,7 +299,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge" WHITESPACE "\n" @@ -392,7 +392,7 @@ SOURCE_FILE DO_KW "do" WHITESPACE " " NOTHING_KW "nothing" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- values" WHITESPACE "\n" @@ -428,5 +428,5 @@ SOURCE_FILE LITERAL STRING "'two'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__reassign_ok.snap b/crates/squawk_parser/tests/snapshots/tests__reassign_ok.snap index bd517a35f..bd3854522 100644 --- a/crates/squawk_parser/tests/snapshots/tests__reassign_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__reassign_ok.snap @@ -35,7 +35,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF SESSION_USER_KW "session_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REASSIGN REASSIGN_KW "reassign" @@ -53,5 +53,5 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__refresh_ok.snap b/crates/squawk_parser/tests/snapshots/tests__refresh_ok.snap index 6582297aa..bf7840b33 100644 --- a/crates/squawk_parser/tests/snapshots/tests__refresh_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__refresh_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "order_summary" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REFRESH REFRESH_KW "REFRESH" @@ -36,7 +36,7 @@ SOURCE_FILE NO_KW "NO" WHITESPACE " " DATA_KW "DATA" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REFRESH REFRESH_KW "refresh" @@ -56,5 +56,5 @@ SOURCE_FILE WITH_KW "with" WHITESPACE " " DATA_KW "data" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_errors.snap b/crates/squawk_parser/tests/snapshots/tests__regression_errors.snap index ecc7fae99..e9b986165 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_errors.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_errors.snap @@ -15,10 +15,6 @@ error[syntax-error]: expected path name ╭▸ 134 │ drop index 314159; ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -134 │ drop index 314159; - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 134 │ drop index 314159; @@ -67,10 +63,6 @@ error[syntax-error]: expected R_PAREN ╭▸ 150 │ drop aggregate 314159 (int); ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -150 │ drop aggregate 314159 (int); - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 150 │ drop aggregate 314159 (int); @@ -95,10 +87,6 @@ error[syntax-error]: expected path name ╭▸ 169 │ drop function 314159(); ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -169 │ drop function 314159(); - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 169 │ drop function 314159(); @@ -119,10 +107,6 @@ error[syntax-error]: expected path name ╭▸ 182 │ drop type 314159; ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -182 │ drop type 314159; - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 182 │ drop type 314159; @@ -275,10 +259,6 @@ error[syntax-error]: expected path name ╭▸ 238 │ drop rule 314159; ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -238 │ drop rule 314159; - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 238 │ drop rule 314159; @@ -355,10 +335,6 @@ error[syntax-error]: expected path name ╭▸ 283 │ CREATE TABLE ; ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -288 │ INSERT INTO foo VALUES(123) foo; - ╰╴ ━ error[syntax-error]: expected command, found INTO_KW ╭▸ 288 │ INSERT INTO foo VALUES(123) foo; @@ -367,10 +343,6 @@ error[syntax-error]: expected command, found IDENT ╭▸ 288 │ INSERT INTO foo VALUES(123) foo; ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -288 │ INSERT INTO foo VALUES(123) foo; - ╰╴ ━ error[syntax-error]: expected command, found IDENT ╭▸ 288 │ INSERT INTO foo VALUES(123) foo; @@ -383,18 +355,10 @@ error[syntax-error]: expected select stmt ╭▸ 290 │ INSERT INTO 123 ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -290 │ INSERT INTO 123 - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 290 │ INSERT INTO 123 ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -294 │ VALUES(123) 123 - ╰╴ ━ error[syntax-error]: expected command, found INT_NUMBER ╭▸ 294 │ VALUES(123) 123 diff --git a/crates/squawk_parser/tests/snapshots/tests__reindex_err.snap b/crates/squawk_parser/tests/snapshots/tests__reindex_err.snap index cbf54962a..881436df4 100644 --- a/crates/squawk_parser/tests/snapshots/tests__reindex_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__reindex_err.snap @@ -25,7 +25,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__reindex_ok.snap b/crates/squawk_parser/tests/snapshots/tests__reindex_ok.snap index 9891e2340..6710fc6c7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__reindex_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__reindex_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "my_index" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REINDEX REINDEX_KW "REINDEX" @@ -25,7 +25,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "my_table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REINDEX REINDEX_KW "REINDEX" @@ -38,7 +38,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "my_broken_table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- complete_syntax" WHITESPACE "\n" @@ -72,7 +72,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REINDEX REINDEX_KW "reindex" @@ -83,7 +83,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REINDEX REINDEX_KW "reindex" @@ -94,7 +94,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" REINDEX REINDEX_KW "reindex" @@ -105,7 +105,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" REINDEX REINDEX_KW "reindex" @@ -116,5 +116,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__repack_ok.snap b/crates/squawk_parser/tests/snapshots/tests__repack_ok.snap index ac7987810..c6c8be564 100644 --- a/crates/squawk_parser/tests/snapshots/tests__repack_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__repack_ok.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_parser/tests/data/ok/repack.sql SOURCE_FILE REPACK REPACK_KW "repack" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REPACK REPACK_KW "repack" @@ -14,7 +14,7 @@ SOURCE_FILE USING_KW "using" WHITESPACE " " INDEX_KW "index" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REPACK REPACK_KW "repack" @@ -26,7 +26,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "idx" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -74,5 +74,5 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "idx" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__reset_ok.snap b/crates/squawk_parser/tests/snapshots/tests__reset_ok.snap index 479f69e71..c697f7ace 100644 --- a/crates/squawk_parser/tests/snapshots/tests__reset_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__reset_ok.snap @@ -12,13 +12,13 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "some_config_param" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" RESET RESET_KW "reset" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" RESET RESET_KW "reset" @@ -37,7 +37,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "buzz" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" RESET RESET_KW "reset" @@ -45,7 +45,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" RESET RESET_KW "reset" @@ -55,7 +55,7 @@ SOURCE_FILE ISOLATION_KW "isolation" WHITESPACE " " LEVEL_KW "level" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" RESET_SESSION_AUTH RESET_KW "reset" @@ -63,5 +63,5 @@ SOURCE_FILE SESSION_KW "session" WHITESPACE " " AUTHORIZATION_KW "authorization" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__revoke_ok.snap b/crates/squawk_parser/tests/snapshots/tests__revoke_ok.snap index 7cd6c5853..48c42cae2 100644 --- a/crates/squawk_parser/tests/snapshots/tests__revoke_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__revoke_ok.snap @@ -65,7 +65,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_table" WHITESPACE "\n" @@ -123,7 +123,7 @@ SOURCE_FILE IDENT "public" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -172,7 +172,7 @@ SOURCE_FILE IDENT "public" WHITESPACE "\n " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -200,7 +200,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -244,7 +244,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_all_tables" WHITESPACE "\n" @@ -286,7 +286,7 @@ SOURCE_FILE CURRENT_ROLE_KW "current_role" WHITESPACE "\n " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- columns" WHITESPACE "\n" @@ -326,7 +326,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -366,7 +366,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -406,7 +406,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -444,7 +444,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -472,7 +472,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -498,7 +498,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- sequence" WHITESPACE "\n" @@ -524,7 +524,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -562,7 +562,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -588,7 +588,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -614,7 +614,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -650,7 +650,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- database" WHITESPACE "\n" @@ -688,7 +688,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -728,7 +728,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -748,7 +748,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- domain" WHITESPACE "\n" @@ -794,7 +794,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -818,7 +818,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_data" WHITESPACE "\n" @@ -862,7 +862,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -888,7 +888,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_server" WHITESPACE "\n" @@ -930,7 +930,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -954,7 +954,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function" WHITESPACE "\n" @@ -997,7 +997,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1088,7 +1088,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1112,7 +1112,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1146,7 +1146,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1172,7 +1172,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1198,7 +1198,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1268,7 +1268,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- language" WHITESPACE "\n" @@ -1302,7 +1302,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1330,7 +1330,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1360,7 +1360,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- large_object" WHITESPACE "\n" @@ -1396,7 +1396,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1424,7 +1424,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- param" WHITESPACE "\n" @@ -1470,7 +1470,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1496,7 +1496,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1518,7 +1518,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- edge_case" WHITESPACE "\n" @@ -1555,7 +1555,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n\n" REVOKE REVOKE_KW "revoke" @@ -1584,7 +1584,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -1608,7 +1608,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1644,7 +1644,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1672,7 +1672,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- tablespace" WHITESPACE "\n" @@ -1704,7 +1704,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1732,7 +1732,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type_" WHITESPACE "\n" @@ -1775,7 +1775,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1798,7 +1798,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1826,7 +1826,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- option" WHITESPACE "\n" @@ -1851,7 +1851,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1874,7 +1874,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1897,7 +1897,7 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" REVOKE REVOKE_KW "revoke" @@ -1914,5 +1914,5 @@ SOURCE_FILE ROLE_REF_LIST ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__schemas_ok.snap b/crates/squawk_parser/tests/snapshots/tests__schemas_ok.snap index 1254e45ef..6d7729120 100644 --- a/crates/squawk_parser/tests/snapshots/tests__schemas_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__schemas_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "myschema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_SCHEMA CREATE_KW "create" @@ -27,7 +27,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_SCHEMA CREATE_KW "create" @@ -41,7 +41,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_SCHEMA CREATE_KW "create" @@ -55,7 +55,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_SCHEMA CREATE_KW "create" @@ -69,7 +69,7 @@ SOURCE_FILE WHITESPACE " " ROLE_REF SESSION_USER_KW "session_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SCHEMA CREATE_KW "create" @@ -81,7 +81,7 @@ SOURCE_FILE ROLE NAME IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SCHEMA CREATE_KW "create" @@ -97,7 +97,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_SCHEMA CREATE_KW "create" @@ -119,7 +119,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" CREATE_SCHEMA CREATE_KW "create" @@ -138,7 +138,7 @@ SOURCE_FILE ROLE NAME IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SCHEMA CREATE_KW "create" @@ -204,7 +204,7 @@ SOURCE_FILE NAME_REF IDENT "int8" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" TABLE TABLE_KW "table" @@ -219,7 +219,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF TABLE_KW "table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" TABLE TABLE_KW "table" @@ -239,7 +239,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF TABLE_KW "table" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" DROP_SCHEMA DROP_KW "drop" @@ -248,7 +248,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "myschema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_SCHEMA DROP_KW "drop" @@ -259,7 +259,7 @@ SOURCE_FILE IDENT "myschema" WHITESPACE " " CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_SCHEMA DROP_KW "drop" @@ -275,7 +275,7 @@ SOURCE_FILE IDENT "myschema" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" DROP_SCHEMA DROP_KW "drop" @@ -297,7 +297,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_SCHEMA CREATE_KW "create" @@ -312,7 +312,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "user_name" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_schema_with_sequence" WHITESPACE "\n" @@ -333,7 +333,7 @@ SOURCE_FILE PATH_SEGMENT NAME IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- create_schema_with_trigger" WHITESPACE "\n" @@ -378,7 +378,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- search_path" WHITESPACE "\n" @@ -389,7 +389,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "search_path" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -406,7 +406,7 @@ SOURCE_FILE COMMA "," NAME_REF IDENT "public" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -420,7 +420,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "myschema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -434,7 +434,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -443,7 +443,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -453,7 +453,7 @@ SOURCE_FILE OPTION_KW "option" WHITESPACE " " DOCUMENT_KW "document" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -463,7 +463,7 @@ SOURCE_FILE OPTION_KW "option" WHITESPACE " " CONTENT_KW "content" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_ROLE SET_KW "set" @@ -473,7 +473,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -484,7 +484,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'America/Los_Angeles'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -494,7 +494,7 @@ SOURCE_FILE ZONE_KW "zone" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -504,7 +504,7 @@ SOURCE_FILE ZONE_KW "zone" WHITESPACE " " LOCAL_KW "local" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -517,7 +517,7 @@ SOURCE_FILE FROM_KW "from" WHITESPACE " " CURRENT_KW "current" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -535,7 +535,7 @@ SOURCE_FILE FROM_KW "from" WHITESPACE " " CURRENT_KW "current" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET SET_KW "set" @@ -548,7 +548,7 @@ SOURCE_FILE EQ "=" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -582,7 +582,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -595,7 +595,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- operator" WHITESPACE "\n" @@ -621,7 +621,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -641,7 +641,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -665,7 +665,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- unary" WHITESPACE "\n" @@ -686,7 +686,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -703,7 +703,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -724,7 +724,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" SET SET_KW "set" @@ -733,5 +733,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__security_label_ok.snap b/crates/squawk_parser/tests/snapshots/tests__security_label_ok.snap index 66abc7c77..97253f2ee 100644 --- a/crates/squawk_parser/tests/snapshots/tests__security_label_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__security_label_ok.snap @@ -29,7 +29,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'system_u:object_r:sepgsql_table_t:s0'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "SECURITY" @@ -54,7 +54,7 @@ SOURCE_FILE IS_KW "IS" WHITESPACE " " NULL_KW "NULL" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column" WHITESPACE "\n" @@ -80,7 +80,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_aggregate_star" WHITESPACE "\n" @@ -112,7 +112,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_aggregate_args" WHITESPACE "\n" @@ -176,7 +176,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- on_aggregate_args_with_order_by" WHITESPACE "\n" @@ -264,7 +264,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -327,7 +327,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- database" WHITESPACE "\n" @@ -348,7 +348,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- domain" WHITESPACE "\n" @@ -374,7 +374,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -393,7 +393,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- event_trigger" WHITESPACE "\n" @@ -416,7 +416,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- foreign_table" WHITESPACE "\n" @@ -439,7 +439,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function" WHITESPACE "\n" @@ -471,7 +471,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -495,7 +495,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -555,7 +555,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- large_object" WHITESPACE "\n" @@ -576,7 +576,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- materialized_view" WHITESPACE "\n" @@ -604,7 +604,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- language" WHITESPACE "\n" @@ -627,7 +627,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -646,7 +646,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- procedure" WHITESPACE "\n" @@ -673,7 +673,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -701,7 +701,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -746,7 +746,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- publication" WHITESPACE "\n" @@ -767,7 +767,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- role" WHITESPACE "\n" @@ -788,7 +788,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- routine" WHITESPACE "\n" @@ -815,7 +815,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -843,7 +843,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SECURITY_LABEL SECURITY_KW "security" @@ -893,7 +893,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- schema" WHITESPACE "\n" @@ -914,7 +914,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- sequence" WHITESPACE "\n" @@ -940,7 +940,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subscription" WHITESPACE "\n" @@ -961,7 +961,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- tablespace" WHITESPACE "\n" @@ -982,7 +982,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type_" WHITESPACE "\n" @@ -1008,7 +1008,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- view" WHITESPACE "\n" @@ -1034,5 +1034,5 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_casts_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_casts_ok.snap index 97b04b7e2..f34432a92 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_casts_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_casts_ok.snap @@ -20,7 +20,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'1234'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -39,7 +39,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF NUMERIC_KW "numeric" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -61,7 +61,7 @@ SOURCE_FILE NAME_REF NUMERIC_KW "numeric" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -77,7 +77,7 @@ SOURCE_FILE LITERAL STRING "'1234'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -99,7 +99,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -126,7 +126,7 @@ SOURCE_FILE INT_NUMBER "12" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -157,7 +157,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INTEGER_KW "integer" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -190,7 +190,7 @@ SOURCE_FILE R_PAREN ")" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -212,7 +212,7 @@ SOURCE_FILE INT_KW "int" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -231,7 +231,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -253,7 +253,7 @@ SOURCE_FILE NUMERIC_KW "numeric" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -307,7 +307,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -355,7 +355,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- setof" WHITESPACE "\n" @@ -381,7 +381,7 @@ SOURCE_FILE NAME_REF INT_KW "int" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -402,7 +402,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- based on postgres' gram.y" WHITESPACE "\n\n" @@ -424,7 +424,7 @@ SOURCE_FILE BIT_KW "bit" WHITESPACE " " VARYING_KW "varying" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -448,7 +448,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Character" WHITESPACE "\n\n" @@ -466,7 +466,7 @@ SOURCE_FILE COLON ":" CHAR_TYPE CHARACTER_KW "character" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -484,7 +484,7 @@ SOURCE_FILE CHARACTER_KW "character" WHITESPACE " " VARYING_KW "varying" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -500,7 +500,7 @@ SOURCE_FILE COLON ":" CHAR_TYPE CHAR_KW "char" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -518,7 +518,7 @@ SOURCE_FILE CHAR_KW "char" WHITESPACE " " VARYING_KW "varying" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -534,7 +534,7 @@ SOURCE_FILE COLON ":" CHAR_TYPE VARCHAR_KW "varchar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -552,7 +552,7 @@ SOURCE_FILE NATIONAL_KW "national" WHITESPACE " " CHARACTER_KW "character" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -572,7 +572,7 @@ SOURCE_FILE CHARACTER_KW "character" WHITESPACE " " VARYING_KW "varying" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -590,7 +590,7 @@ SOURCE_FILE NATIONAL_KW "national" WHITESPACE " " CHAR_KW "char" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -610,7 +610,7 @@ SOURCE_FILE CHAR_KW "char" WHITESPACE " " VARYING_KW "varying" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -626,7 +626,7 @@ SOURCE_FILE COLON ":" CHAR_TYPE NCHAR_KW "nchar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -644,7 +644,7 @@ SOURCE_FILE NCHAR_KW "nchar" WHITESPACE " " VARYING_KW "varying" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -665,7 +665,7 @@ SOURCE_FILE VARYING_KW "varying" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ConstDatetime" WHITESPACE "\n\n" @@ -687,7 +687,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -714,7 +714,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -741,7 +741,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -757,7 +757,7 @@ SOURCE_FILE COLON ":" TIME_TYPE TIMESTAMP_KW "timestamp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -780,7 +780,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -803,7 +803,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -823,7 +823,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -850,7 +850,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -877,7 +877,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -893,7 +893,7 @@ SOURCE_FILE COLON ":" TIME_TYPE TIME_KW "time" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -916,7 +916,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -939,7 +939,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- timestamp with time zone cast" WHITESPACE "\n" @@ -962,7 +962,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2005-04-02 12:00:00-07'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cast w/ at time zone operator" WHITESPACE "\n" @@ -996,7 +996,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'america/denver'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- timestamp cast w/ at time zone operator" WHITESPACE "\n" @@ -1023,7 +1023,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'america/denver'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple at time zone" WHITESPACE "\n" @@ -1061,7 +1061,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'america/chicago'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cast and at local" WHITESPACE "\n" @@ -1089,7 +1089,7 @@ SOURCE_FILE AT_KW "at" WHITESPACE " " LOCAL_KW "local" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1104,7 +1104,7 @@ SOURCE_FILE AT_KW "at" WHITESPACE " " LOCAL_KW "local" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1130,7 +1130,7 @@ SOURCE_FILE AT_KW "at" WHITESPACE " " LOCAL_KW "local" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ConstInterval" WHITESPACE "\n\n" @@ -1148,7 +1148,7 @@ SOURCE_FILE COLON ":" INTERVAL_TYPE INTERVAL_KW "interval" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1166,7 +1166,7 @@ SOURCE_FILE INTERVAL_KW "interval" WHITESPACE " " YEAR_KW "year" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1184,7 +1184,7 @@ SOURCE_FILE INTERVAL_KW "interval" WHITESPACE " " MONTH_KW "month" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1204,7 +1204,7 @@ SOURCE_FILE LITERAL INT_NUMBER "0" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1222,7 +1222,7 @@ SOURCE_FILE INTERVAL_KW "interval" WHITESPACE " " DAY_KW "day" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1240,7 +1240,7 @@ SOURCE_FILE INTERVAL_KW "interval" WHITESPACE " " HOUR_KW "hour" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1258,7 +1258,7 @@ SOURCE_FILE INTERVAL_KW "interval" WHITESPACE " " MINUTE_KW "minute" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1276,7 +1276,7 @@ SOURCE_FILE INTERVAL_KW "interval" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1298,7 +1298,7 @@ SOURCE_FILE LITERAL INT_NUMBER "100" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1320,7 +1320,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " MONTH_KW "month" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1342,7 +1342,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " HOUR_KW "hour" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1364,7 +1364,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " MINUTE_KW "minute" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1386,7 +1386,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1412,7 +1412,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1434,7 +1434,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " MINUTE_KW "minute" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1456,7 +1456,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1482,7 +1482,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1504,7 +1504,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1530,7 +1530,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1550,7 +1550,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- JsonType" WHITESPACE "\n" @@ -1571,7 +1571,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF JSON_KW "json" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- jsonb type cast" WHITESPACE "\n" @@ -1609,7 +1609,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- GenericType" WHITESPACE "\n" @@ -1635,7 +1635,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1670,7 +1670,7 @@ SOURCE_FILE NAME_REF IDENT "bizz" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1686,7 +1686,7 @@ SOURCE_FILE COLON ":" CHAR_TYPE VARCHAR_KW "varchar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1708,7 +1708,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1733,7 +1733,7 @@ SOURCE_FILE R_PAREN ")" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1754,7 +1754,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1782,7 +1782,7 @@ SOURCE_FILE R_PAREN ")" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1812,7 +1812,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1846,7 +1846,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1884,7 +1884,7 @@ SOURCE_FILE R_PAREN ")" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- Numeric" WHITESPACE "\n" @@ -1905,7 +1905,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INT_KW "int" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1924,7 +1924,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INTEGER_KW "integer" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1943,7 +1943,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF SMALLINT_KW "smallint" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1962,7 +1962,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF BIGINT_KW "bigint" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1981,7 +1981,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF FLOAT_KW "float" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2006,7 +2006,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2024,7 +2024,7 @@ SOURCE_FILE DOUBLE_KW "double" WHITESPACE " " PRECISION_KW "precision" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2043,7 +2043,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF DECIMAL_KW "decimal" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2078,7 +2078,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2097,7 +2097,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF DEC_KW "dec" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2132,7 +2132,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2151,7 +2151,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF NUMERIC_KW "numeric" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2181,7 +2181,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2200,7 +2200,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF BOOLEAN_KW "boolean" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2234,7 +2234,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- interval_cast_trailing" WHITESPACE "\n" @@ -2252,7 +2252,7 @@ SOURCE_FILE STRING "'1'" WHITESPACE " " YEAR_KW "year" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2268,7 +2268,7 @@ SOURCE_FILE STRING "'1'" WHITESPACE " " MONTH_KW "month" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2284,7 +2284,7 @@ SOURCE_FILE STRING "'1'" WHITESPACE " " DAY_KW "day" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2300,7 +2300,7 @@ SOURCE_FILE STRING "'1'" WHITESPACE " " HOUR_KW "hour" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2316,7 +2316,7 @@ SOURCE_FILE STRING "'1'" WHITESPACE " " MINUTE_KW "minute" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2332,7 +2332,7 @@ SOURCE_FILE STRING "'1'" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2352,7 +2352,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " MONTH_KW "month" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2372,7 +2372,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " HOUR_KW "hour" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2392,7 +2392,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " MINUTE_KW "minute" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2412,7 +2412,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2436,7 +2436,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2456,7 +2456,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " MINUTE_KW "minute" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2476,7 +2476,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2500,7 +2500,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2520,7 +2520,7 @@ SOURCE_FILE TO_KW "to" WHITESPACE " " SECOND_KW "second" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2544,7 +2544,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pgdoc_char" WHITESPACE "\n" @@ -2574,7 +2574,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"C\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2620,7 +2620,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2654,7 +2654,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cast_array" WHITESPACE "\n" @@ -2685,7 +2685,7 @@ SOURCE_FILE INT_NUMBER "4" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2710,7 +2710,7 @@ SOURCE_FILE WHITESPACE " " ARRAY_KW "ARRAY" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2737,7 +2737,7 @@ SOURCE_FILE INT_NUMBER "4" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2768,7 +2768,7 @@ SOURCE_FILE INT_NUMBER "3" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2808,7 +2808,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1000" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2834,7 +2834,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2858,7 +2858,7 @@ SOURCE_FILE INTEGER_KW "integer" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- casts" WHITESPACE "\n" @@ -2882,7 +2882,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- 0000101100" WHITESPACE "\n" @@ -2906,7 +2906,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- 100" WHITESPACE "\n" @@ -2935,7 +2935,7 @@ SOURCE_FILE INT_NUMBER "12" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- 111111010100" WHITESPACE "\n" @@ -2968,7 +2968,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF INTEGER_KW "integer" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " " COMMENT "-- 14" WHITESPACE "\n\n" @@ -2994,7 +2994,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "int8" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3021,7 +3021,7 @@ SOURCE_FILE IDENT "int8" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- cast" WHITESPACE "\n" @@ -3050,7 +3050,7 @@ SOURCE_FILE NAME_REF IDENT "bar" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3086,7 +3086,7 @@ SOURCE_FILE L_BRACK "[" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- treat" WHITESPACE "\n" @@ -3115,7 +3115,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3137,7 +3137,7 @@ SOURCE_FILE NAME_REF NUMERIC_KW "numeric" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- prefix" WHITESPACE "\n" @@ -3156,7 +3156,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'{}'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3174,7 +3174,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3188,7 +3188,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3206,7 +3206,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3220,7 +3220,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3236,7 +3236,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3250,7 +3250,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3266,7 +3266,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3280,7 +3280,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3294,7 +3294,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3312,7 +3312,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3328,7 +3328,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3346,7 +3346,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3362,7 +3362,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3378,7 +3378,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3392,7 +3392,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3414,7 +3414,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3434,7 +3434,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3456,7 +3456,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3476,7 +3476,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3496,7 +3496,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3520,7 +3520,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3542,7 +3542,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3566,7 +3566,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3588,7 +3588,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3610,7 +3610,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3630,7 +3630,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3652,7 +3652,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3672,7 +3672,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3688,7 +3688,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3702,7 +3702,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3719,7 +3719,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3736,7 +3736,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3753,7 +3753,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3770,7 +3770,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3787,7 +3787,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3804,7 +3804,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3824,7 +3824,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3840,7 +3840,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "''" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3864,7 +3864,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'10'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3881,7 +3881,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'10'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3905,7 +3905,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'10'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3922,7 +3922,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'10'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3946,7 +3946,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'10'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3963,7 +3963,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'10'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3980,7 +3980,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'false'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3999,7 +3999,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'100'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4028,7 +4028,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'100'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4053,7 +4053,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'{123}'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4087,5 +4087,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'100'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_compound_union_select_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_compound_union_select_ok.snap index a1ec1baa7..2e680487e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_compound_union_select_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_compound_union_select_ok.snap @@ -137,7 +137,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- version without parentheses." WHITESPACE "\n" @@ -272,7 +272,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMPOUND_SELECT SELECT @@ -300,7 +300,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMPOUND_SELECT TABLE @@ -322,7 +322,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMPOUND_SELECT PAREN_SELECT @@ -350,7 +350,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMPOUND_SELECT SELECT_INTO @@ -400,7 +400,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMPOUND_SELECT VALUES @@ -438,7 +438,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" PAREN_SELECT L_PAREN "(" @@ -475,7 +475,7 @@ SOURCE_FILE INT_NUMBER "1" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -529,7 +529,7 @@ SOURCE_FILE INT_NUMBER "1" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -586,7 +586,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" PAREN_SELECT L_PAREN "(" @@ -627,5 +627,5 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_cte_err.snap b/crates/squawk_parser/tests/snapshots/tests__select_cte_err.snap index 728b27aa3..c2ab852c5 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_cte_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_cte_err.snap @@ -43,7 +43,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- search depth missing item" WHITESPACE "\n" @@ -114,7 +114,7 @@ SOURCE_FILE SORT_BY NAME_REF IDENT "ordercol" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- search depth missing comma" WHITESPACE "\n" @@ -185,7 +185,7 @@ SOURCE_FILE SORT_BY NAME_REF IDENT "ordercol" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extra with" WHITESPACE "\n" @@ -244,7 +244,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT WITH_CLAUSE @@ -297,7 +297,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table name isn't an plain ident" WHITESPACE "\n" @@ -350,7 +350,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- extra comma with values (we didn't support values before)" WHITESPACE "\n" @@ -389,7 +389,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: unexpected comma diff --git a/crates/squawk_parser/tests/snapshots/tests__select_cte_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_cte_ok.snap index 5b8c33d3e..2145b0206 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_cte_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_cte_ok.snap @@ -68,7 +68,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_values" WHITESPACE "\n" @@ -109,7 +109,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with" WHITESPACE "\n" @@ -151,7 +151,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column names" WHITESPACE "\n" @@ -207,7 +207,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- materialized " WHITESPACE "\n" @@ -250,7 +250,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not materialized " WHITESPACE "\n" @@ -295,7 +295,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- nested" WHITESPACE "\n" @@ -367,7 +367,7 @@ SOURCE_FILE IDENT "t" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- search depth first (from pg docs)" WHITESPACE "\n" @@ -560,7 +560,7 @@ SOURCE_FILE SORT_BY NAME_REF IDENT "ordercol" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- search breadth first (from pg docs)" WHITESPACE "\n" @@ -753,7 +753,7 @@ SOURCE_FILE SORT_BY NAME_REF IDENT "ordercol" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- search cycle (from pg docs)" WHITESPACE "\n" @@ -960,7 +960,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "search_graph" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- search cycle with to and default values" WHITESPACE "\n" @@ -1053,7 +1053,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "search_graph" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi" WHITESPACE "\n" @@ -1118,7 +1118,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- recursive" WHITESPACE "\n" @@ -1160,7 +1160,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT WITH_CLAUSE @@ -1226,7 +1226,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- timestamp_edge_cases" WHITESPACE "\n" @@ -1271,7 +1271,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT WITH_CLAUSE @@ -1314,7 +1314,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- regression gh issue #509" WHITESPACE "\n" @@ -1474,7 +1474,7 @@ SOURCE_FILE INT_NUMBER "1" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- paren select cte" WHITESPACE "\n" @@ -1509,7 +1509,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- group by all" WHITESPACE "\n" @@ -1562,5 +1562,5 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "x" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_err.snap b/crates/squawk_parser/tests/snapshots/tests__select_err.snap index d8e3c54c0..a73efddb6 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_err.snap @@ -57,8 +57,8 @@ SOURCE_FILE IDENT "z" ERROR COMMA "," - WHITESPACE "\n" - SEMICOLON ";" + WHITESPACE "\n" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- trailing comma in column list" WHITESPACE "\n" @@ -90,7 +90,7 @@ SOURCE_FILE ERROR COMMA "," R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing comma" WHITESPACE "\n" @@ -127,7 +127,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- ^ ^ comma missing" WHITESPACE "\n" @@ -191,7 +191,7 @@ SOURCE_FILE WHITESPACE " " SORT_DESC DESC_KW "desc" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE " \n\n" COMMENT "-- group bys with missing commas" WHITESPACE "\n" @@ -229,7 +229,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -265,7 +265,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -326,7 +326,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- trailing comma in args" WHITESPACE "\n" @@ -346,7 +346,7 @@ SOURCE_FILE ERROR COMMA "," R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing args" WHITESPACE "\n" @@ -373,7 +373,7 @@ SOURCE_FILE ERROR COMMA "," R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- in can only be used with tuples / sub queries" WHITESPACE "\n" @@ -391,7 +391,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- type cast must use a string literal" WHITESPACE "\n" @@ -407,7 +407,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1234" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- missing comma" WHITESPACE "\n" @@ -429,7 +429,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- extra comma" WHITESPACE "\n" @@ -451,7 +451,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- trailing comma" WHITESPACE "\n" @@ -475,7 +475,7 @@ SOURCE_FILE ERROR COMMA "," R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- group by all, order by all" WHITESPACE "\n" @@ -510,7 +510,7 @@ SOURCE_FILE SORT_BY ERROR ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cast with malformed type mod args" WHITESPACE "\n" @@ -541,7 +541,7 @@ SOURCE_FILE INT_NUMBER "200" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -574,7 +574,7 @@ SOURCE_FILE INT_NUMBER "200" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -609,7 +609,7 @@ SOURCE_FILE COMMA "," R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- regression test: this would cause the parser to get stuck & panic, now it" WHITESPACE "\n" @@ -622,7 +622,7 @@ SOURCE_FILE SELECT SELECT_CLAUSE SELECT_KW "select" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extra comma" WHITESPACE "\n" @@ -643,7 +643,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- case missing then expr" WHITESPACE "\n" @@ -666,7 +666,7 @@ SOURCE_FILE THEN_KW "then" WHITESPACE " " END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- case missing when expr" WHITESPACE "\n" @@ -689,7 +689,7 @@ SOURCE_FILE IDENT "x" WHITESPACE " " END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- case missing else expr" WHITESPACE "\n" @@ -718,7 +718,7 @@ SOURCE_FILE ELSE_KW "else" WHITESPACE " " END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select without semi and trailing create table" WHITESPACE "\n" @@ -739,7 +739,7 @@ SOURCE_FILE TABLE_ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- select do" WHITESPACE "\n" @@ -752,7 +752,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'begin null; end'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select grant" WHITESPACE "\n" @@ -780,7 +780,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "u" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- where with missing expr" WHITESPACE "\n" @@ -809,7 +809,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -836,7 +836,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -856,7 +856,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -876,7 +876,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -906,7 +906,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -936,7 +936,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- join after the where" WHITESPACE "\n" @@ -981,7 +981,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- having after order by instead of before" WHITESPACE "\n" @@ -1061,7 +1061,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select end" WHITESPACE "\n" @@ -1071,7 +1071,7 @@ SOURCE_FILE WHITESPACE "\n" COMMIT END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select analyze/analyse" WHITESPACE "\n" @@ -1081,7 +1081,7 @@ SOURCE_FILE WHITESPACE "\n" ANALYZE ANALYZE_KW "analyze" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1089,7 +1089,7 @@ SOURCE_FILE WHITESPACE "\n" ANALYZE ANALYSE_KW "analyse" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select with" WHITESPACE "\n\n" @@ -1131,7 +1131,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- trailing comma at EOF" WHITESPACE "\n" @@ -1243,10 +1243,6 @@ error[syntax-error]: unexpected trailing comma ╭▸ 52 │ select cast(x as t(a, b,)); ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -56 │ select select; - ╰╴ ━ error[syntax-error]: unexpected trailing comma ╭▸ 59 │ select a, from t; @@ -1263,20 +1259,6 @@ error[syntax-error]: expected an expression, found END_KW ╭▸ 68 │ select case when 1 then 2 else end; ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -71 │ select - │ ┏━━━━━━━┛ -72 │ ┃ create table users (); - ╰╴┗━┛ -error[syntax-error]: expected SEMICOLON - ╭▸ -76 │ select - ╰╴ ━ -error[syntax-error]: expected SEMICOLON - ╭▸ -80 │ select - ╰╴ ━ error[syntax-error]: expected expression but got AND_KW ╭▸ 84 │ select from t where and c > 10; @@ -1309,30 +1291,6 @@ error[syntax-error]: HAVING must appear before ORDER BY ╭▸ 103 │ having a > 10; ╰╴━ -error[syntax-error]: expected SEMICOLON - ╭▸ -106 │ select - │ ┏━━━━━━━┛ -107 │ ┃ end; - ╰╴┗━┛ -error[syntax-error]: expected SEMICOLON - ╭▸ -110 │ select - │ ┏━━━━━━━┛ -111 │ ┃ analyze; - ╰╴┗━┛ -error[syntax-error]: expected SEMICOLON - ╭▸ -113 │ select - │ ┏━━━━━━━┛ -114 │ ┃ analyse; - ╰╴┗━┛ -error[syntax-error]: expected SEMICOLON - ╭▸ -118 │ select - │ ┏━━━━━━━┛ -119 │ ┃ with t as (select 1) - ╰╴┗━┛ error[syntax-error]: unexpected trailing comma ╭▸ 123 │ select 1, diff --git a/crates/squawk_parser/tests/snapshots/tests__select_funcs_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_funcs_ok.snap index fc9c1be09..5215d6a6a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_funcs_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_funcs_ok.snap @@ -25,7 +25,7 @@ SOURCE_FILE LITERAL STRING "'b'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -53,7 +53,7 @@ SOURCE_FILE NAME_REF NFC_KW "nfc" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -73,7 +73,7 @@ SOURCE_FILE NAME_REF NFD_KW "nfd" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -93,7 +93,7 @@ SOURCE_FILE NAME_REF NFKC_KW "nfkc" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -113,7 +113,7 @@ SOURCE_FILE NAME_REF NFKD_KW "nfkd" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- nullif" WHITESPACE "\n" @@ -135,7 +135,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- coalesce" WHITESPACE "\n" @@ -157,7 +157,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -189,7 +189,7 @@ SOURCE_FILE LITERAL STRING "'foo'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- greater" WHITESPACE "\n" @@ -211,7 +211,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -243,7 +243,7 @@ SOURCE_FILE LITERAL INT_NUMBER "0" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- least" WHITESPACE "\n" @@ -265,7 +265,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -297,7 +297,7 @@ SOURCE_FILE LITERAL INT_NUMBER "0" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- merge_action" WHITESPACE "\n" @@ -313,7 +313,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n\n" COMMENT "-- overlay" WHITESPACE "\n" @@ -345,7 +345,7 @@ SOURCE_FILE NAME_REF IDENT "d" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -370,7 +370,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -383,7 +383,7 @@ SOURCE_FILE OVERLAY_KW "overlay" L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -416,7 +416,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- position" WHITESPACE "\n" @@ -438,7 +438,7 @@ SOURCE_FILE LITERAL STRING "'bar'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -474,7 +474,7 @@ SOURCE_FILE LITERAL STRING "' '" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -494,7 +494,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- trim" WHITESPACE "\n" @@ -518,7 +518,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -537,7 +537,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -554,7 +554,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -571,7 +571,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -588,7 +588,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -603,7 +603,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- substring_fn" WHITESPACE "\n" @@ -630,7 +630,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -655,7 +655,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -675,7 +675,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -695,7 +695,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -721,7 +721,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -764,7 +764,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -787,7 +787,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xmlconcat" WHITESPACE "\n" @@ -809,7 +809,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xmlelement" WHITESPACE "\n" @@ -828,7 +828,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -864,7 +864,7 @@ SOURCE_FILE IDENT "b" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -893,7 +893,7 @@ SOURCE_FILE NAME_REF IDENT "g" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -937,7 +937,7 @@ SOURCE_FILE NAME_REF IDENT "g" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xmlexists" WHITESPACE "\n" @@ -960,7 +960,7 @@ SOURCE_FILE LITERAL STRING "'bar'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -986,7 +986,7 @@ SOURCE_FILE WHITESPACE " " REF_KW "ref" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1012,7 +1012,7 @@ SOURCE_FILE NAME_REF IDENT "bar" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1043,7 +1043,7 @@ SOURCE_FILE WHITESPACE " " VALUE_KW "value" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xmlforest" WHITESPACE "\n" @@ -1072,7 +1072,7 @@ SOURCE_FILE NAME_REF IDENT "buzz" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xmlparse" WHITESPACE "\n" @@ -1095,7 +1095,7 @@ SOURCE_FILE WHITESPACE " " WHITESPACE_KW "whitespace" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1116,7 +1116,7 @@ SOURCE_FILE WHITESPACE " " WHITESPACE_KW "whitespace" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xmlpi" WHITESPACE "\n" @@ -1135,7 +1135,7 @@ SOURCE_FILE NAME IDENT "foo" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1156,7 +1156,7 @@ SOURCE_FILE NAME_REF IDENT "bar" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xml_root" WHITESPACE "\n" @@ -1179,7 +1179,7 @@ SOURCE_FILE NAME_REF IDENT "foo" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1201,7 +1201,7 @@ SOURCE_FILE WHITESPACE " " VALUE_KW "value" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1227,7 +1227,7 @@ SOURCE_FILE WHITESPACE " " YES_KW "yes" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1253,7 +1253,7 @@ SOURCE_FILE WHITESPACE " " NO_KW "no" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1281,7 +1281,7 @@ SOURCE_FILE WHITESPACE " " VALUE_KW "value" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- xml_serialize" WHITESPACE "\n" @@ -1310,7 +1310,7 @@ SOURCE_FILE WHITESPACE " " INDENT_KW "indent" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1339,7 +1339,7 @@ SOURCE_FILE WHITESPACE " " INDENT_KW "indent" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_object" WHITESPACE "\n" @@ -1354,7 +1354,7 @@ SOURCE_FILE JSON_OBJECT_KW "json_object" L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1369,7 +1369,7 @@ SOURCE_FILE LITERAL STRING "'{a, 1, b, \"def\", c, 3.5}'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1388,7 +1388,7 @@ SOURCE_FILE LITERAL STRING "'{bar}'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1423,7 +1423,7 @@ SOURCE_FILE STRING "'bar'" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1454,7 +1454,7 @@ SOURCE_FILE LITERAL STRING "'b'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1483,7 +1483,7 @@ SOURCE_FILE LITERAL STRING "'b'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1513,7 +1513,7 @@ SOURCE_FILE NAME_REF IDENT "utf8" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1538,7 +1538,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1565,7 +1565,7 @@ SOURCE_FILE WHITESPACE " " NULL_KW "null" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1592,7 +1592,7 @@ SOURCE_FILE WHITESPACE " " NULL_KW "null" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1636,7 +1636,7 @@ SOURCE_FILE LITERAL STRING "'c'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1670,7 +1670,7 @@ SOURCE_FILE WHITESPACE " " KEYS_KW "keys" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1702,7 +1702,7 @@ SOURCE_FILE WHITESPACE " " UNIQUE_KW "unique" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1736,7 +1736,7 @@ SOURCE_FILE WHITESPACE " " KEYS_KW "keys" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1768,7 +1768,7 @@ SOURCE_FILE WHITESPACE " " UNIQUE_KW "unique" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1797,7 +1797,7 @@ SOURCE_FILE NAME_REF IDENT "foo" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1831,7 +1831,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_array" WHITESPACE "\n" @@ -1850,7 +1850,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1877,7 +1877,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1898,7 +1898,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1923,7 +1923,7 @@ SOURCE_FILE NAME_REF IDENT "utf8" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1943,7 +1943,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1970,7 +1970,7 @@ SOURCE_FILE WHITESPACE " " NULL_KW "null" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1999,7 +1999,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2021,7 +2021,7 @@ SOURCE_FILE WHITESPACE " " NULL_KW "null" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2057,7 +2057,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2087,7 +2087,7 @@ SOURCE_FILE LITERAL STRING "'{\"a\":null}'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2119,7 +2119,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- regression test" WHITESPACE "\n" @@ -2144,7 +2144,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- query_expression" WHITESPACE "\n" @@ -2167,7 +2167,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2193,7 +2193,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2233,7 +2233,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2268,7 +2268,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2295,7 +2295,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2316,7 +2316,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2342,7 +2342,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_scalar" WHITESPACE "\n" @@ -2359,7 +2359,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- exists" WHITESPACE "\n" @@ -2401,7 +2401,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2448,7 +2448,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- exists_values" WHITESPACE "\n" @@ -2472,7 +2472,7 @@ SOURCE_FILE INT_NUMBER "1" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- exists_where" WHITESPACE "\n" @@ -2507,7 +2507,7 @@ SOURCE_FILE LITERAL NULL_KW "null" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not_exists" WHITESPACE "\n" @@ -2533,7 +2533,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function_call" WHITESPACE "\n" @@ -2557,7 +2557,7 @@ SOURCE_FILE LITERAL STRING "'y'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- named notation" WHITESPACE "\n" @@ -2591,7 +2591,7 @@ SOURCE_FILE LITERAL STRING "'bar'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- mixed notation" WHITESPACE "\n" @@ -2623,7 +2623,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- colon equals" WHITESPACE "\n" @@ -2651,7 +2651,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extract" WHITESPACE "\n" @@ -2680,7 +2680,7 @@ SOURCE_FILE LITERAL STRING "'buzz'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2699,7 +2699,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2718,7 +2718,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2737,7 +2737,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2756,7 +2756,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2775,7 +2775,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2794,7 +2794,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2813,7 +2813,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2839,7 +2839,7 @@ SOURCE_FILE LITERAL STRING "'2013-07-01 12:00:00'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2862,7 +2862,7 @@ SOURCE_FILE LITERAL STRING "'2000-12-16 12:21:13'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2885,7 +2885,7 @@ SOURCE_FILE LITERAL STRING "'2001-02-18 20:38:40'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2911,7 +2911,7 @@ SOURCE_FILE LITERAL STRING "'2006-01-01'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2937,7 +2937,7 @@ SOURCE_FILE LITERAL STRING "'2006-01-01'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2960,7 +2960,7 @@ SOURCE_FILE LITERAL STRING "'17:12:28.5'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2983,7 +2983,7 @@ SOURCE_FILE LITERAL STRING "'2001-02-16 20:38:40'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3006,7 +3006,7 @@ SOURCE_FILE LITERAL STRING "'2001-02-16 20:38:40'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3020,7 +3020,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3034,7 +3034,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3048,7 +3048,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3062,7 +3062,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3076,7 +3076,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3092,7 +3092,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "1.5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3108,7 +3108,7 @@ SOURCE_FILE LITERAL STRING "'5 minutes'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3124,7 +3124,7 @@ SOURCE_FILE LITERAL STRING "'tomorrow 03:00'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- aggs" WHITESPACE "\n" @@ -3164,7 +3164,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "vals" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- order by param 2" WHITESPACE "\n" @@ -3203,7 +3203,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "vals" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- order by param 2 const" WHITESPACE "\n" @@ -3242,7 +3242,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- order by param 1" WHITESPACE "\n" @@ -3282,7 +3282,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "\"table\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- within group" WHITESPACE "\n" @@ -3324,7 +3324,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- filter expr simple" WHITESPACE "\n" @@ -3364,7 +3364,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- filter expr" WHITESPACE "\n" @@ -3448,7 +3448,7 @@ SOURCE_FILE NAME IDENT "i" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3466,7 +3466,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3484,7 +3484,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- variadic_func_calls" WHITESPACE "\n" @@ -3506,7 +3506,7 @@ SOURCE_FILE NAME_REF IDENT "foo" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3536,7 +3536,7 @@ SOURCE_FILE INT_NUMBER "3" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- array" WHITESPACE "\n" @@ -3570,7 +3570,7 @@ SOURCE_FILE L_BRACK "[" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- named" WHITESPACE "\n" @@ -3608,7 +3608,7 @@ SOURCE_FILE INT_NUMBER "3" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- last param" WHITESPACE "\n" @@ -3652,7 +3652,7 @@ SOURCE_FILE INT_NUMBER "3" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- window_func_calls" WHITESPACE "\n" @@ -3698,7 +3698,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- window name" WHITESPACE "\n" @@ -3729,7 +3729,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- window clause" WHITESPACE "\n" @@ -3789,7 +3789,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- ^^^^^ make sure we allow using keywords" WHITESPACE "\n\n\n" @@ -3908,7 +3908,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "jt" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_table_nested_path" WHITESPACE "\n" @@ -4057,7 +4057,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "jt" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_table_without_filter" WHITESPACE "\n" @@ -4194,7 +4194,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "jt" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_table_union" WHITESPACE "\n" @@ -4370,7 +4370,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json" WHITESPACE "\n" @@ -4392,7 +4392,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4419,7 +4419,7 @@ SOURCE_FILE WHITESPACE " " KEYS_KW "keys" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4444,7 +4444,7 @@ SOURCE_FILE WHITESPACE " " UNIQUE_KW "unique" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4471,7 +4471,7 @@ SOURCE_FILE WHITESPACE " " KEYS_KW "keys" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4496,7 +4496,7 @@ SOURCE_FILE WHITESPACE " " UNIQUE_KW "unique" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_serialize" WHITESPACE "\n" @@ -4513,7 +4513,7 @@ SOURCE_FILE NAME_REF IDENT "a" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4533,7 +4533,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4557,7 +4557,7 @@ SOURCE_FILE NAME_REF IDENT "foo" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4591,7 +4591,7 @@ SOURCE_FILE WHITESPACE " " JSON_KW "json" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_query" WHITESPACE "\n" @@ -4617,7 +4617,7 @@ SOURCE_FILE WHITESPACE " " WRAPPER_KW "wrapper" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4717,7 +4717,7 @@ SOURCE_FILE ERROR_KW "error" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- json_exists" WHITESPACE "\n" @@ -4738,7 +4738,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4787,7 +4787,7 @@ SOURCE_FILE ERROR_KW "error" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- doc examples" WHITESPACE "\n" @@ -4827,7 +4827,7 @@ SOURCE_FILE NAME IDENT "x" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4861,7 +4861,7 @@ SOURCE_FILE WHITESPACE " " ERROR_KW "ERROR" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4895,7 +4895,7 @@ SOURCE_FILE WHITESPACE " " ERROR_KW "ERROR" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_value" WHITESPACE "\n" @@ -4916,7 +4916,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4987,5 +4987,5 @@ SOURCE_FILE ERROR_KW "error" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_err.snap b/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_err.snap index c9f2b2d62..25cfcfd50 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_err.snap @@ -48,7 +48,7 @@ SOURCE_FILE COMMENT "-- ^ comma missing" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_ok.snap index caa791446..055d4a992 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_graph_table_fn_ok.snap @@ -45,7 +45,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- edge left" WHITESPACE "\n" @@ -138,7 +138,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -180,7 +180,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- edge right" WHITESPACE "\n" @@ -273,7 +273,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -315,7 +315,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- edge any" WHITESPACE "\n" @@ -393,7 +393,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -434,7 +434,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- paren graph pattern" WHITESPACE "\n" @@ -498,7 +498,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -570,7 +570,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -617,7 +617,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- graph pattern qualifier" WHITESPACE "\n" @@ -667,7 +667,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -717,7 +717,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -765,7 +765,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple path factors" WHITESPACE "\n" @@ -833,7 +833,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -946,7 +946,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- complicated" WHITESPACE "\n\n" @@ -1170,7 +1170,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1353,7 +1353,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1540,7 +1540,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1744,7 +1744,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1916,7 +1916,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2119,5 +2119,5 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_into_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_into_ok.snap index e61ee7a65..54b7e8442 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_into_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_into_ok.snap @@ -39,7 +39,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2002-01-01'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- more_schema" WHITESPACE "\n" @@ -76,5 +76,5 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_ok.snap index 7b8088630..e490ee8b8 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_ok.snap @@ -16,7 +16,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" PAREN_SELECT L_PAREN "(" @@ -32,7 +32,7 @@ SOURCE_FILE INT_NUMBER "2" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -63,7 +63,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMPOUND_SELECT SELECT @@ -97,7 +97,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMPOUND_SELECT PAREN_SELECT @@ -134,7 +134,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- alias_clause" WHITESPACE "\n" @@ -195,7 +195,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- from alias" WHITESPACE "\n" @@ -220,7 +220,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- non-ident column and table names" WHITESPACE "\n" @@ -274,7 +274,7 @@ SOURCE_FILE NAME FUNCTION_KW "function" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- from column aliases" WHITESPACE "\n" @@ -310,7 +310,7 @@ SOURCE_FILE NAME IDENT "col2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- w/o as" WHITESPACE "\n" @@ -362,7 +362,7 @@ SOURCE_FILE NAME FUNCTION_KW "function" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- from alias shorthand" WHITESPACE "\n" @@ -388,7 +388,7 @@ SOURCE_FILE ALIAS NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- date_funcs" WHITESPACE "\n" @@ -402,7 +402,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_DATE_KW "current_date" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_time" WHITESPACE "\n" @@ -414,7 +414,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_TIME_KW "current_time" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -430,7 +430,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_timestamp" WHITESPACE "\n" @@ -442,7 +442,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_TIMESTAMP_KW "current_timestamp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -458,7 +458,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- localtime" WHITESPACE "\n" @@ -470,7 +470,7 @@ SOURCE_FILE TARGET NAME_REF LOCALTIME_KW "localtime" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -486,7 +486,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- localtimestamp" WHITESPACE "\n" @@ -498,7 +498,7 @@ SOURCE_FILE TARGET NAME_REF LOCALTIMESTAMP_KW "localtimestamp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -514,7 +514,7 @@ SOURCE_FILE LITERAL INT_NUMBER "5" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- array_select" WHITESPACE "\n" @@ -557,7 +557,7 @@ SOURCE_FILE LITERAL STRING "'bytea%'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -583,7 +583,7 @@ SOURCE_FILE R_PAREN ")" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- positional_param" WHITESPACE "\n" @@ -595,7 +595,7 @@ SOURCE_FILE TARGET LITERAL POSITIONAL_PARAM "$1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -623,7 +623,7 @@ SOURCE_FILE WHITESPACE " " LITERAL POSITIONAL_PARAM "$1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- any_and_all" WHITESPACE "\n" @@ -660,7 +660,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- any" WHITESPACE "\n" @@ -695,7 +695,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -740,7 +740,7 @@ SOURCE_FILE STRING "'c'" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -767,7 +767,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -820,7 +820,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -855,7 +855,7 @@ SOURCE_FILE INT_NUMBER "3" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- some" WHITESPACE "\n" @@ -884,7 +884,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -913,7 +913,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- some/all/any with expr" WHITESPACE "\n" @@ -940,7 +940,7 @@ SOURCE_FILE INT_NUMBER "1" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -965,7 +965,7 @@ SOURCE_FILE INT_NUMBER "1" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -990,7 +990,7 @@ SOURCE_FILE INT_NUMBER "1" R_BRACK "]" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all with array" WHITESPACE "\n" @@ -1043,7 +1043,7 @@ SOURCE_FILE R_BRACK "]" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- some, an alias for any" WHITESPACE "\n" @@ -1078,7 +1078,7 @@ SOURCE_FILE NAME_REF IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- any_values" WHITESPACE "\n" @@ -1134,7 +1134,7 @@ SOURCE_FILE IDENT "d" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- field_exprs" WHITESPACE "\n" @@ -1150,7 +1150,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "mycolumn" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1164,7 +1164,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "somecolumn" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1190,7 +1190,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "col3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1207,7 +1207,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "somefield" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1228,7 +1228,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "somefield" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1244,7 +1244,7 @@ SOURCE_FILE R_PAREN ")" DOT "." STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- case_expr" WHITESPACE "\n" @@ -1290,7 +1290,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- generic conditional case" WHITESPACE "\n" @@ -1357,7 +1357,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "test" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ommitted else" WHITESPACE "\n" @@ -1418,7 +1418,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "test" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- switch style case" WHITESPACE "\n" @@ -1476,7 +1476,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "test" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- col_labels" WHITESPACE "\n" @@ -1501,7 +1501,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1522,7 +1522,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1557,7 +1557,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select" WHITESPACE "\n" @@ -1571,7 +1571,7 @@ SOURCE_FILE TARGET NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -1580,7 +1580,7 @@ SOURCE_FILE SELECT_KW "select" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi columns" WHITESPACE "\n" @@ -1597,7 +1597,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_quoted_ident" WHITESPACE "\n" @@ -1620,7 +1620,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_from_clause" WHITESPACE "\n" @@ -1641,7 +1641,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from only" WHITESPACE "\n" @@ -1662,7 +1662,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from field expr" WHITESPACE "\n" @@ -1685,7 +1685,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from with everything" WHITESPACE "\n" @@ -1756,7 +1756,7 @@ SOURCE_FILE LITERAL INT_NUMBER "42" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from select stmt" WHITESPACE "\n" @@ -1783,7 +1783,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1832,7 +1832,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function call complex" WHITESPACE "\n" @@ -1887,7 +1887,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1938,7 +1938,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function with alias" WHITESPACE "\n" @@ -1972,7 +1972,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2002,7 +2002,7 @@ SOURCE_FILE ALIAS NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2045,7 +2045,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2086,7 +2086,7 @@ SOURCE_FILE NAME IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function with column def" WHITESPACE "\n" @@ -2137,7 +2137,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2186,7 +2186,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2233,7 +2233,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- function with collate" WHITESPACE "\n" @@ -2300,7 +2300,7 @@ SOURCE_FILE NAME_REF IDENT "buzz" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2355,7 +2355,7 @@ SOURCE_FILE NAME_REF IDENT "\"bar\"" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple tables" WHITESPACE "\n" @@ -2378,7 +2378,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2407,7 +2407,7 @@ SOURCE_FILE ALIAS NAME IDENT "y" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2440,7 +2440,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- from_item" WHITESPACE "\n\n" @@ -2484,7 +2484,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2524,7 +2524,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2560,7 +2560,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2580,7 +2580,7 @@ SOURCE_FILE ALIAS NAME IDENT "z" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2604,7 +2604,7 @@ SOURCE_FILE ALIAS NAME IDENT "z" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2620,7 +2620,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with_query_name" WHITESPACE "\n" @@ -2638,7 +2638,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2676,7 +2676,7 @@ SOURCE_FILE NAME IDENT "z" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2698,7 +2698,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2718,7 +2718,7 @@ SOURCE_FILE ALIAS NAME IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lateral select" WHITESPACE "\n" @@ -2769,7 +2769,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2816,7 +2816,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2845,7 +2845,7 @@ SOURCE_FILE ALIAS NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2870,7 +2870,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lateral function_name" WHITESPACE "\n\n" @@ -2894,7 +2894,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2918,7 +2918,7 @@ SOURCE_FILE ALIAS NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2964,7 +2964,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3006,7 +3006,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3046,7 +3046,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3074,7 +3074,7 @@ SOURCE_FILE NAME_REF IDENT "b" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3123,7 +3123,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3170,7 +3170,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- lateral rows from(" WHITESPACE "\n" @@ -3243,7 +3243,7 @@ SOURCE_FILE NAME_REF IDENT "int8" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3274,7 +3274,7 @@ SOURCE_FILE IDENT "b" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3299,7 +3299,7 @@ SOURCE_FILE L_PAREN "(" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3328,7 +3328,7 @@ SOURCE_FILE WITH_KW "with" WHITESPACE " " ORDINALITY_KW "ordinality" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3363,7 +3363,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3410,7 +3410,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3455,7 +3455,7 @@ SOURCE_FILE NAME IDENT "c" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_where_clause" WHITESPACE "\n" @@ -3475,7 +3475,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_limit_clause" WHITESPACE "\n" @@ -3495,7 +3495,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_orderby_clause" WHITESPACE "\n" @@ -3519,7 +3519,7 @@ SOURCE_FILE SORT_BY LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- nulls" WHITESPACE "\n" @@ -3546,7 +3546,7 @@ SOURCE_FILE NULLS_KW "nulls" WHITESPACE " " FIRST_KW "first" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3571,7 +3571,7 @@ SOURCE_FILE NULLS_KW "nulls" WHITESPACE " " LAST_KW "last" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" SELECT SELECT_CLAUSE @@ -3602,7 +3602,7 @@ SOURCE_FILE NULLS_KW "nulls" WHITESPACE " " LAST_KW "last" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_window_clause" WHITESPACE "\n" @@ -3628,7 +3628,7 @@ SOURCE_FILE WHITESPACE " " L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with window def order by" WHITESPACE "\n" @@ -3662,7 +3662,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with window def frame_start, frame_end" WHITESPACE "\n" @@ -3694,7 +3694,7 @@ SOURCE_FILE WHITESPACE " " PRECEDING_KW "preceding" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3724,7 +3724,7 @@ SOURCE_FILE WHITESPACE " " PRECEDING_KW "preceding" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3754,7 +3754,7 @@ SOURCE_FILE WHITESPACE " " PRECEDING_KW "preceding" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- with window def frame_exclusion" WHITESPACE "\n" @@ -3792,7 +3792,7 @@ SOURCE_FILE WHITESPACE " " ROW_KW "row" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3826,7 +3826,7 @@ SOURCE_FILE WHITESPACE " " GROUP_KW "group" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3860,7 +3860,7 @@ SOURCE_FILE WHITESPACE " " TIES_KW "ties" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3896,7 +3896,7 @@ SOURCE_FILE WHITESPACE " " OTHERS_KW "others" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- select_having_clause" WHITESPACE "\n" @@ -3916,7 +3916,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- select_with_group_by_clause" WHITESPACE "\n" @@ -3941,7 +3941,7 @@ SOURCE_FILE TUPLE_EXPR L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple expr" WHITESPACE "\n" @@ -3963,7 +3963,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi expr" WHITESPACE "\n" @@ -3995,7 +3995,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -4019,7 +4019,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- distinct" WHITESPACE "\n" @@ -4043,7 +4043,7 @@ SOURCE_FILE GROUPING_EXPR LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rollup" WHITESPACE "\n" @@ -4073,7 +4073,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rollup multi" WHITESPACE "\n" @@ -4112,7 +4112,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cube" WHITESPACE "\n" @@ -4148,7 +4148,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- grouping sets" WHITESPACE "\n" @@ -4216,7 +4216,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_offset_clause" WHITESPACE "\n" @@ -4236,7 +4236,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rows" WHITESPACE "\n" @@ -4256,7 +4256,7 @@ SOURCE_FILE INT_NUMBER "1" WHITESPACE " " ROW_KW "row" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4274,7 +4274,7 @@ SOURCE_FILE INT_NUMBER "1" WHITESPACE " " ROWS_KW "rows" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- select_with_fetch_clause" WHITESPACE "\n" @@ -4300,7 +4300,7 @@ SOURCE_FILE ROWS_KW "rows" WHITESPACE " " ONLY_KW "only" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- next" WHITESPACE "\n" @@ -4336,7 +4336,7 @@ SOURCE_FILE WITH_KW "with" WHITESPACE " " TIES_KW "ties" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- simple_expr" WHITESPACE "\n" @@ -4374,7 +4374,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4395,7 +4395,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_locking_clause" WHITESPACE "\n" @@ -4427,7 +4427,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple clauses" WHITESPACE "\n" @@ -4455,7 +4455,7 @@ SOURCE_FILE SKIP_KW "skip" WHITESPACE " " LOCKED_KW "locked" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select from" WHITESPACE "\n" @@ -4499,7 +4499,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- composite_types" WHITESPACE "\n" @@ -4525,7 +4525,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "1.99" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4546,7 +4546,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "1.99" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- join" WHITESPACE "\n" @@ -4601,7 +4601,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- left" WHITESPACE "\n" @@ -4640,7 +4640,7 @@ SOURCE_FILE NAME_REF IDENT "id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4682,7 +4682,7 @@ SOURCE_FILE NAME_REF IDENT "foo" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- right" WHITESPACE "\n" @@ -4721,7 +4721,7 @@ SOURCE_FILE NAME_REF IDENT "id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -4760,7 +4760,7 @@ SOURCE_FILE NAME_REF IDENT "id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi conditions" WHITESPACE "\n" @@ -4827,7 +4827,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "org_id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- nested joins" WHITESPACE "\n" @@ -4930,7 +4930,7 @@ SOURCE_FILE GROUPING_EXPR NAME_REF IDENT "f1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- using w/ join alias" WHITESPACE "\n" @@ -4973,7 +4973,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cross join" WHITESPACE "\n" @@ -5024,7 +5024,7 @@ SOURCE_FILE ALIAS NAME IDENT "s" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- inner join on true" WHITESPACE "\n" @@ -5084,7 +5084,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple join clauses" WHITESPACE "\n" @@ -5145,7 +5145,7 @@ SOURCE_FILE NAME_REF EVENT_KW "event" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- natural" WHITESPACE "\n" @@ -5174,7 +5174,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "departments" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pg docs" WHITESPACE "\n\n" @@ -5262,7 +5262,7 @@ SOURCE_FILE NAME_REF IDENT "did" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5297,7 +5297,7 @@ SOURCE_FILE NAME_REF IDENT "a_id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lateral" WHITESPACE "\n" @@ -5368,7 +5368,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- table" WHITESPACE "\n" @@ -5382,7 +5382,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- only" WHITESPACE "\n" @@ -5396,7 +5396,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- star" WHITESPACE "\n" @@ -5410,7 +5410,7 @@ SOURCE_FILE IDENT "t" WHITESPACE " " STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- nested" WHITESPACE "\n" @@ -5431,7 +5431,7 @@ SOURCE_FILE NAME_REF IDENT "t" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- union" WHITESPACE "\n" @@ -5457,7 +5457,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -5483,7 +5483,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- distinct" WHITESPACE "\n" @@ -5509,7 +5509,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi" WHITESPACE "\n" @@ -5545,7 +5545,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- intersect" WHITESPACE "\n" @@ -5571,7 +5571,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -5597,7 +5597,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- distinct" WHITESPACE "\n" @@ -5623,7 +5623,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- except" WHITESPACE "\n" @@ -5649,7 +5649,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all" WHITESPACE "\n" @@ -5675,7 +5675,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- distinct" WHITESPACE "\n" @@ -5701,7 +5701,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ident_edge_cases" WHITESPACE "\n" @@ -5721,7 +5721,7 @@ SOURCE_FILE WHITESPACE " " NAME SELECT_KW "select" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5737,7 +5737,7 @@ SOURCE_FILE WHITESPACE " " NAME FROM_KW "from" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5753,7 +5753,7 @@ SOURCE_FILE WHITESPACE " " NAME WHERE_KW "where" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5767,7 +5767,7 @@ SOURCE_FILE AS_NAME NAME ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- column labels that are also operators" WHITESPACE "\n" @@ -5783,7 +5783,7 @@ SOURCE_FILE AS_NAME NAME IS_KW "is" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5797,7 +5797,7 @@ SOURCE_FILE AS_NAME NAME AND_KW "and" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5811,7 +5811,7 @@ SOURCE_FILE AS_NAME NAME OR_KW "or" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5825,7 +5825,7 @@ SOURCE_FILE AS_NAME NAME COLLATE_KW "collate" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5843,7 +5843,7 @@ SOURCE_FILE AS_NAME NAME NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5861,7 +5861,7 @@ SOURCE_FILE AS_NAME NAME DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5871,7 +5871,7 @@ SOURCE_FILE TARGET LITERAL DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5885,7 +5885,7 @@ SOURCE_FILE AS_NAME NAME DEFAULT_KW "default" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5895,7 +5895,7 @@ SOURCE_FILE TARGET LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5909,7 +5909,7 @@ SOURCE_FILE AS_NAME NAME NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_special_funcs" WHITESPACE "\n" @@ -5939,7 +5939,7 @@ SOURCE_FILE IDENT "c" WHITESPACE " " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5972,7 +5972,7 @@ SOURCE_FILE NAME_REF TEXT_KW "text" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_role" WHITESPACE "\n" @@ -5984,7 +5984,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_ROLE_KW "current_role" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_user" WHITESPACE "\n" @@ -5996,7 +5996,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_USER_KW "current_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- session_user" WHITESPACE "\n" @@ -6008,7 +6008,7 @@ SOURCE_FILE TARGET NAME_REF SESSION_USER_KW "session_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- system_user" WHITESPACE "\n" @@ -6020,7 +6020,7 @@ SOURCE_FILE TARGET NAME_REF SYSTEM_USER_KW "system_user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- user" WHITESPACE "\n" @@ -6032,7 +6032,7 @@ SOURCE_FILE TARGET NAME_REF USER_KW "user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_catalog" WHITESPACE "\n" @@ -6044,7 +6044,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_CATALOG_KW "current_catalog" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- current_schema" WHITESPACE "\n" @@ -6056,7 +6056,7 @@ SOURCE_FILE TARGET NAME_REF CURRENT_SCHEMA_KW "current_schema" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- order_by_with_custom_op" WHITESPACE "\n" @@ -6093,7 +6093,7 @@ SOURCE_FILE R_ANGLE ">" R_ANGLE ">" R_ANGLE ">" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- order_by_regression" WHITESPACE "\n" @@ -6245,7 +6245,7 @@ SOURCE_FILE SORT_BY NAME_REF DAY_KW "day" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select with uescape;" WHITESPACE "\n" @@ -6261,7 +6261,7 @@ SOURCE_FILE UESCAPE_KW "UESCAPE" WHITESPACE " " STRING "'!'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -6275,7 +6275,7 @@ SOURCE_FILE UESCAPE_KW "UESCAPE" WHITESPACE " " STRING "'!'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select with uescape cast" WHITESPACE "\n" @@ -6307,7 +6307,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select with uescape on qualified field" WHITESPACE "\n" @@ -6334,7 +6334,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_from_user_table" WHITESPACE "\n" @@ -6352,7 +6352,7 @@ SOURCE_FILE FROM_ITEM NAME_REF USER_KW "user" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select with aggregates" WHITESPACE "\n" @@ -6415,5 +6415,5 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "varchar_tbl" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_operators_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_operators_ok.snap index c07e478ec..7710830b9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_operators_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_operators_ok.snap @@ -21,7 +21,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- or" WHITESPACE "\n" @@ -39,7 +39,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not" WHITESPACE "\n" @@ -54,7 +54,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not is null" WHITESPACE "\n" @@ -75,7 +75,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -91,7 +91,7 @@ SOURCE_FILE IDENT "x" WHITESPACE " " ISNULL_KW "isnull" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- geo_operators" WHITESPACE "\n\n" @@ -125,7 +125,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- concat" WHITESPACE "\n" @@ -157,7 +157,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(2,2),(3,3),(4,4)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subtract" WHITESPACE "\n" @@ -189,7 +189,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiply" WHITESPACE "\n" @@ -221,7 +221,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(3.0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -266,7 +266,7 @@ SOURCE_FILE INT_NUMBER "45" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- divide" WHITESPACE "\n" @@ -298,7 +298,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2.0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -343,7 +343,7 @@ SOURCE_FILE INT_NUMBER "45" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- length" WHITESPACE "\n" @@ -368,7 +368,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(0,0),(1,0),(1,1)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- center point" WHITESPACE "\n" @@ -392,7 +392,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- number of points" WHITESPACE "\n" @@ -415,7 +415,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'((1,0),(0,1),(-1,0))'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- point intersection" WHITESPACE "\n" @@ -448,7 +448,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(1,0),(0,1)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- box intersection" WHITESPACE "\n" @@ -481,7 +481,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(1,1),(-2,-2)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- closest point" WHITESPACE "\n" @@ -515,7 +515,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(2,0),(0,2)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- distance between" WHITESPACE "\n" @@ -550,7 +550,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'<(5,0),1>'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first contains" WHITESPACE "\n" @@ -584,7 +584,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(1,1)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first contained in second" WHITESPACE "\n" @@ -618,7 +618,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'<(0,0),2>'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- objects overlap" WHITESPACE "\n" @@ -652,7 +652,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- object strictly left" WHITESPACE "\n" @@ -686,7 +686,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'<(5,0),1>'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- object strictly right" WHITESPACE "\n" @@ -720,7 +720,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'<(0,0),1>'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first extended to right of second" WHITESPACE "\n" @@ -754,7 +754,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first extends to left of second" WHITESPACE "\n" @@ -788,7 +788,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first strictly below second" WHITESPACE "\n" @@ -823,7 +823,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(5,5),(3,4)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first strictly above second" WHITESPACE "\n" @@ -858,7 +858,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(5,5),(3,4)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first doesn't extend above second" WHITESPACE "\n" @@ -893,7 +893,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first doesn't extend below second" WHITESPACE "\n" @@ -928,7 +928,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first below second" WHITESPACE "\n" @@ -962,7 +962,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'((2,2),(1,1))'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first above second" WHITESPACE "\n" @@ -996,7 +996,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'((1,1),(0,0))'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- objects intersect" WHITESPACE "\n" @@ -1030,7 +1030,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(2,2),(-2,-2)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- line horizontal" WHITESPACE "\n" @@ -1054,7 +1054,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(-1,0),(1,0)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- points horizontally aligned" WHITESPACE "\n" @@ -1088,7 +1088,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- line vertical" WHITESPACE "\n" @@ -1112,7 +1112,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(-1,0),(1,0)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- points vertically aligned" WHITESPACE "\n" @@ -1146,7 +1146,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'(0,0)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lines perpendicular" WHITESPACE "\n" @@ -1181,7 +1181,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(0,0),(1,0)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- lines parallel" WHITESPACE "\n" @@ -1216,7 +1216,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'[(-1,2),(1,2)]'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- objects the same" WHITESPACE "\n" @@ -1250,7 +1250,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'((1,1),(0,0))'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- network_operators" WHITESPACE "\n\n" @@ -1287,7 +1287,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'192.168.1/24'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subnet contain or equal subnet" WHITESPACE "\n" @@ -1322,7 +1322,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'192.168.1/24'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- fts_operators" WHITESPACE "\n\n" @@ -1350,7 +1350,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "tsquery" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subnet contain or equal subnet" WHITESPACE "\n" @@ -1385,7 +1385,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'192.168.1/24'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- array_operators" WHITESPACE "\n" @@ -1427,7 +1427,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first array (as a set) contained by the second (as a set)?" WHITESPACE "\n" @@ -1473,7 +1473,7 @@ SOURCE_FILE LITERAL INT_NUMBER "6" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is there any overlap" WHITESPACE "\n" @@ -1510,7 +1510,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- concat" WHITESPACE "\n" @@ -1577,7 +1577,7 @@ SOURCE_FILE INT_NUMBER "0" R_BRACK "]" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- starts with" WHITESPACE "\n" @@ -1597,7 +1597,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'alph'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- array_access" WHITESPACE "\n" @@ -1616,7 +1616,7 @@ SOURCE_FILE LITERAL INT_NUMBER "0" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- slicing" WHITESPACE "\n" @@ -1644,7 +1644,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- omitted bounds" WHITESPACE "\n" @@ -1668,7 +1668,7 @@ SOURCE_FILE INT_NUMBER "2" COLON ":" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- omitted part 2" WHITESPACE "\n" @@ -1692,7 +1692,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- string_operators" WHITESPACE "\n" @@ -1714,7 +1714,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'greSQL'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1732,7 +1732,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "42" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- normalization check" WHITESPACE "\n" @@ -1750,7 +1750,7 @@ SOURCE_FILE IS_KW "is" WHITESPACE " " NORMALIZED_KW "normalized" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1769,7 +1769,7 @@ SOURCE_FILE NFC_KW "nfc" WHITESPACE " " NORMALIZED_KW "normalized" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1788,7 +1788,7 @@ SOURCE_FILE NFD_KW "nfd" WHITESPACE " " NORMALIZED_KW "normalized" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1807,7 +1807,7 @@ SOURCE_FILE NFKC_KW "nfkc" WHITESPACE " " NORMALIZED_KW "normalized" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1826,7 +1826,7 @@ SOURCE_FILE NFKD_KW "nfkd" WHITESPACE " " NORMALIZED_KW "normalized" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1847,7 +1847,7 @@ SOURCE_FILE NFD_KW "nfd" WHITESPACE " " NORMALIZED_KW "normalized" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pattern_matching" WHITESPACE "\n" @@ -1867,7 +1867,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'bar'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1889,7 +1889,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'#'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- not like" WHITESPACE "\n" @@ -1910,7 +1910,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'bar'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1935,7 +1935,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'#'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ilike" WHITESPACE "\n" @@ -1953,7 +1953,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'bar'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -1975,7 +1975,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'#'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- not ilike" WHITESPACE "\n" @@ -1996,7 +1996,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'bar'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2021,7 +2021,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'#'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ~~" WHITESPACE "\n" @@ -2041,7 +2041,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- !~~" WHITESPACE "\n" @@ -2062,7 +2062,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- similar to" WHITESPACE "\n" @@ -2083,7 +2083,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'abc'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2108,7 +2108,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'#'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -2129,7 +2129,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'abc'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2156,7 +2156,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'#'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- posix regex" WHITESPACE "\n" @@ -2177,7 +2177,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'f.*'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- string matches regex case insensitive" WHITESPACE "\n" @@ -2197,7 +2197,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- string does not match regex case sensitive" WHITESPACE "\n" @@ -2217,7 +2217,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- string does not match regex case insensitive" WHITESPACE "\n" @@ -2238,7 +2238,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- compare_operators" WHITESPACE "\n" @@ -2258,7 +2258,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- greater than" WHITESPACE "\n" @@ -2276,7 +2276,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- less than or equal to" WHITESPACE "\n" @@ -2294,7 +2294,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- greater than or equal to" WHITESPACE "\n" @@ -2312,7 +2312,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "7" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- equal" WHITESPACE "\n" @@ -2330,7 +2330,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "0" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not equal" WHITESPACE "\n" @@ -2348,7 +2348,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2364,7 +2364,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- between (inclusive of the range endpoints)" WHITESPACE "\n" @@ -2387,7 +2387,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2416,7 +2416,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not between (the negation of between)" WHITESPACE "\n" @@ -2441,7 +2441,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2472,7 +2472,7 @@ SOURCE_FILE ARG_LIST L_PAREN "(" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- between symmetric (between, after sorting the two endpoint values)" WHITESPACE "\n" @@ -2497,7 +2497,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not between symmetric (not between, after sorting the two endpoint values)" WHITESPACE "\n" @@ -2524,7 +2524,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is distinct from (not equal, treating null as a comparable value)" WHITESPACE "\n" @@ -2547,7 +2547,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is not distinct from (equal, treating null as a comparable value)" WHITESPACE "\n" @@ -2572,7 +2572,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- at time zone" WHITESPACE "\n" @@ -2595,7 +2595,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'UTC'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is null" WHITESPACE "\n" @@ -2613,7 +2613,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is not null" WHITESPACE "\n" @@ -2634,7 +2634,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- isnull (non-standard syntax)" WHITESPACE "\n" @@ -2649,7 +2649,7 @@ SOURCE_FILE INT_NUMBER "1" WHITESPACE " " ISNULL_KW "isnull" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- notnull (non-standard syntax)" WHITESPACE "\n" @@ -2664,7 +2664,7 @@ SOURCE_FILE STRING "'foo'" WHITESPACE " " NOTNULL_KW "notnull" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is true" WHITESPACE "\n" @@ -2682,7 +2682,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is not true" WHITESPACE "\n" @@ -2703,7 +2703,7 @@ SOURCE_FILE WHITESPACE " " LITERAL TRUE_KW "true" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is false" WHITESPACE "\n" @@ -2721,7 +2721,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is not false" WHITESPACE "\n" @@ -2742,7 +2742,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FALSE_KW "false" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is unknown" WHITESPACE "\n" @@ -2760,7 +2760,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF UNKNOWN_KW "unknown" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- is not unknown" WHITESPACE "\n" @@ -2781,7 +2781,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF UNKNOWN_KW "unknown" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- math_operators" WHITESPACE "\n" @@ -2801,7 +2801,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- unary plus" WHITESPACE "\n" @@ -2816,7 +2816,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FLOAT_NUMBER "3.5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subtraction" WHITESPACE "\n" @@ -2834,7 +2834,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- negation" WHITESPACE "\n" @@ -2854,7 +2854,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiplication" WHITESPACE "\n" @@ -2872,7 +2872,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- division" WHITESPACE "\n" @@ -2890,7 +2890,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2906,7 +2906,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2927,7 +2927,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- modulo" WHITESPACE "\n" @@ -2945,7 +2945,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- exponentiation" WHITESPACE "\n" @@ -2963,7 +2963,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -2988,7 +2988,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- square root" WHITESPACE "\n" @@ -3005,7 +3005,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FLOAT_NUMBER "25.0" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cube root" WHITESPACE "\n" @@ -3023,7 +3023,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FLOAT_NUMBER "64.0" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- absolute value" WHITESPACE "\n" @@ -3041,7 +3041,7 @@ SOURCE_FILE MINUS "-" LITERAL FLOAT_NUMBER "5.0" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise and" WHITESPACE "\n" @@ -3060,7 +3060,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "15" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise or" WHITESPACE "\n" @@ -3079,7 +3079,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise exclusive OR" WHITESPACE "\n" @@ -3098,7 +3098,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise NOT" WHITESPACE "\n" @@ -3113,7 +3113,7 @@ SOURCE_FILE TILDE "~" LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise shift left" WHITESPACE "\n" @@ -3133,7 +3133,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "4" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise shift right" WHITESPACE "\n" @@ -3153,7 +3153,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitstring_operators" WHITESPACE "\n" @@ -3174,7 +3174,7 @@ SOURCE_FILE WHITESPACE " " LITERAL BIT_STRING "B'01101'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise or" WHITESPACE "\n" @@ -3193,7 +3193,7 @@ SOURCE_FILE WHITESPACE " " LITERAL BIT_STRING "B'01101'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise xor" WHITESPACE "\n" @@ -3212,7 +3212,7 @@ SOURCE_FILE WHITESPACE " " LITERAL BIT_STRING "B'01101'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitwise not" WHITESPACE "\n" @@ -3228,7 +3228,7 @@ SOURCE_FILE WHITESPACE " " LITERAL BIT_STRING "B'10001'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitshift left" WHITESPACE "\n" @@ -3248,7 +3248,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- bitshift right" WHITESPACE "\n" @@ -3268,7 +3268,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- range" WHITESPACE "\n" @@ -3308,7 +3308,7 @@ SOURCE_FILE LITERAL INT_NUMBER "7" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json_ops" WHITESPACE "\n" @@ -3339,7 +3339,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3366,7 +3366,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'a'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extract as text" WHITESPACE "\n" @@ -3396,7 +3396,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3424,7 +3424,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extract path as json" WHITESPACE "\n" @@ -3453,7 +3453,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'{a,b,1}'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extract path as text" WHITESPACE "\n" @@ -3483,7 +3483,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'{a,b,1}'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- contains" WHITESPACE "\n" @@ -3521,7 +3521,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -3557,7 +3557,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- existence" WHITESPACE "\n" @@ -3585,7 +3585,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3611,7 +3611,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- any keys exist" WHITESPACE "\n" @@ -3648,7 +3648,7 @@ SOURCE_FILE LITERAL STRING "'d'" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- all keys exist" WHITESPACE "\n" @@ -3685,7 +3685,7 @@ SOURCE_FILE LITERAL STRING "'b'" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- concat" WHITESPACE "\n" @@ -3723,7 +3723,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3759,7 +3759,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3795,7 +3795,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3831,7 +3831,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "jsonb" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3873,7 +3873,7 @@ SOURCE_FILE NAME_REF IDENT "jsonb" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- delete" WHITESPACE "\n" @@ -3900,7 +3900,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'a'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3925,7 +3925,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'b'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3962,7 +3962,7 @@ SOURCE_FILE TEXT_KW "text" L_BRACK "[" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -3987,7 +3987,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- delete at path" WHITESPACE "\n" @@ -4016,7 +4016,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'{1,b}'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json path find" WHITESPACE "\n" @@ -4045,7 +4045,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'$.items[*] ? (@ > 2)'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- json path predicate check" WHITESPACE "\n" @@ -4074,7 +4074,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'$.a[*] > 2'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- subscripting" WHITESPACE "\n" @@ -4091,7 +4091,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4106,7 +4106,7 @@ SOURCE_FILE LITERAL STRING "'a'" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4133,7 +4133,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4160,7 +4160,7 @@ SOURCE_FILE LITERAL STRING "'a'" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4197,7 +4197,7 @@ SOURCE_FILE LITERAL STRING "'c'" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4216,7 +4216,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4240,7 +4240,7 @@ SOURCE_FILE LITERAL INT_NUMBER "34" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4258,7 +4258,7 @@ SOURCE_FILE LITERAL INT_NUMBER "42" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4285,7 +4285,7 @@ SOURCE_FILE LITERAL INT_NUMBER "42" R_BRACK "]" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_with_collate" WHITESPACE "\n" @@ -4319,7 +4319,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4348,7 +4348,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4370,7 +4370,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "ignore_accent_case" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4399,7 +4399,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4434,7 +4434,7 @@ SOURCE_FILE FROM_ITEM NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4474,7 +4474,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"fr_FR\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4494,7 +4494,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"C\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4512,7 +4512,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"C\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4530,7 +4530,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"C\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4557,7 +4557,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"C\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -4588,7 +4588,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "\"C\"" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- cube_operators" WHITESPACE "\n" @@ -4608,7 +4608,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4626,7 +4626,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4644,7 +4644,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4662,7 +4662,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4680,7 +4680,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4699,7 +4699,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4718,7 +4718,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -4737,7 +4737,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- more_ops" WHITESPACE "\n" @@ -4758,7 +4758,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- prefix operators" WHITESPACE "\n" @@ -4775,7 +4775,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- range_operators" WHITESPACE "\n" @@ -4817,7 +4817,7 @@ SOURCE_FILE LITERAL INT_NUMBER "3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- contains element" WHITESPACE "\n" @@ -4852,7 +4852,7 @@ SOURCE_FILE COLON ":" TIME_TYPE TIMESTAMP_KW "timestamp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first contained by second" WHITESPACE "\n" @@ -4892,7 +4892,7 @@ SOURCE_FILE LITERAL INT_NUMBER "7" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- element contained in range" WHITESPACE "\n" @@ -4922,7 +4922,7 @@ SOURCE_FILE LITERAL INT_NUMBER "7" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- range overlap" WHITESPACE "\n" @@ -4962,7 +4962,7 @@ SOURCE_FILE LITERAL INT_NUMBER "12" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first range strictly left" WHITESPACE "\n" @@ -5002,7 +5002,7 @@ SOURCE_FILE LITERAL INT_NUMBER "110" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first range strictly right" WHITESPACE "\n" @@ -5042,7 +5042,7 @@ SOURCE_FILE LITERAL INT_NUMBER "30" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first range not extend right of second" WHITESPACE "\n" @@ -5082,7 +5082,7 @@ SOURCE_FILE LITERAL INT_NUMBER "20" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- first range not extend left of second" WHITESPACE "\n" @@ -5122,7 +5122,7 @@ SOURCE_FILE LITERAL INT_NUMBER "10" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- ranges adjacent" WHITESPACE "\n" @@ -5163,7 +5163,7 @@ SOURCE_FILE LITERAL FLOAT_NUMBER "3.3" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- union" WHITESPACE "\n" @@ -5201,7 +5201,7 @@ SOURCE_FILE LITERAL INT_NUMBER "20" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- intersection" WHITESPACE "\n" @@ -5239,7 +5239,7 @@ SOURCE_FILE LITERAL INT_NUMBER "20" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- difference" WHITESPACE "\n" @@ -5277,7 +5277,7 @@ SOURCE_FILE LITERAL INT_NUMBER "20" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- OVERLAPS" WHITESPACE "\n" @@ -5337,7 +5337,7 @@ SOURCE_FILE LITERAL STRING "'2002-10-30'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- postfix operators" WHITESPACE "\n" @@ -5358,7 +5358,7 @@ SOURCE_FILE WHITESPACE " " LITERAL NULL_KW "null" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -5377,7 +5377,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF UNKNOWN_KW "unknown" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- single tuple" WHITESPACE "\n" @@ -5398,7 +5398,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multi tuple" WHITESPACE "\n" @@ -5427,7 +5427,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- not_in" WHITESPACE "\n" @@ -5453,7 +5453,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- single char operators that are okay in the prefix position" WHITESPACE "\n" @@ -5467,7 +5467,7 @@ SOURCE_FILE PLUS "+" NAME_REF IDENT "a" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5479,7 +5479,7 @@ SOURCE_FILE MINUS "-" NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5492,7 +5492,7 @@ SOURCE_FILE TILDE "~" NAME_REF IDENT "h" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5505,7 +5505,7 @@ SOURCE_FILE BANG "!" NAME_REF IDENT "i" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5518,7 +5518,7 @@ SOURCE_FILE AT "@" NAME_REF IDENT "j" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5531,7 +5531,7 @@ SOURCE_FILE POUND "#" NAME_REF IDENT "k" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5544,7 +5544,7 @@ SOURCE_FILE AMP "&" NAME_REF IDENT "n" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5557,7 +5557,7 @@ SOURCE_FILE PIPE "|" NAME_REF IDENT "o" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5570,7 +5570,7 @@ SOURCE_FILE QUESTION "?" NAME_REF IDENT "q" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SELECT SELECT_CLAUSE @@ -5583,5 +5583,5 @@ SOURCE_FILE BACKTICK "`" NAME_REF IDENT "p" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__select_xml_ok.snap b/crates/squawk_parser/tests/snapshots/tests__select_xml_ok.snap index e78f73277..0c3e94e20 100644 --- a/crates/squawk_parser/tests/snapshots/tests__select_xml_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__select_xml_ok.snap @@ -199,5 +199,5 @@ SOURCE_FILE NULL_KW "null" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__set_constraints_ok.snap b/crates/squawk_parser/tests/snapshots/tests__set_constraints_ok.snap index d46b2aca3..b9cdbdc72 100644 --- a/crates/squawk_parser/tests/snapshots/tests__set_constraints_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__set_constraints_ok.snap @@ -13,7 +13,7 @@ SOURCE_FILE ALL_KW "all" WHITESPACE " " DEFERRED_KW "deferred" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_CONSTRAINTS SET_KW "set" @@ -23,7 +23,7 @@ SOURCE_FILE ALL_KW "all" WHITESPACE " " IMMEDIATE_KW "immediate" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_CONSTRAINTS SET_KW "set" @@ -53,7 +53,7 @@ SOURCE_FILE IDENT "b" WHITESPACE " " IMMEDIATE_KW "immediate" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_CONSTRAINTS SET_KW "set" @@ -66,5 +66,5 @@ SOURCE_FILE IDENT "bar" WHITESPACE " " IMMEDIATE_KW "immediate" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__set_role_ok.snap b/crates/squawk_parser/tests/snapshots/tests__set_role_ok.snap index 9da32598b..e31944c74 100644 --- a/crates/squawk_parser/tests/snapshots/tests__set_role_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__set_role_ok.snap @@ -12,7 +12,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'paul'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_ROLE SET_KW "SET" @@ -20,7 +20,7 @@ SOURCE_FILE ROLE_KW "ROLE" WHITESPACE " " NONE_KW "NONE" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_ROLE SET_KW "SET" @@ -30,7 +30,7 @@ SOURCE_FILE ROLE_KW "ROLE" WHITESPACE " " NONE_KW "NONE" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_ROLE SET_KW "SET" @@ -42,7 +42,7 @@ SOURCE_FILE ROLE_REF NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_ROLE SET_KW "set" @@ -51,11 +51,11 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'fooo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_ROLE RESET_KW "RESET" WHITESPACE " " ROLE_KW "ROLE" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__set_session_auth_ok.snap b/crates/squawk_parser/tests/snapshots/tests__set_session_auth_ok.snap index 1170b6da7..11d2e0a87 100644 --- a/crates/squawk_parser/tests/snapshots/tests__set_session_auth_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__set_session_auth_ok.snap @@ -15,7 +15,7 @@ SOURCE_FILE ROLE_REF NAME_REF DECIMAL_KW "decimal" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET_SESSION_AUTH SET_KW "SET" @@ -28,7 +28,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET_SESSION_AUTH SET_KW "SET" @@ -40,7 +40,7 @@ SOURCE_FILE AUTHORIZATION_KW "AUTHORIZATION" WHITESPACE " " DEFAULT_KW "DEFAULT" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" RESET_SESSION_AUTH RESET_KW "RESET" @@ -48,5 +48,5 @@ SOURCE_FILE SESSION_KW "SESSION" WHITESPACE " " AUTHORIZATION_KW "AUTHORIZATION" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__set_transaction_ok.snap b/crates/squawk_parser/tests/snapshots/tests__set_transaction_ok.snap index 8e53fa67a..7f6541b29 100644 --- a/crates/squawk_parser/tests/snapshots/tests__set_transaction_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__set_transaction_ok.snap @@ -14,7 +14,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'00000003-0000001B-1'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_TRANSACTION SET_KW "SET" @@ -42,7 +42,7 @@ SOURCE_FILE READ_KW "read" WHITESPACE " " WRITE_KW "write" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SET_TRANSACTION SET_KW "SET" @@ -68,7 +68,7 @@ SOURCE_FILE NOT_KW "NOT" WHITESPACE " " DEFERRABLE_KW "DEFERRABLE" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- no commas is postgres historical according to gram.y" WHITESPACE "\n" @@ -94,5 +94,5 @@ SOURCE_FILE NOT_KW "NOT" WHITESPACE " " DEFERRABLE_KW "DEFERRABLE" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__show_ok.snap b/crates/squawk_parser/tests/snapshots/tests__show_ok.snap index 36a5c2fd5..a04a32b10 100644 --- a/crates/squawk_parser/tests/snapshots/tests__show_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__show_ok.snap @@ -9,7 +9,7 @@ SOURCE_FILE TIME_KW "time" WHITESPACE " " ZONE_KW "zone" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SHOW SHOW_KW "show" @@ -19,7 +19,7 @@ SOURCE_FILE ISOLATION_KW "isolation" WHITESPACE " " LEVEL_KW "level" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SHOW SHOW_KW "show" @@ -27,13 +27,13 @@ SOURCE_FILE SESSION_KW "session" WHITESPACE " " AUTHORIZATION_KW "authorization" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SHOW SHOW_KW "show" WHITESPACE " " ALL_KW "all" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SHOW SHOW_KW "show" @@ -42,7 +42,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "v" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SHOW SHOW_KW "show" @@ -56,7 +56,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "b" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SHOW SHOW_KW "show" @@ -80,5 +80,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "d" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__sql_pgq_ok.snap b/crates/squawk_parser/tests/snapshots/tests__sql_pgq_ok.snap index 6292ad049..fc61106cb 100644 --- a/crates/squawk_parser/tests/snapshots/tests__sql_pgq_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__sql_pgq_ok.snap @@ -17,7 +17,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'5s'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" SET SET_KW "set" @@ -31,7 +31,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'1s'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "--" @@ -89,7 +89,7 @@ SOURCE_FILE NUMERIC_KW "numeric" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -136,7 +136,7 @@ SOURCE_FILE VARCHAR_KW "varchar" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -178,7 +178,7 @@ SOURCE_FILE IDENT "date" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -268,7 +268,7 @@ SOURCE_FILE INTEGER_KW "integer" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "CREATE" @@ -347,7 +347,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_PROPERTY_GRAPH CREATE_KW "CREATE" @@ -435,7 +435,7 @@ SOURCE_FILE IDENT "orders" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- get list of customers active today" WHITESPACE "\n" @@ -536,7 +536,7 @@ SOURCE_FILE IDENT "customer_name" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- get list of customers active today" WHITESPACE "\n" @@ -613,7 +613,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF CURRENT_DATE_KW "current_date" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- explicit version that doesn't require primary & foreign keys" WHITESPACE "\n" @@ -824,7 +824,7 @@ SOURCE_FILE R_PAREN ")" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_PROPERTY_GRAPH CREATE_KW "CREATE" @@ -947,7 +947,7 @@ SOURCE_FILE IDENT "has_placed" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -1046,7 +1046,7 @@ SOURCE_FILE IDENT "customer_name" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" SELECT SELECT_CLAUSE @@ -1159,7 +1159,7 @@ SOURCE_FILE IDENT "account_number" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE COMMENT "--" @@ -1225,7 +1225,7 @@ SOURCE_FILE IDENT "Companies" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -1266,7 +1266,7 @@ SOURCE_FILE TEXT_KW "text" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -1345,7 +1345,7 @@ SOURCE_FILE IDENT "Companies" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_TABLE CREATE_KW "create" @@ -1435,7 +1435,7 @@ SOURCE_FILE BIGINT_KW "bigint" WHITESPACE "\n" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" CREATE_PROPERTY_GRAPH CREATE_KW "CREATE" @@ -1798,7 +1798,7 @@ SOURCE_FILE PROPERTIES_KW "PROPERTIES" WHITESPACE "\n " R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE diff --git a/crates/squawk_parser/tests/snapshots/tests__transaction_ok.snap b/crates/squawk_parser/tests/snapshots/tests__transaction_ok.snap index 0a1119ac5..b99e44949 100644 --- a/crates/squawk_parser/tests/snapshots/tests__transaction_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__transaction_ok.snap @@ -9,19 +9,19 @@ SOURCE_FILE WHITESPACE "\n" COMMIT COMMIT_KW "commit" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT COMMIT_KW "commit" WHITESPACE " " WORK_KW "work" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT COMMIT_KW "commit" WHITESPACE " " TRANSACTION_KW "transaction" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT COMMIT_KW "commit" @@ -29,7 +29,7 @@ SOURCE_FILE AND_KW "and" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT COMMIT_KW "commit" @@ -39,7 +39,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT COMMIT_KW "commit" @@ -48,25 +48,25 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'bar'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- https://www.postgresql.org/docs/17/sql-begin.html" WHITESPACE "\n" BEGIN BEGIN_KW "begin" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" BEGIN BEGIN_KW "begin" WHITESPACE " " TRANSACTION_KW "transaction" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" BEGIN BEGIN_KW "begin" WHITESPACE " " WORK_KW "work" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" BEGIN BEGIN_KW "begin" @@ -98,7 +98,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " DEFERRABLE_KW "deferrable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" BEGIN BEGIN_KW "begin" @@ -162,7 +162,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " DEFERRABLE_KW "deferrable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" BEGIN START_KW "start" @@ -196,7 +196,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " DEFERRABLE_KW "deferrable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" BEGIN START_KW "start" @@ -262,7 +262,7 @@ SOURCE_FILE NOT_KW "not" WHITESPACE " " DEFERRABLE_KW "deferrable" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" PREPARE_TRANSACTION PREPARE_KW "prepare" @@ -271,14 +271,14 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'f'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SAVEPOINT SAVEPOINT_KW "savepoint" WHITESPACE " " NAME IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" RELEASE_SAVEPOINT RELEASE_KW "release" @@ -287,14 +287,14 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" RELEASE_SAVEPOINT RELEASE_KW "release" WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ROLLBACK ROLLBACK_KW "rollback" @@ -305,7 +305,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -318,7 +318,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -331,7 +331,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -340,7 +340,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -351,7 +351,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -362,23 +362,23 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "foo" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMIT END_KW "end" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT END_KW "end" WHITESPACE " " WORK_KW "work" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT END_KW "end" WHITESPACE " " TRANSACTION_KW "transaction" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT END_KW "end" @@ -386,7 +386,7 @@ SOURCE_FILE AND_KW "and" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMIT END_KW "end" @@ -396,23 +396,23 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ROLLBACK ABORT_KW "abort" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ABORT_KW "abort" WHITESPACE " " WORK_KW "work" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ABORT_KW "abort" WHITESPACE " " TRANSACTION_KW "transaction" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ABORT_KW "abort" @@ -420,7 +420,7 @@ SOURCE_FILE AND_KW "and" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ABORT_KW "abort" @@ -430,23 +430,23 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" ROLLBACK ROLLBACK_KW "rollback" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" WHITESPACE " " WORK_KW "work" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" WHITESPACE " " TRANSACTION_KW "transaction" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -454,7 +454,7 @@ SOURCE_FILE AND_KW "and" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -464,7 +464,7 @@ SOURCE_FILE NO_KW "no" WHITESPACE " " CHAIN_KW "chain" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" ROLLBACK ROLLBACK_KW "rollback" @@ -473,5 +473,5 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'foo'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap b/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap index 24203d78c..3038c70c4 100644 --- a/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap @@ -24,7 +24,7 @@ SOURCE_FILE IDENTITY_KW "identity" WHITESPACE "\n" CASCADE_KW "cascade" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- multiple_tables" WHITESPACE "\n" @@ -55,7 +55,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- rest" WHITESPACE "\n" @@ -68,7 +68,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" TRUNCATE TRUNCATE_KW "truncate" @@ -83,7 +83,7 @@ SOURCE_FILE CONTINUE_KW "continue" WHITESPACE " " IDENTITY_KW "identity" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" TRUNCATE TRUNCATE_KW "truncate" @@ -100,5 +100,5 @@ SOURCE_FILE IDENTITY_KW "identity" WHITESPACE " " RESTRICT_KW "restrict" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__unlisten_ok.snap b/crates/squawk_parser/tests/snapshots/tests__unlisten_ok.snap index ad81d6d31..2a22798a2 100644 --- a/crates/squawk_parser/tests/snapshots/tests__unlisten_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__unlisten_ok.snap @@ -10,11 +10,11 @@ SOURCE_FILE WHITESPACE " " NAME_REF VIRTUAL_KW "virtual" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UNLISTEN UNLISTEN_KW "unlisten" WHITESPACE " " STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__update_err.snap b/crates/squawk_parser/tests/snapshots/tests__update_err.snap index d50e341df..df9bf8f8e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__update_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__update_err.snap @@ -41,7 +41,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- ^ missing comma" WHITESPACE "\n\n" @@ -79,7 +79,7 @@ SOURCE_FILE SET_EXPR LITERAL INT_NUMBER "2" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- ^ missing comma" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__update_ok.snap b/crates/squawk_parser/tests/snapshots/tests__update_ok.snap index 6186dac2d..cd4fe156f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__update_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__update_ok.snap @@ -42,7 +42,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "5" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- no where" WHITESPACE "\n" @@ -75,7 +75,7 @@ SOURCE_FILE WHITESPACE " " LITERAL FLOAT_NUMBER "1.10" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- set muliple" WHITESPACE "\n" @@ -138,7 +138,7 @@ SOURCE_FILE WHITESPACE " " LITERAL INT_NUMBER "0" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- sub_select" WHITESPACE "\n" @@ -176,7 +176,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- with_stmt" WHITESPACE "\n" @@ -251,7 +251,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "foo_id" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- based_on_schema" WHITESPACE "\n" @@ -422,7 +422,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "bar" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pg_docs" WHITESPACE "\n" @@ -461,7 +461,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'Drama'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -541,7 +541,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2003-07-03'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -639,7 +639,7 @@ SOURCE_FILE TARGET NAME_REF IDENT "prcp" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -721,7 +721,7 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'2003-07-03'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -795,7 +795,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "sales_person" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -866,7 +866,7 @@ SOURCE_FILE LITERAL STRING "'Acme Corporation'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -939,7 +939,7 @@ SOURCE_FILE NAME_REF IDENT "sales_person" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -1003,7 +1003,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "sales_person" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -1128,11 +1128,11 @@ SOURCE_FILE NAME_REF IDENT "group_id" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" BEGIN BEGIN_KW "BEGIN" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- other operations" WHITESPACE "\n" @@ -1141,7 +1141,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "sp1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" INSERT INSERT_KW "INSERT" @@ -1165,7 +1165,7 @@ SOURCE_FILE LITERAL STRING "'24'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- Assume the above fails because of a unique key violation," WHITESPACE "\n" @@ -1178,7 +1178,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "sp1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" UPDATE UPDATE_KW "UPDATE" @@ -1221,13 +1221,13 @@ SOURCE_FILE WHITESPACE " " LITERAL STRING "'Chateau Lafite 2003'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" COMMENT "-- continue with other operations, and eventually" WHITESPACE "\n" COMMIT COMMIT_KW "COMMIT" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "UPDATE" @@ -1262,7 +1262,7 @@ SOURCE_FILE WHITESPACE " " NAME_REF IDENT "c_films" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE WITH_CLAUSE @@ -1416,7 +1416,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "ctid" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n" COMMENT "-- returning_with_old_new" WHITESPACE "\n" @@ -1541,7 +1541,7 @@ SOURCE_FILE WHITESPACE " " NAME IDENT "change" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" UPDATE UPDATE_KW "update" @@ -1607,5 +1607,5 @@ SOURCE_FILE IDENT "n" DOT "." STAR "*" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__vacuum_err.snap b/crates/squawk_parser/tests/snapshots/tests__vacuum_err.snap index 4b1eae8be..1cd9d4ee0 100644 --- a/crates/squawk_parser/tests/snapshots/tests__vacuum_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__vacuum_err.snap @@ -25,7 +25,7 @@ SOURCE_FILE LITERAL TRUE_KW "true" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: expected COMMA diff --git a/crates/squawk_parser/tests/snapshots/tests__vacuum_ok.snap b/crates/squawk_parser/tests/snapshots/tests__vacuum_ok.snap index 232a2ac7b..f9dcb423e 100644 --- a/crates/squawk_parser/tests/snapshots/tests__vacuum_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__vacuum_ok.snap @@ -7,7 +7,7 @@ SOURCE_FILE WHITESPACE "\n" VACUUM VACUUM_KW "vacuum" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pg_docs" WHITESPACE "\n" @@ -31,7 +31,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "onek" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- full" WHITESPACE "\n" @@ -232,7 +232,7 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "t1" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- pre_pg_9_syntax" WHITESPACE "\n" @@ -281,5 +281,5 @@ SOURCE_FILE PATH_SEGMENT NAME_REF IDENT "c" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_parser/tests/snapshots/tests__values_err.snap b/crates/squawk_parser/tests/snapshots/tests__values_err.snap index b7facad43..4e715446b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__values_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__values_err.snap @@ -23,7 +23,7 @@ SOURCE_FILE LITERAL INT_NUMBER "1" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- extra comma, aka missing tuple" WHITESPACE "\n" @@ -45,7 +45,7 @@ SOURCE_FILE LITERAL INT_NUMBER "2" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n" --- error[syntax-error]: unexpected trailing comma diff --git a/crates/squawk_parser/tests/snapshots/tests__values_ok.snap b/crates/squawk_parser/tests/snapshots/tests__values_ok.snap index 657306d08..5a12c1d79 100644 --- a/crates/squawk_parser/tests/snapshots/tests__values_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__values_ok.snap @@ -40,7 +40,7 @@ SOURCE_FILE LITERAL STRING "'three'" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- union_with_select" WHITESPACE "\n" @@ -107,7 +107,7 @@ SOURCE_FILE TARGET LITERAL STRING "'three'" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n\n\n\n" COMMENT "-- insert_values" WHITESPACE "\n" @@ -177,7 +177,7 @@ SOURCE_FILE LITERAL DEFAULT_KW "DEFAULT" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- in_select_from_position" WHITESPACE "\n" @@ -290,7 +290,7 @@ SOURCE_FILE DOT "." NAME_REF IDENT "kind" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- update_from" WHITESPACE "\n" @@ -429,7 +429,7 @@ SOURCE_FILE DOT "." NAME_REF TARGET_KW "target" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- select_from_in" WHITESPACE "\n" @@ -491,7 +491,7 @@ SOURCE_FILE STRING "'192.168.1.43'" R_PAREN ")" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- union" WHITESPACE "\n" @@ -525,7 +525,7 @@ SOURCE_FILE LITERAL INT_NUMBER "4" R_PAREN ")" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" COMMENT "-- union_select_values" WHITESPACE "\n" @@ -563,7 +563,7 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" SELECT SELECT_CLAUSE @@ -601,5 +601,5 @@ SOURCE_FILE TARGET LITERAL INT_NUMBER "3" - SEMICOLON ";" + SEMICOLON ";" WHITESPACE "\n\n" diff --git a/crates/squawk_syntax/src/ast/generated/nodes.rs b/crates/squawk_syntax/src/ast/generated/nodes.rs index ed35eabf1..532367ad0 100644 --- a/crates/squawk_syntax/src/ast/generated/nodes.rs +++ b/crates/squawk_syntax/src/ast/generated/nodes.rs @@ -387,6 +387,10 @@ impl AlterAggregate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn aggregate_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AGGREGATE_KW) } @@ -445,6 +449,10 @@ impl AlterCollation { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -518,6 +526,10 @@ impl AlterConversion { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -565,6 +577,10 @@ impl AlterDatabase { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -596,6 +612,10 @@ impl AlterDefaultPrivileges { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -643,6 +663,10 @@ impl AlterDomain { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -670,6 +694,10 @@ impl AlterEventTrigger { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -709,6 +737,10 @@ impl AlterExtension { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -740,6 +772,10 @@ impl AlterForeignDataWrapper { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -787,6 +823,10 @@ impl AlterForeignTable { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -834,6 +874,10 @@ impl AlterFunction { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -865,6 +909,10 @@ impl AlterGroup { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn add_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ADD_KW) } @@ -912,6 +960,10 @@ impl AlterIndex { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -959,6 +1011,10 @@ impl AlterLanguage { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -973,6 +1029,10 @@ pub struct AlterLargeObject { pub(crate) syntax: SyntaxNode, } impl AlterLargeObject { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) @@ -1017,6 +1077,10 @@ impl AlterMaterializedView { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -1072,6 +1136,10 @@ impl AlterOperator { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1107,6 +1175,10 @@ impl AlterOperatorClass { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1158,6 +1230,10 @@ impl AlterOperatorFamily { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1243,6 +1319,10 @@ impl AlterPolicy { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1290,6 +1370,10 @@ impl AlterProcedure { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1321,6 +1405,10 @@ impl AlterPropertyGraph { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1344,6 +1432,10 @@ impl AlterPublication { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1363,6 +1455,10 @@ impl AlterRole { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1406,6 +1502,10 @@ impl AlterRoutine { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1437,6 +1537,10 @@ impl AlterRule { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1468,6 +1572,10 @@ impl AlterSchema { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1491,6 +1599,10 @@ impl AlterSequence { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1514,6 +1626,10 @@ impl AlterServer { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1560,6 +1676,10 @@ impl AlterStatistics { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1579,6 +1699,10 @@ impl AlterSubscription { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1593,6 +1717,10 @@ pub struct AlterSystem { pub(crate) syntax: SyntaxNode, } impl AlterSystem { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) @@ -1621,6 +1749,10 @@ impl AlterTable { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1656,6 +1788,10 @@ impl AlterTablespace { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1687,6 +1823,10 @@ impl AlterTextSearchConfiguration { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1730,6 +1870,10 @@ impl AlterTextSearchDictionary { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1765,6 +1909,10 @@ impl AlterTextSearchParser { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1800,6 +1948,10 @@ impl AlterTextSearchTemplate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1843,6 +1995,10 @@ impl AlterTrigger { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1894,6 +2050,10 @@ impl AlterType { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1913,6 +2073,10 @@ impl AlterUser { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -1940,6 +2104,10 @@ impl AlterUserMapping { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -2010,6 +2178,10 @@ impl AlterView { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn alter_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALTER_KW) } @@ -2033,6 +2205,10 @@ impl Analyze { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn analyse_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ANALYSE_KW) } @@ -2394,6 +2570,10 @@ impl Begin { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn begin_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::BEGIN_KW) } @@ -2411,25 +2591,6 @@ impl Begin { } } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct BeginFuncOption { - pub(crate) syntax: SyntaxNode, -} -impl BeginFuncOption { - #[inline] - pub fn return_func_option(&self) -> Option { - support::child(&self.syntax) - } - #[inline] - pub fn stmt(&self) -> Option { - support::child(&self.syntax) - } - #[inline] - pub fn semicolon_token(&self) -> Option { - support::token(&self.syntax, SyntaxKind::SEMICOLON) - } -} - #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct BeginFuncOptionList { pub(crate) syntax: SyntaxNode, @@ -2519,6 +2680,10 @@ impl Call { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn call_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CALL_KW) } @@ -2834,6 +2999,10 @@ pub struct Checkpoint { pub(crate) syntax: SyntaxNode, } impl Checkpoint { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn checkpoint_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CHECKPOINT_KW) @@ -2850,6 +3019,10 @@ impl Close { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn close_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CLOSE_KW) } @@ -2877,6 +3050,10 @@ impl Cluster { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cluster_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CLUSTER_KW) } @@ -3117,6 +3294,10 @@ impl CommentOn { support::token(&self.syntax, SyntaxKind::COMMA) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn access_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ACCESS_KW) } @@ -3348,6 +3529,10 @@ impl Commit { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn and_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AND_KW) } @@ -3382,6 +3567,10 @@ pub struct CompoundSelect { pub(crate) syntax: SyntaxNode, } impl CompoundSelect { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) @@ -3684,6 +3873,10 @@ impl Copy { support::token(&self.syntax, SyntaxKind::R_PAREN) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn binary_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::BINARY_KW) } @@ -3772,6 +3965,10 @@ impl CreateAccessMethod { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn access_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ACCESS_KW) } @@ -3815,6 +4012,10 @@ impl CreateAggregate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn aggregate_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AGGREGATE_KW) } @@ -3838,6 +4039,10 @@ impl CreateCast { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -3885,6 +4090,10 @@ impl CreateCollation { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn collation_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::COLLATION_KW) } @@ -3908,6 +4117,10 @@ impl CreateConversion { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn conversion_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONVERSION_KW) } @@ -3947,6 +4160,10 @@ impl CreateDatabase { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4040,6 +4257,10 @@ impl CreateDomain { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -4075,7 +4296,11 @@ impl CreateEventTrigger { support::child(&self.syntax) } #[inline] - pub fn create_token(&self) -> Option { + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] + pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } #[inline] @@ -4118,6 +4343,10 @@ impl CreateExtension { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4145,6 +4374,10 @@ impl CreateForeignDataWrapper { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4200,6 +4433,10 @@ impl CreateForeignTable { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4239,6 +4476,10 @@ impl CreateFunction { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4262,6 +4503,10 @@ impl CreateGroup { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4321,6 +4566,10 @@ impl CreateIndex { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn concurrently_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW) } @@ -4360,6 +4609,10 @@ impl CreateLanguage { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4431,6 +4684,10 @@ impl CreateMaterializedView { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -4466,6 +4723,10 @@ impl CreateOperator { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4497,6 +4758,10 @@ impl CreateOperatorClass { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -4548,6 +4813,10 @@ impl CreateOperatorFamily { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4595,6 +4864,10 @@ impl CreatePolicy { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -4654,6 +4927,10 @@ impl CreateProcedure { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4685,6 +4962,10 @@ impl CreatePropertyGraph { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4720,6 +5001,10 @@ impl CreatePublication { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -4755,6 +5040,10 @@ impl CreateRole { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4802,6 +5091,10 @@ impl CreateRule { support::token(&self.syntax, SyntaxKind::R_PAREN) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn also_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALSO_KW) } @@ -4885,6 +5178,10 @@ impl CreateSchema { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn authorization_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AUTHORIZATION_KW) } @@ -4920,6 +5217,10 @@ impl CreateSequence { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -4955,6 +5256,10 @@ impl CreateServer { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5002,6 +5307,10 @@ impl CreateStatistics { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5041,6 +5350,10 @@ impl CreateSubscription { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn connection_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONNECTION_KW) } @@ -5120,6 +5433,10 @@ impl CreateTable { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5179,6 +5496,10 @@ impl CreateTableAs { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -5214,6 +5535,10 @@ impl CreateTablespace { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5245,6 +5570,10 @@ impl CreateTextSearchConfiguration { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn configuration_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW) } @@ -5276,6 +5605,10 @@ impl CreateTextSearchDictionary { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5307,6 +5640,10 @@ impl CreateTextSearchParser { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5338,6 +5675,10 @@ impl CreateTextSearchTemplate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5393,6 +5734,10 @@ impl CreateTransform { support::token(&self.syntax, SyntaxKind::COMMA) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5472,6 +5817,10 @@ impl CreateTrigger { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn constraint_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW) } @@ -5535,6 +5884,10 @@ impl CreateType { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -5570,6 +5923,10 @@ impl CreateUser { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5601,6 +5958,10 @@ impl CreateUserMapping { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn create_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CREATE_KW) } @@ -5648,6 +6009,10 @@ impl CreateView { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -5770,6 +6135,10 @@ impl Deallocate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -5797,6 +6166,10 @@ impl Declare { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn asensitive_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ASENSITIVE_KW) } @@ -5925,6 +6298,10 @@ impl Delete { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn delete_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DELETE_KW) } @@ -6092,6 +6469,10 @@ pub struct Discard { pub(crate) syntax: SyntaxNode, } impl Discard { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) @@ -6150,6 +6531,10 @@ pub struct Do { pub(crate) syntax: SyntaxNode, } impl Do { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn do_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DO_KW) @@ -6200,6 +6585,10 @@ impl DropAccessMethod { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn access_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ACCESS_KW) } @@ -6235,6 +6624,10 @@ impl DropAggregate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn aggregate_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AGGREGATE_KW) } @@ -6293,6 +6686,10 @@ impl DropCast { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6324,6 +6721,10 @@ impl DropCollation { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6417,6 +6818,10 @@ impl DropConversion { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6448,6 +6853,10 @@ impl DropDatabase { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn database_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DATABASE_KW) } @@ -6486,6 +6895,10 @@ impl DropDomain { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6560,6 +6973,10 @@ impl DropEventTrigger { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6614,6 +7031,10 @@ impl DropExtension { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6645,6 +7066,10 @@ impl DropForeignDataWrapper { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6684,6 +7109,10 @@ impl DropForeignTable { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6719,6 +7148,10 @@ impl DropFunction { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6750,6 +7183,10 @@ impl DropGroup { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn drop_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DROP_KW) } @@ -6792,6 +7229,10 @@ impl DropIndex { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6827,6 +7268,10 @@ impl DropLanguage { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6862,6 +7307,10 @@ impl DropMaterializedView { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -6965,6 +7414,10 @@ impl DropOperator { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7000,6 +7453,10 @@ impl DropOperatorClass { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7043,6 +7500,10 @@ impl DropOperatorFamily { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7078,6 +7539,10 @@ impl DropOwned { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn by_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::BY_KW) } @@ -7117,6 +7582,10 @@ impl DropPolicy { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7148,6 +7617,10 @@ impl DropProcedure { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7179,6 +7652,10 @@ impl DropPropertyGraph { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7214,6 +7691,10 @@ impl DropPublication { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7245,6 +7726,10 @@ impl DropRole { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn drop_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DROP_KW) } @@ -7268,6 +7753,10 @@ impl DropRoutine { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7303,6 +7792,10 @@ impl DropRule { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7334,6 +7827,10 @@ impl DropSchema { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7365,6 +7862,10 @@ impl DropSequence { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7396,6 +7897,10 @@ impl DropServer { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7427,6 +7932,10 @@ impl DropStatistics { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7458,6 +7967,10 @@ impl DropSubscription { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7493,6 +8006,10 @@ impl DropTable { support::token(&self.syntax, SyntaxKind::COMMA) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7524,6 +8041,10 @@ impl DropTablespace { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn drop_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DROP_KW) } @@ -7547,6 +8068,10 @@ impl DropTextSearchConfig { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7586,6 +8111,10 @@ impl DropTextSearchDict { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7625,6 +8154,10 @@ impl DropTextSearchParser { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7664,6 +8197,10 @@ impl DropTextSearchTemplate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7707,6 +8244,10 @@ impl DropTransform { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7750,6 +8291,10 @@ impl DropTrigger { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7781,6 +8326,10 @@ impl DropType { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -7812,6 +8361,10 @@ impl DropUser { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn drop_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DROP_KW) } @@ -7839,6 +8392,10 @@ impl DropUserMapping { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn drop_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DROP_KW) } @@ -8031,6 +8588,10 @@ impl DropView { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -8518,6 +9079,10 @@ impl Execute { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn execute_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::EXECUTE_KW) } @@ -8556,6 +9121,10 @@ impl Explain { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn analyse_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ANALYSE_KW) } @@ -8740,6 +9309,10 @@ impl Fetch { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn fetch_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::FETCH_KW) } @@ -9220,6 +9793,10 @@ impl Grant { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -9593,6 +10170,10 @@ impl ImportForeignSchema { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn foreign_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::FOREIGN_KW) } @@ -9742,6 +10323,10 @@ impl Insert { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn default_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::DEFAULT_KW) } @@ -11480,6 +12065,10 @@ impl Listen { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn listen_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::LISTEN_KW) } @@ -11501,6 +12090,10 @@ impl Load { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn load_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::LOAD_KW) } @@ -11516,6 +12109,10 @@ impl Lock { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn lock_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::LOCK_KW) } @@ -11637,6 +12234,10 @@ impl Merge { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn into_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::INTO_KW) } @@ -11888,6 +12489,10 @@ impl Move { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn from_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::FROM_KW) } @@ -12308,6 +12913,10 @@ impl Notify { support::token(&self.syntax, SyntaxKind::COMMA) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn notify_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::NOTIFY_KW) } @@ -13268,6 +13877,10 @@ impl ParenSelect { pub fn r_paren_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::R_PAREN) } + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -13691,6 +14304,10 @@ impl Prepare { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -13710,6 +14327,10 @@ impl PrepareTransaction { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn prepare_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::PREPARE_KW) } @@ -13999,6 +14620,10 @@ impl Reassign { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn by_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::BY_KW) } @@ -14146,6 +14771,10 @@ impl Refresh { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn concurrently_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW) } @@ -14207,6 +14836,10 @@ impl Reindex { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn concurrently_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW) } @@ -14273,6 +14906,10 @@ impl ReleaseSavepoint { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn release_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::RELEASE_KW) } @@ -14415,6 +15052,10 @@ impl Repack { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn index_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::INDEX_KW) } @@ -14499,6 +15140,10 @@ impl Reset { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -14566,6 +15211,10 @@ pub struct ResetSessionAuth { pub(crate) syntax: SyntaxNode, } impl ResetSessionAuth { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn authorization_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AUTHORIZATION_KW) @@ -14639,6 +15288,10 @@ impl ReturnFuncOption { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn return_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::RETURN_KW) } @@ -14735,6 +15388,10 @@ impl Revoke { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -15038,6 +15695,10 @@ impl Rollback { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn abort_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ABORT_KW) } @@ -15122,6 +15783,10 @@ impl Savepoint { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn savepoint_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::SAVEPOINT_KW) } @@ -15172,6 +15837,10 @@ impl SecurityLabel { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn aggregate_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AGGREGATE_KW) } @@ -15346,6 +16015,10 @@ impl Select { pub fn with_clause(&self) -> Option { support::child(&self.syntax) } + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -15428,6 +16101,10 @@ impl SelectInto { pub fn with_clause(&self) -> Option { support::child(&self.syntax) } + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -15592,6 +16269,10 @@ impl Set { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn eq_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::EQ) } @@ -15746,6 +16427,10 @@ impl SetConstraints { support::children(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn all_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ALL_KW) } @@ -16019,6 +16704,10 @@ impl SetRole { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn local_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::LOCAL_KW) } @@ -16088,6 +16777,10 @@ impl SetSessionAuth { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn authorization_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AUTHORIZATION_KW) } @@ -16191,6 +16884,10 @@ impl SetTransaction { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn as_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::AS_KW) } @@ -16297,6 +16994,10 @@ pub struct Show { pub(crate) syntax: SyntaxNode, } impl Show { + #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } #[inline] pub fn show_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::SHOW_KW) @@ -16634,6 +17335,10 @@ impl Table { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn table_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::TABLE_KW) } @@ -17022,6 +17727,10 @@ impl Truncate { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn cascade_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::CASCADE_KW) } @@ -17138,6 +17847,10 @@ impl Unlisten { support::token(&self.syntax, SyntaxKind::STAR) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn unlisten_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::UNLISTEN_KW) } @@ -17192,6 +17905,10 @@ impl Update { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn update_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::UPDATE_KW) } @@ -17302,6 +18019,10 @@ impl Vacuum { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn analyse_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::ANALYSE_KW) } @@ -17390,6 +18111,10 @@ impl Values { support::child(&self.syntax) } #[inline] + pub fn semicolon_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::SEMICOLON) + } + #[inline] pub fn values_token(&self) -> Option { support::token(&self.syntax, SyntaxKind::VALUES_KW) } @@ -18574,6 +19299,12 @@ pub enum AlterTypeAction { DropAttribute(DropAttribute), } +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub enum BeginFuncOption { + ReturnFuncOption(ReturnFuncOption), + Stmt(Stmt), +} + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ColumnConstraint { CheckConstraint(CheckConstraint), @@ -20527,24 +21258,6 @@ impl AstNode for Begin { &self.syntax } } -impl AstNode for BeginFuncOption { - #[inline] - fn can_cast(kind: SyntaxKind) -> bool { - kind == SyntaxKind::BEGIN_FUNC_OPTION - } - #[inline] - fn cast(syntax: SyntaxNode) -> Option { - if Self::can_cast(syntax.kind()) { - Some(Self { syntax }) - } else { - None - } - } - #[inline] - fn syntax(&self) -> &SyntaxNode { - &self.syntax - } -} impl AstNode for BeginFuncOptionList { #[inline] fn can_cast(kind: SyntaxKind) -> bool { @@ -32648,6 +33361,40 @@ impl From for AlterTypeAction { AlterTypeAction::DropAttribute(node) } } +impl AstNode for BeginFuncOption { + #[inline] + fn can_cast(kind: SyntaxKind) -> bool { + matches!(kind, SyntaxKind::RETURN_FUNC_OPTION) + } + #[inline] + fn cast(syntax: SyntaxNode) -> Option { + let res = match syntax.kind() { + SyntaxKind::RETURN_FUNC_OPTION => { + BeginFuncOption::ReturnFuncOption(ReturnFuncOption { syntax }) + } + _ => { + if let Some(result) = Stmt::cast(syntax) { + return Some(BeginFuncOption::Stmt(result)); + } + return None; + } + }; + Some(res) + } + #[inline] + fn syntax(&self) -> &SyntaxNode { + match self { + BeginFuncOption::ReturnFuncOption(it) => &it.syntax, + BeginFuncOption::Stmt(it) => it.syntax(), + } + } +} +impl From for BeginFuncOption { + #[inline] + fn from(node: ReturnFuncOption) -> BeginFuncOption { + BeginFuncOption::ReturnFuncOption(node) + } +} impl AstNode for ColumnConstraint { #[inline] fn can_cast(kind: SyntaxKind) -> bool { diff --git a/crates/squawk_syntax/src/postgresql.ungram b/crates/squawk_syntax/src/postgresql.ungram index 80cf345b8..0d57c532c 100644 --- a/crates/squawk_syntax/src/postgresql.ungram +++ b/crates/squawk_syntax/src/postgresql.ungram @@ -859,7 +859,7 @@ TableList = Truncate = 'truncate' 'table'? TableList ('restart' 'identity' | 'continue' 'identity')? - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? EmptyStmt = ';' @@ -1045,7 +1045,7 @@ ParenSelect = WithClause? '(' select:SelectVariant - ')' + ')' ';'? Select = WithClause? @@ -1060,7 +1060,7 @@ Select = LimitClause? FetchClause? OffsetClause? - FilterClause? + FilterClause? ';'? Serializable = 'isolation' 'level' 'serializable' @@ -1102,37 +1102,37 @@ TransactionModeList = Begin = ('begin' ('work' | 'transaction') | 'start' 'transaction') - TransactionModeList? + TransactionModeList? ';'? Commit = - 'commit' (('work' | 'transaction')? ('and' 'no'? 'chain') | 'prepared' Literal) + 'commit' (('work' | 'transaction')? ('and' 'no'? 'chain') | 'prepared' Literal) ';'? Rollback = - 'rollback' ('work' | 'transaction')? ('and' 'no'? 'chain')? -| 'abort' ('work' | 'transaction')? ('and' 'no'? 'chain')? -| 'rollback' ('work' | 'transaction')? 'to' 'savepoint'? NameRef -| 'rollback' 'prepared' Literal + 'rollback' ('work' | 'transaction')? ('and' 'no'? 'chain')? ';'? +| 'abort' ('work' | 'transaction')? ('and' 'no'? 'chain')? ';'? +| 'rollback' ('work' | 'transaction')? 'to' 'savepoint'? NameRef ';'? +| 'rollback' 'prepared' Literal ';'? CreateAggregate = - 'create' OrReplace? 'aggregate' Path ParamList + 'create' OrReplace? 'aggregate' Path ParamList ';'? IfExists = 'if' 'exists' DropType = 'drop' 'type' IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropIndex = 'drop' 'index' 'concurrently'? IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropTable = 'drop' 'table' IfExists? (Path (',' Path)) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropDatabase = - 'drop' 'database' IfExists? NameRef + 'drop' 'database' IfExists? NameRef ';'? IfNotExists = 'if' 'not' 'exists' @@ -1187,7 +1187,7 @@ CreateTable = UsingMethod? (WithParams | WithoutOids)? OnCommit? - Tablespace? + Tablespace? ';'? CreateIndex = 'create' 'unique'? 'index' 'concurrently'? (IfNotExists? Name)? 'on' RelationName @@ -1197,7 +1197,7 @@ CreateIndex = (NullsNotDistinct | NullsDistinct)? WithParams? Tablespace? - WhereClause? + WhereClause? ';'? OrReplace = 'or' 'replace' @@ -1211,11 +1211,11 @@ BeginFuncOptionList = 'end' BeginFuncOption = - Stmt ';' -| ReturnFuncOption ';' + Stmt +| ReturnFuncOption ReturnFuncOption = - 'return' Expr + 'return' Expr ';' FuncOptionList = options:(FuncOption*) @@ -1241,7 +1241,7 @@ FuncOption = CreateFunction = - 'create' OrReplace? 'function' Path ParamList RetType? option_list:FuncOptionList + 'create' OrReplace? 'function' Path ParamList RetType? option_list:FuncOptionList ';'? SetDefault = 'set' 'default' Expr @@ -1312,10 +1312,10 @@ AlterDomainAction = | SetSchema AlterDomain = - 'alter' 'domain' Path action:AlterDomainAction + 'alter' 'domain' Path action:AlterDomainAction ';'? AlterTable = - 'alter' 'table' RelationName actions:AlterTableAction* + 'alter' 'table' RelationName actions:AlterTableAction* ';'? Revoke = 'revoke' ('grant' 'option' 'for')? @@ -1323,7 +1323,7 @@ Revoke = 'on' ('table' (Path (',' Path)*) | 'all' 'tables' 'in' 'schema' (NameRef (',' NameRef)*)) 'from' RoleRefList ('granted' 'by' RoleRef)? - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? Row = (Expr (',' Expr)*) @@ -1333,11 +1333,11 @@ RowList = Values = WithClause? - 'values' RowList + 'values' RowList ';'? Table = WithClause? - 'table' RelationName + 'table' RelationName ';'? Insert = WithClause? @@ -1345,7 +1345,7 @@ Insert = ('overriding' ('system' | 'user') 'value')? ('default' 'values' | SelectVariant) OnConflictClause? - ReturningClause? + ReturningClause? ';'? OnConflictClause = 'on' 'conflict' ConflictTarget? ConflictAction @@ -1416,7 +1416,7 @@ Update = SetClause FromClause? WhereClause? - ReturningClause? + ReturningClause? ';'? ForPortionOf = 'for' 'portion' 'of' NameRef @@ -1442,13 +1442,13 @@ Delete = Alias? UsingClause? (WhereClause | WhereCurrentOf)? - ReturningClause? + ReturningClause? ';'? WhereCurrentOf = 'where' 'current' 'of' NameRef Notify = - 'notify' NameRef (',' Literal)? + 'notify' NameRef (',' Literal)? ';'? MergeWhenMatched = 'when' 'matched' @@ -1492,7 +1492,7 @@ Merge = 'merge' 'into' RelationName Alias? UsingOnClause MergeWhenClause* - ReturningClause? + ReturningClause? ';'? Declare = 'declare' Name @@ -1502,11 +1502,11 @@ Declare = 'cursor' (('with' | 'without') 'hold')? 'for' - query:SelectVariant + query:SelectVariant ';'? Execute = - 'execute' NameRef ArgList? + 'execute' NameRef ArgList? ';'? WithData = 'with' 'data' @@ -1526,7 +1526,7 @@ CreateTableAs = Tablespace? 'as' query:SelectVariant - (WithData | WithNoData)? + (WithData | WithNoData)? ';'? CreateMaterializedView = 'create' 'materialized' 'view' IfNotExists? Path ColumnList? @@ -1535,16 +1535,16 @@ CreateMaterializedView = Tablespace? 'as' query:SelectVariant - (WithData | WithNoData)? + (WithData | WithNoData)? ';'? Savepoint = - 'savepoint' Name + 'savepoint' Name ';'? PrepareTransaction = - 'prepare' 'transaction' Literal + 'prepare' 'transaction' Literal ';'? ReleaseSavepoint = - 'release' 'savepoint' NameRef + 'release' 'savepoint' NameRef ';'? ParenExpr = '(' Expr | Select | FromItem ')' @@ -1729,6 +1729,7 @@ CompoundSelect = ('union' | 'intersect' | 'except' ) 'all'? rhs:SelectVariant + ';'? SelectInto = WithClause? @@ -1743,7 +1744,7 @@ SelectInto = LockingClause* LimitClause? OffsetClause? - FilterClause? + FilterClause? ';'? IntoClause = 'into' Persistence? 'table'? Path @@ -1836,10 +1837,10 @@ WindowSpec = '#ident'? ('partition' 'by' (Expr (',' Expr)*))? OrderByClause? FrameClause? AlterStatistics = - 'alter' 'statistics' Path + 'alter' 'statistics' Path ';'? AlterServer = - 'alter' 'server' NameRef AlterOptionList + 'alter' 'server' NameRef AlterOptionList ';'? AlterOptionList = AlterOption (',' AlterOption)* @@ -1850,15 +1851,15 @@ AlterOption = | 'drop' NameRef AlterSequence = - 'alter' 'sequence' IfExists? Path + 'alter' 'sequence' IfExists? Path ';'? AlterSchema = 'alter' 'schema' NameRef (RenameTo - | OwnerTo) + | OwnerTo) ';'? AlterRule = - 'alter' 'rule' NameRef 'on' OnTable RenameTo + 'alter' 'rule' NameRef 'on' OnTable RenameTo ';'? AlterRoutine = 'alter' 'routine' FunctionSig @@ -1870,13 +1871,13 @@ AlterRoutine = | NoDependsOnExtension | FuncOptionList ) - 'restrict'? + 'restrict'? ';'? AlterRole = - 'alter' 'role' RoleRef + 'alter' 'role' RoleRef ';'? AlterPublication = - 'alter' 'publication' NameRef + 'alter' 'publication' NameRef ';'? AlterProcedure = 'alter' 'procedure' FunctionSig @@ -1888,7 +1889,7 @@ AlterProcedure = | NoDependsOnExtension | FuncOptionList ) - 'restrict'? + 'restrict'? ';'? AlterPolicy = 'alter' 'policy' NameRef OnTable @@ -1897,8 +1898,8 @@ AlterPolicy = ('to' RoleRefList)? UsingExprClause? WithCheckExprClause? - )) - + )) ';'? + AlterOperatorFamily = 'alter' 'operator' 'family' Path 'using' NameRef @@ -1908,7 +1909,7 @@ AlterOperatorFamily = | RenameTo | OwnerTo | SetSchema - ) + ) ';'? DropOpClassOptions = 'drop' DropOpClassOptionList @@ -1934,7 +1935,7 @@ AlterOperatorClass = RenameTo | OwnerTo | SetSchema - ) + ) ';'? AlterOperator = 'alter' 'operator' OpSig @@ -1942,7 +1943,7 @@ AlterOperator = OwnerTo | SetSchema | SetOptions - ) + ) ';'? AlterMaterializedViewAction = RenameTo @@ -1963,20 +1964,20 @@ AlterMaterializedView = ( 'all' 'in' 'tablespace' NameRef OwnedByRoles? 'set' 'tablespace' Name 'nowait'? | IfExists? Path action:AlterMaterializedViewAction* - ) + ) ';'? AlterLargeObject = - 'alter' 'large' 'object' + 'alter' 'large' 'object' ';'? AlterLanguage = 'alter' 'language' NameRef - (RenameTo | OwnerTo)? + (RenameTo | OwnerTo)? ';'? AlterIndex = 'alter' 'index' ( 'all' 'in' 'tablespace' Path OwnedByRoles? 'set' 'tablespace' NameRef 'nowait'? | IfExists? Path AlterIndexAction -) +) ';'? OwnedByRoles = 'owned' 'by' RoleRefList @@ -1997,7 +1998,7 @@ AlterGroup = 'add' 'user' (NameRef (',' NameRef)*) | 'drop' 'user' (NameRef (',' NameRef)*) | RenameTo - ) + ) ';'? AlterFunction = 'alter' 'function' FunctionSig @@ -2009,7 +2010,7 @@ AlterFunction = | NoDependsOnExtension | FuncOptionList ) - 'restrict'? + 'restrict'? ';'? AlterForeignTable = 'alter' 'foreign' 'table' IfExists? RelationName @@ -2017,14 +2018,14 @@ AlterForeignTable = | RenameColumn | SetSchema | AlterTableAction* - ) + ) ';'? AlterForeignDataWrapper = 'alter' 'foreign' 'data' 'wrapper' NameRef (RenameTo | OwnerTo | FdwOptionList - )? + )? ';'? FdwOptionList = FdwOption* @@ -2040,10 +2041,10 @@ FdwOption = AlterEventTrigger = 'alter' 'event' 'trigger' NameRef - ('disable' | 'enable' | 'enable' 'replica' | 'enable' 'always' | OwnerTo | RenameTo)? + ('disable' | 'enable' | 'enable' 'replica' | 'enable' 'always' | OwnerTo | RenameTo)? ';'? AlterExtension = - 'alter' 'extension' NameRef + 'alter' 'extension' NameRef ';'? AlterDefaultPrivileges = 'alter' 'default' 'privileges' @@ -2052,7 +2053,7 @@ AlterDefaultPrivileges = ( GrantDefaultPrivileges | RevokeDefaultPrivileges - )? + )? ';'? GrantDefaultPrivileges = 'grant' Privileges 'on' PrivilegeTarget 'to' RoleRefList ('with' 'grant' 'option')? @@ -2083,7 +2084,7 @@ AlterDatabase = | ResetConfigParam | RefreshCollationVersion | CreateDatabaseOptionList - )? + )? ';'? CreateDatabaseOptionList = 'with'? CreateDatabaseOption* @@ -2113,7 +2114,7 @@ AlterConversion = RenameTo | OwnerTo | SetSchema - ) + ) ';'? AlterCollation = 'alter' 'collation' Path @@ -2121,19 +2122,19 @@ AlterCollation = | RefreshVersion | OwnerTo | SetSchema - ) + ) ';'? RefreshVersion = 'refresh' 'version' AlterAggregate = - 'alter' 'aggregate' Aggregate + 'alter' 'aggregate' Aggregate ';'? AlterSubscription = - 'alter' 'subscription' NameRef + 'alter' 'subscription' NameRef ';'? AlterSystem = - 'alter' 'system' 'set' + 'alter' 'system' 'set' ';'? AlterTablespace = 'alter' 'tablespace' Path @@ -2142,11 +2143,11 @@ AlterTablespace = | OwnerTo | SetOptions | ResetOptions - ) + ) ';'? AlterTextSearchParser = 'alter' 'text' 'search' 'parser' Path - (RenameTo | SetSchema) + (RenameTo | SetSchema) ';'? AlterTextSearchDictionary = 'alter' 'text' 'search' 'dictionary' Path @@ -2155,7 +2156,7 @@ AlterTextSearchDictionary = | OwnerTo | SetSchema | AttributeList - ) + ) ';'? AlterTextSearchConfiguration = 'alter' 'text' 'search' 'configuration' Path @@ -2163,11 +2164,11 @@ AlterTextSearchConfiguration = RenameTo | OwnerTo | SetSchema - ) + ) ';'? AlterTextSearchTemplate = 'alter' 'text' 'search' 'template' Path - (RenameTo | SetSchema) + (RenameTo | SetSchema) ';'? AlterTrigger = 'alter' 'trigger' NameRef OnTable @@ -2175,7 +2176,7 @@ AlterTrigger = RenameTo | DependsOnExtension | NoDependsOnExtension - ) + ) ';'? AlterType = 'alter' 'type' Path @@ -2188,7 +2189,7 @@ AlterType = | RenameAttribute | RenameValue | AddValue - ) + ) ';'? RenameAttribute = 'rename' 'attribute' NameRef 'to' Name @@ -2224,18 +2225,18 @@ AfterValue = 'after' Literal AlterUser = - 'alter' 'user' RoleRef + 'alter' 'user' RoleRef ';'? AlterUserMapping = - 'alter' 'user' 'mapping' 'for' RoleRef ServerName AlterOptionList + 'alter' 'user' 'mapping' 'for' RoleRef ServerName AlterOptionList ';'? AlterView = - 'alter' 'view' Path + 'alter' 'view' Path ';'? Analyze = ('analyze' | 'analyse') ('verbose' | OptionItemList)? - TableAndColumnsList? + TableAndColumnsList? ';'? // suffix it with `On` to avoid conflicting with comment nodes CommentOn = @@ -2286,13 +2287,13 @@ CommentOn = | 'view' Path ) 'is' - ('null' | Literal) + ('null' | Literal) ';'? Cluster = 'cluster' ('verbose' | OptionItemList)? Path? - (UsingMethod | OnPath)? + (UsingMethod | OnPath)? ';'? OnPath = 'on' @@ -2304,7 +2305,7 @@ Repack = TableAndColumnsList? ( 'using' 'index' NameRef? - )? + )? ';'? Persistence = Temp @@ -2324,7 +2325,7 @@ Unlogged = CreatePropertyGraph = 'create' Persistence? 'property' 'graph' Path VertexTables? - EdgeTables? + EdgeTables? ';'? VertexTables = ('vertex' | 'node') 'tables' '(' (VertexTableDef (',' VertexTableDef)*) ')' @@ -2388,7 +2389,7 @@ DestVertexTable = AlterPropertyGraph = 'alter' 'property' 'graph' IfExists? Path - AlterPropertyGraphAction + AlterPropertyGraphAction ';'? AlterPropertyGraphAction = RenameTo @@ -2437,7 +2438,7 @@ DropVertexEdgeLabelProperties = 'drop' 'properties' '(' (Name (',' Name)*) ')' ('cascade' | 'restrict')? DropPropertyGraph = - 'drop' 'property' 'graph' IfExists? Path ('cascade' | 'restrict')? + 'drop' 'property' 'graph' IfExists? Path ('cascade' | 'restrict')? ';'? GraphTableFn = 'graph_table' '(' Path 'match' PathPatternList WhereClause? 'columns' '(' ExprAsNameList ')' ')' @@ -2489,7 +2490,7 @@ GraphPatternQualifier = CreateAccessMethod = 'create' 'access' 'method' name:Path 'type' ('table' | 'index') - HandlerClause + HandlerClause ';'? HandlerClause = 'handler' Path @@ -2501,29 +2502,29 @@ CreateCast = | 'without' 'function' | 'with' 'inout' ) - ('as' 'assignment' | 'as' 'implicit')? + ('as' 'assignment' | 'as' 'implicit')? ';'? CreateCollation = - 'create' 'collation' Path + 'create' 'collation' Path ';'? CreateConversion = 'create' 'default'? 'conversion' Path 'for' Literal 'to' Literal - 'from' Path + 'from' Path ';'? CreateDatabase = - 'create' 'database' Name CreateDatabaseOptionList + 'create' 'database' Name CreateDatabaseOptionList ';'? CreateDomain = - 'create' 'domain' Path 'as'? Type Collate? Constraint* + 'create' 'domain' Path 'as'? Type Collate? Constraint* ';'? CreateEventTrigger = 'create' 'event' 'trigger' Name 'on' NameRef EventTriggerWhenClause? 'execute' ('function' | 'procedure') - CallExpr + CallExpr ';'? EventTriggerWhenClause = 'when' (EventTriggerWhen ('and' EventTriggerWhen)*) @@ -2534,7 +2535,7 @@ EventTriggerWhen = CreateForeignDataWrapper = 'create' 'foreign' 'data' 'wrapper' Name FdwOptionList? - AlterOptionList? + AlterOptionList? ';'? CreateForeignTable = 'create' 'foreign' 'table' IfNotExists? Path @@ -2543,13 +2544,13 @@ CreateForeignTable = Inherits? PartitionType? ServerName - AlterOptionList? + AlterOptionList? ';'? ServerName = 'server' NameRef CreateGroup = - 'create' 'group' Name RoleOptionList + 'create' 'group' Name RoleOptionList ';'? RoleOptionList = 'with'? RoleOption* @@ -2559,25 +2560,25 @@ RoleOption = CreateLanguage = 'create' OrReplace 'trusted'? 'procedural'? 'language' Name - ('handler' Path ('inline' Path)? ('validator' Path)?)? + ('handler' Path ('inline' Path)? ('validator' Path)?)? ';'? CreateOperator = 'create' 'operator' Path? Op - AttributeList + AttributeList ';'? CreateOperatorClass = 'create' 'operator' 'class' Path 'default'? 'for' 'type' Type 'using' NameRef ('family' Path) 'as' - OperatorClassOptionList + OperatorClassOptionList ';'? OperatorClassOptionList = (OpClassOption (',' OpClassOption)*) CreateOperatorFamily = - 'create' 'operator' 'family' Path 'using' NameRef + 'create' 'operator' 'family' Path 'using' NameRef ';'? CreatePolicy = 'create' 'policy' Name OnTable @@ -2585,7 +2586,7 @@ CreatePolicy = ('for' ('all' | 'select' | 'insert' | 'update' | 'delete'))? ('to' RoleRefList)? UsingExprClause? - WithCheckExprClause? + WithCheckExprClause? ';'? AsPolicyType = 'as' '#ident' @@ -2597,12 +2598,12 @@ UsingExprClause = 'using' '(' Expr ')' CreateProcedure = - 'create' OrReplace? 'procedure' Path ParamList option_list:FuncOptionList + 'create' OrReplace? 'procedure' Path ParamList option_list:FuncOptionList ';'? CreatePublication = 'create' 'publication' Name ('for' 'all' 'tables' ExceptTableClause? | 'for' (PublicationObject (',' PublicationObject)*)) - WithParams? + WithParams? ';'? ExceptTableClause = 'except' 'table' '(' (RelationName (',' RelationName)*) ')' @@ -2613,15 +2614,15 @@ PublicationObject = | 'current_schema' CreateRole = - 'create' 'role' Name RoleOptionList + 'create' 'role' Name RoleOptionList ';'? CreateRule = 'create' OrReplace? 'rule' Name 'as' 'on' ('#ident' | 'select' | 'insert' | 'update' | 'delete') 'to' Path WhereClause? 'do' ('also' | 'instead')? ('nothing' - | '(' (RuleStmt (',' RuleStmt)*) ')' - | RuleStmt) + | '(' (RuleStmt (',' RuleStmt)*) ')' + | RuleStmt) ';'? RuleStmt = SelectVariant @@ -2632,46 +2633,46 @@ RuleStmt = CreateSequence = 'create' Persistence? 'sequence' IfNotExists? Path - SequenceOption* + SequenceOption* ';'? CreateServer = 'create' 'server' IfNotExists? Name ('type' Literal)? ('version' Literal)? 'foreign' 'data' 'wrapper' NameRef - AlterOptionList? + AlterOptionList? ';'? CreateStatistics = - 'create' 'statistics' Path ('on' (NameRef (',' NameRef)*))? FromTable? + 'create' 'statistics' Path ('on' (NameRef (',' NameRef)*))? FromTable? ';'? CreateSubscription = 'create' 'subscription' Name ('connection' Literal | 'server' NameRef) 'publication' (NameRef (',' NameRef)*) - WithParams? + WithParams? ';'? CreateTablespace = 'create' 'tablespace' Name ('owner' RoleRef)? 'location' Literal - WithParams? + WithParams? ';'? CreateTextSearchParser = - 'create' 'text' 'search' 'parser' Path AttributeList + 'create' 'text' 'search' 'parser' Path AttributeList ';'? CreateTextSearchDictionary = - 'create' 'text' 'search' 'dictionary' Path AttributeList + 'create' 'text' 'search' 'dictionary' Path AttributeList ';'? CreateTextSearchConfiguration = - 'create' 'text' 'search' 'configuration' Path AttributeList + 'create' 'text' 'search' 'configuration' Path AttributeList ';'? CreateTextSearchTemplate = - 'create' 'text' 'search' 'template' Path AttributeList + 'create' 'text' 'search' 'template' Path AttributeList ';'? CreateTransform = 'create' OrReplace? 'transform' 'for' Type 'language' language:NameRef - '(' from_func:TransformFromFunc ',' to_func:TransformToFunc ')' + '(' from_func:TransformFromFunc ',' to_func:TransformToFunc ')' ';'? TransformFromFunc = 'from' 'sql' 'with' 'function' FunctionSig @@ -2682,22 +2683,22 @@ TransformToFunc = CreateUserMapping = 'create' 'user' 'mapping' IfNotExists? 'for' RoleRef ServerName - AlterOptionList? + AlterOptionList? ';'? CreateUser = 'create' 'user' Name - RoleOptionList? + RoleOptionList? ';'? DropLanguage = 'drop' 'procedural'? 'language' IfExists? NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropGroup = - 'drop' 'group' IfExists? (NameRef (',' NameRef)*) + 'drop' 'group' IfExists? (NameRef (',' NameRef)*) ';'? DropFunction = 'drop' 'function' IfExists? FunctionSigList - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? FunctionSigList = (FunctionSig (',' FunctionSig)*) @@ -2707,61 +2708,61 @@ FunctionSig = DropForeignDataWrapper = 'drop' 'foreign' 'data' 'wrapper' IfExists? (NameRef (',' NameRef)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropForeignTable = 'drop' 'foreign' 'table' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropAccessMethod = 'drop' 'access' 'method' IfExists? NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? Aggregate = Path ParamList DropAggregate = 'drop' 'aggregate' IfExists? (Aggregate (',' Aggregate)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropCast = 'drop' 'cast' IfExists? CastSig - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? CastSig = '(' lhs:Type 'as' rhs:Type ')' DropCollation = 'drop' 'collation' IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropConversion = 'drop' 'conversion' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropDomain = 'drop' 'domain' IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropEventTrigger = 'drop' 'event' 'trigger' IfExists? NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropExtension = 'drop' 'extension' IfExists? (NameRef (',' NameRef)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropMaterializedView = 'drop' 'materialized' 'view' IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropOperatorFamily = 'drop' 'operator' 'family' IfExists? Path 'using' NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropOperator = 'drop' 'operator' IfExists? OpSigList - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? OpSigList = (OpSig (',' OpSig)*) @@ -2771,88 +2772,88 @@ OpSig = DropOperatorClass = 'drop' 'operator' 'class' IfExists? Path 'using' NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropOwned = 'drop' 'owned' 'by' RoleRefList - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropPolicy = 'drop' 'policy' IfExists? NameRef OnTable - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropProcedure = 'drop' 'procedure' IfExists? FunctionSigList - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropPublication = 'drop' 'publication' IfExists? (NameRef (',' NameRef)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropRole = - 'drop' 'role' IfExists? (NameRef (',' NameRef)*) + 'drop' 'role' IfExists? (NameRef (',' NameRef)*) ';'? DropRoutine = 'drop' 'routine' IfExists? FunctionSigList - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropRule = 'drop' 'rule' IfExists? NameRef OnTable - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropSequence = 'drop' 'sequence' IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropServer = 'drop' 'server' IfExists? NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropStatistics = 'drop' 'statistics' IfExists? (Path (',' Path)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropSubscription = 'drop' 'subscription' IfExists? NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropTablespace = - 'drop' 'tablespace' IfExists? NameRef + 'drop' 'tablespace' IfExists? NameRef ';'? DropTextSearchParser = 'drop' 'text' 'search' 'parser' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropTextSearchConfig = 'drop' 'text' 'search' 'configuration' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropTextSearchDict = 'drop' 'text' 'search' 'dictionary' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropTextSearchTemplate = 'drop' 'text' 'search' 'template' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropTransform = 'drop' 'transform' IfExists? 'for' ty:Type 'language' language:NameRef - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? DropUser = - 'drop' 'user' IfExists? (NameRef (',' NameRef)*) + 'drop' 'user' IfExists? (NameRef (',' NameRef)*) ';'? DropUserMapping = - 'drop' 'user' 'mapping' IfExists? 'for' RoleRef ServerName + 'drop' 'user' 'mapping' IfExists? 'for' RoleRef ServerName ';'? DropView = 'drop' 'view' IfExists? Path - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? Explain = 'explain' ('analyze' | 'analyse' | 'verbose')? - ExplainStmt + ExplainStmt ';'? ExplainStmt = Select @@ -2875,7 +2876,7 @@ ImportForeignSchema = (LimitToTables | ExceptTables)? 'from' ServerName IntoSchema - AlterOptionList? + AlterOptionList? ';'? LimitToTables = 'limit' 'to' (NameRef (',' NameRef)*) @@ -2887,14 +2888,14 @@ IntoSchema = 'into' NameRef Lock = - 'lock' 'table'? TableList? + 'lock' 'table'? TableList? ';'? Reassign = - 'reassign' 'owned' 'by' old_roles:RoleRefList 'to' new_roles:RoleRefList + 'reassign' 'owned' 'by' old_roles:RoleRefList 'to' new_roles:RoleRefList ';'? Refresh = 'refresh' 'materialized' 'view' 'concurrently'? Path - (WithData | WithNoData)? + (WithData | WithNoData)? ';'? Grant = 'grant' @@ -2902,7 +2903,7 @@ Grant = 'on' ('table' (Path (',' Path)*) | 'all' 'tables' 'in' 'schema' (NameRef (',' NameRef)*)) 'to' RoleRefList ('with' 'grant' 'option')? - ('granted' 'by' RoleRef)? + ('granted' 'by' RoleRef)? ';'? RevokeCommandList = (RevokeCommand (',' RevokeCommand)*) @@ -2941,7 +2942,7 @@ SecurityLabel = | 'aggregate' Aggregate ) 'is' - ('null' | Literal) + ('null' | Literal) ';'? ForProvider = 'for' Literal | NameRef @@ -2949,17 +2950,17 @@ ForProvider = SetConstraints = 'set' 'constraints' ('all' | (Path (',' Path)*)) - 'deferred' | 'immediate' + 'deferred' | 'immediate' ';'? SetRole = - 'set' ('session' | 'local')? 'role' (RoleRef | 'none')? -| 'reset' 'role' + 'set' ('session' | 'local')? 'role' (RoleRef | 'none')? ';'? +| 'reset' 'role' ';'? SetSessionAuth = - 'set' ('session' | 'local')? 'session' 'authorization' (RoleRef | Literal | 'default') + 'set' ('session' | 'local')? 'session' 'authorization' (RoleRef | Literal | 'default') ';'? ResetSessionAuth = - 'reset' 'session' 'authorization' + 'reset' 'session' 'authorization' ';'? SetTransaction = 'set' @@ -2967,19 +2968,19 @@ SetTransaction = 'session' 'characteristics' 'as' 'transaction' TransactionModeList | 'transaction' 'snapshot' Literal | 'transaction' TransactionModeList - ) + ) ';'? Reindex = - 'reindex' ('table' | 'index' | 'schema' | 'database' | 'system')? 'concurrently'? Path? + 'reindex' ('table' | 'index' | 'schema' | 'database' | 'system')? 'concurrently'? Path? ';'? CreateView = 'create' OrReplace? Persistence? 'recursive'? 'view' Path ColumnList? WithParams? 'as' query:SelectVariant - ('with' ('cascaded' | 'local')? 'check' 'option')? + ('with' ('cascaded' | 'local')? 'check' 'option')? ';'? Prepare = - 'prepare' Name 'as' PreparableStmt + 'prepare' Name 'as' PreparableStmt ';'? PreparableStmt = Select @@ -2993,37 +2994,37 @@ PreparableStmt = | Merge Unlisten = - 'unlisten' ('*' | NameRef) + 'unlisten' ('*' | NameRef) ';'? Checkpoint = - 'checkpoint' + 'checkpoint' ';'? Deallocate = - 'deallocate' ('prepare' NameRef | 'all') + 'deallocate' ('prepare' NameRef | 'all') ';'? Load = - 'load' Literal + 'load' Literal ';'? Listen = - 'listen' Name + 'listen' Name ';'? Reset = - 'reset' (NameRef | 'all') + 'reset' (NameRef | 'all') ';'? Discard = - 'discard' ('all' | 'temp' | 'temporary' | 'plans' | 'sequences') + 'discard' ('all' | 'temp' | 'temporary' | 'plans' | 'sequences') ';'? Do = - 'do' + 'do' ';'? Move = - 'move' ('from' | 'in')? NameRef + 'move' ('from' | 'in')? NameRef ';'? Fetch = - 'fetch' ('from' | 'in')? NameRef + 'fetch' ('from' | 'in')? NameRef ';'? Close = - 'close' NameRef + 'close' NameRef ';'? VacuumOptionList = '(' (VacuumOption (',' VacuumOption)*)? ')' @@ -3035,7 +3036,7 @@ Vacuum = 'verbose'? ('analyze' | 'analyse')? VacuumOptionList? - TableAndColumnsList? + TableAndColumnsList? ';'? TableAndColumnsList = TableAndColumns (',' TableAndColumns)* @@ -3054,7 +3055,7 @@ Copy = | ('to' ('stdout' | 'program'? Literal)) ) 'with'? - WhereClause? + WhereClause? ';'? CopyOptionList = '(' (CopyOption (',' CopyOption)*) ')' @@ -3063,7 +3064,7 @@ CopyOption = Name Call = - 'call' Path ArgList + 'call' Path ArgList ';'? TriggerEventUpdate = 'update' @@ -3099,7 +3100,7 @@ CreateTrigger = Referencing? ('for' 'each'? ('row' | 'statement'))? WhenCondition? - 'execute' ('function' | 'procedure') CallExpr + 'execute' ('function' | 'procedure') CallExpr ';'? WhenCondition = 'when' '(' Expr ')' @@ -3112,13 +3113,13 @@ TriggerEventList = DropSchema = 'drop' 'schema' IfExists? (NameRef (',' NameRef)*) - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? CreateSchema = - 'create' 'schema' Name ('authorization' RoleRef)? SchemaElement* -| 'create' 'schema' 'authorization' Role SchemaElement* -| 'create' 'schema' IfNotExists Name ('authorization' RoleRef)? -| 'create' 'schema' IfNotExists 'authorization' Role + 'create' 'schema' Name ('authorization' RoleRef)? SchemaElement* ';'? +| 'create' 'schema' 'authorization' Role SchemaElement* ';'? +| 'create' 'schema' IfNotExists Name ('authorization' RoleRef)? ';'? +| 'create' 'schema' IfNotExists 'authorization' Role ';'? SchemaElement = CreateTable @@ -3130,7 +3131,7 @@ SchemaElement = DropTrigger = 'drop' 'trigger' IfExists? Path OnTable - ('cascade' | 'restrict')? + ('cascade' | 'restrict')? ';'? OnTable = 'on' Path @@ -3147,7 +3148,7 @@ CreateType = ('as' 'enum' VariantList | 'as' 'range' AttributeList | 'as' ColumnList -| AttributeList) +| AttributeList) ';'? VariantList = '(' @@ -3158,7 +3159,7 @@ Variant = Literal CreateExtension = - 'create' 'extension' IfNotExists? Name + 'create' 'extension' IfNotExists? Name ';'? Set = 'set' @@ -3170,14 +3171,14 @@ Set = 'from' 'current' | (('to' | '=') (ConfigValue* | 'default') ) ) - ) + ) ';'? ConfigValue = Literal | NameRef Show = - 'show' + 'show' ';'? LanguageFuncOption = 'language' NameRef diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_aggregate_params_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_aggregate_params_validation.snap index 75e004849..ce5bf7557 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_aggregate_params_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_aggregate_params_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/alter_aggregate_params.sql SOURCE_FILE@0..101 COMMENT@0..38 "-- can't have out par ..." WHITESPACE@38..39 "\n" - CREATE_AGGREGATE@39..99 + CREATE_AGGREGATE@39..100 CREATE_KW@39..45 "create" WHITESPACE@45..46 " " AGGREGATE_KW@46..55 "aggregate" @@ -69,7 +69,7 @@ SOURCE_FILE@0..101 IDENT@96..97 "t" WHITESPACE@97..98 "\n" R_PAREN@98..99 ")" - SEMICOLON@99..100 ";" + SEMICOLON@99..100 ";" WHITESPACE@100..101 "\n" error[syntax-error]: Out params are not allowed with aggregates. diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_table_ok_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_table_ok_validation.snap index 9a1a167d9..40b80fc0a 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_table_ok_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__alter_table_ok_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/alter_table_ok.sql SOURCE_FILE@0..470 COMMENT@0..66 "-- regression test fo ..." WHITESPACE@66..67 "\n" - ALTER_TABLE@67..243 + ALTER_TABLE@67..244 ALTER_KW@67..72 "alter" WHITESPACE@72..73 " " TABLE_KW@73..78 "table" @@ -72,7 +72,7 @@ SOURCE_FILE@0..470 NOT_KW@234..237 "not" WHITESPACE@237..238 " " VALID_KW@238..243 "valid" - SEMICOLON@243..244 ";" + SEMICOLON@243..244 ";" WHITESPACE@244..246 "\n\n" ALTER_TABLE@246..469 ALTER_KW@246..251 "alter" diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__array_exprs_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__array_exprs_validation.snap index 4e21ef41e..fe7a785aa 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__array_exprs_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__array_exprs_validation.snap @@ -3,7 +3,7 @@ source: crates/squawk_syntax/src/test.rs input_file: crates/squawk_syntax/test_data/validation/array_exprs.sql --- SOURCE_FILE@0..42 - SELECT@0..22 + SELECT@0..23 SELECT_CLAUSE@0..22 SELECT_KW@0..6 "select" WHITESPACE@6..7 " " @@ -22,9 +22,9 @@ SOURCE_FILE@0..42 LITERAL@18..21 STRING@18..21 "'c'" R_BRACK@21..22 "]" - SEMICOLON@22..23 ";" + SEMICOLON@22..23 ";" WHITESPACE@23..25 "\n\n" - SELECT@25..40 + SELECT@25..41 SELECT_CLAUSE@25..40 SELECT_KW@25..31 "select" WHITESPACE@31..32 " " @@ -42,7 +42,7 @@ SOURCE_FILE@0..42 INT_NUMBER@37..38 "2" R_BRACK@38..39 "]" R_BRACK@39..40 "]" - SEMICOLON@40..41 ";" + SEMICOLON@40..41 ";" WHITESPACE@41..42 "\n" error[syntax-error]: Array missing ARRAY keyword. diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__bit_string_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__bit_string_validation.snap index 3a315c497..3593e9c75 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__bit_string_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__bit_string_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/bit_string.sql SOURCE_FILE@0..120 COMMENT@0..5 "-- ok" WHITESPACE@5..6 "\n" - SELECT@6..18 + SELECT@6..19 SELECT_CLAUSE@6..18 SELECT_KW@6..12 "select" WHITESPACE@12..13 " " @@ -13,9 +13,9 @@ SOURCE_FILE@0..120 TARGET@13..18 LITERAL@13..18 BIT_STRING@13..18 "b'01'" - SEMICOLON@18..19 ";" + SEMICOLON@18..19 ";" WHITESPACE@19..20 "\n" - SELECT@20..34 + SELECT@20..35 SELECT_CLAUSE@20..34 SELECT_KW@20..26 "select" WHITESPACE@26..27 " " @@ -23,9 +23,9 @@ SOURCE_FILE@0..120 TARGET@27..34 LITERAL@27..34 BIT_STRING@27..34 "B'1010'" - SEMICOLON@34..35 ";" + SEMICOLON@34..35 ";" WHITESPACE@35..36 "\n" - SELECT@36..46 + SELECT@36..47 SELECT_CLAUSE@36..46 SELECT_KW@36..42 "select" WHITESPACE@42..43 " " @@ -33,11 +33,11 @@ SOURCE_FILE@0..120 TARGET@43..46 LITERAL@43..46 BIT_STRING@43..46 "b''" - SEMICOLON@46..47 ";" + SEMICOLON@46..47 ";" WHITESPACE@47..49 "\n\n" COMMENT@49..58 "-- errors" WHITESPACE@58..59 "\n" - SELECT@59..72 + SELECT@59..73 SELECT_CLAUSE@59..72 SELECT_KW@59..65 "select" WHITESPACE@65..66 " " @@ -45,9 +45,9 @@ SOURCE_FILE@0..120 TARGET@66..72 LITERAL@66..72 BIT_STRING@66..72 "b'012'" - SEMICOLON@72..73 ";" + SEMICOLON@72..73 ";" WHITESPACE@73..74 "\n" - SELECT@74..87 + SELECT@74..88 SELECT_CLAUSE@74..87 SELECT_KW@74..80 "select" WHITESPACE@80..81 " " @@ -55,9 +55,9 @@ SOURCE_FILE@0..120 TARGET@81..87 LITERAL@81..87 BIT_STRING@81..87 "b'01A'" - SEMICOLON@87..88 ";" + SEMICOLON@87..88 ";" WHITESPACE@88..89 "\n" - SELECT@89..102 + SELECT@89..103 SELECT_CLAUSE@89..102 SELECT_KW@89..95 "select" WHITESPACE@95..96 " " @@ -65,9 +65,9 @@ SOURCE_FILE@0..120 TARGET@96..102 LITERAL@96..102 BIT_STRING@96..102 "b'0 1'" - SEMICOLON@102..103 ";" + SEMICOLON@102..103 ";" WHITESPACE@103..104 "\n" - SELECT@104..118 + SELECT@104..119 SELECT_CLAUSE@104..118 SELECT_KW@104..110 "select" WHITESPACE@110..111 " " @@ -75,7 +75,7 @@ SOURCE_FILE@0..120 TARGET@111..118 LITERAL@111..118 BIT_STRING@111..118 "B'2345'" - SEMICOLON@118..119 ";" + SEMICOLON@118..119 ";" WHITESPACE@119..120 "\n" error[syntax-error]: "2" is not a valid binary digit diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__byte_string_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__byte_string_validation.snap index a4530b6bc..3e1b37b46 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__byte_string_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__byte_string_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/byte_string.sql SOURCE_FILE@0..124 COMMENT@0..5 "-- ok" WHITESPACE@5..6 "\n" - SELECT@6..18 + SELECT@6..19 SELECT_CLAUSE@6..18 SELECT_KW@6..12 "select" WHITESPACE@12..13 " " @@ -13,9 +13,9 @@ SOURCE_FILE@0..124 TARGET@13..18 LITERAL@13..18 BYTE_STRING@13..18 "x'1F'" - SEMICOLON@18..19 ";" + SEMICOLON@18..19 ";" WHITESPACE@19..20 "\n" - SELECT@20..38 + SELECT@20..39 SELECT_CLAUSE@20..38 SELECT_KW@20..26 "select" WHITESPACE@26..27 " " @@ -23,9 +23,9 @@ SOURCE_FILE@0..124 TARGET@27..38 LITERAL@27..38 BYTE_STRING@27..38 "X'deadBEEF'" - SEMICOLON@38..39 ";" + SEMICOLON@38..39 ";" WHITESPACE@39..40 "\n" - SELECT@40..50 + SELECT@40..51 SELECT_CLAUSE@40..50 SELECT_KW@40..46 "select" WHITESPACE@46..47 " " @@ -33,11 +33,11 @@ SOURCE_FILE@0..124 TARGET@47..50 LITERAL@47..50 BYTE_STRING@47..50 "x''" - SEMICOLON@50..51 ";" + SEMICOLON@50..51 ";" WHITESPACE@51..53 "\n\n" COMMENT@53..62 "-- errors" WHITESPACE@62..63 "\n" - SELECT@63..76 + SELECT@63..77 SELECT_CLAUSE@63..76 SELECT_KW@63..69 "select" WHITESPACE@69..70 " " @@ -45,9 +45,9 @@ SOURCE_FILE@0..124 TARGET@70..76 LITERAL@70..76 BYTE_STRING@70..76 "x'1FZ'" - SEMICOLON@76..77 ";" + SEMICOLON@76..77 ";" WHITESPACE@77..78 "\n" - SELECT@78..90 + SELECT@78..91 SELECT_CLAUSE@78..90 SELECT_KW@78..84 "select" WHITESPACE@84..85 " " @@ -55,9 +55,9 @@ SOURCE_FILE@0..124 TARGET@85..90 LITERAL@85..90 BYTE_STRING@85..90 "x'1G'" - SEMICOLON@90..91 ";" + SEMICOLON@90..91 ";" WHITESPACE@91..92 "\n" - SELECT@92..106 + SELECT@92..107 SELECT_CLAUSE@92..106 SELECT_KW@92..98 "select" WHITESPACE@98..99 " " @@ -65,9 +65,9 @@ SOURCE_FILE@0..124 TARGET@99..106 LITERAL@99..106 BYTE_STRING@99..106 "x'1G2H'" - SEMICOLON@106..107 ";" + SEMICOLON@106..107 ";" WHITESPACE@107..108 "\n" - SELECT@108..122 + SELECT@108..123 SELECT_CLAUSE@108..122 SELECT_KW@108..114 "select" WHITESPACE@114..115 " " @@ -75,7 +75,7 @@ SOURCE_FILE@0..124 TARGET@115..122 LITERAL@115..122 BYTE_STRING@115..122 "X'GHIJ'" - SEMICOLON@122..123 ";" + SEMICOLON@122..123 ";" WHITESPACE@123..124 "\n" error[syntax-error]: "Z" is not a valid hexadecimal digit diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_aggregate_params_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_aggregate_params_validation.snap index 19653f424..6da5e4449 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_aggregate_params_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_aggregate_params_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/create_aggregate_params.sq SOURCE_FILE@0..91 COMMENT@0..38 "-- can't have out par ..." WHITESPACE@38..39 "\n" - ALTER_AGGREGATE@39..88 + ALTER_AGGREGATE@39..89 ALTER_KW@39..44 "alter" WHITESPACE@44..45 " " AGGREGATE_KW@45..54 "aggregate" @@ -47,7 +47,7 @@ SOURCE_FILE@0..91 WHITESPACE@86..87 " " NAME_REF@87..88 IDENT@87..88 "s" - SEMICOLON@88..89 ";" + SEMICOLON@88..89 ";" WHITESPACE@89..91 "\n\n" error[syntax-error]: Out params are not allowed with aggregates. diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_table_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_table_validation.snap index 695d02491..5a2332419 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_table_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__create_table_validation.snap @@ -3,7 +3,7 @@ source: crates/squawk_syntax/src/test.rs input_file: crates/squawk_syntax/test_data/validation/create_table.sql --- SOURCE_FILE@0..75 - CREATE_TABLE@0..73 + CREATE_TABLE@0..74 CREATE_KW@0..6 "create" WHITESPACE@6..7 " " TABLE_KW@7..12 "table" @@ -34,7 +34,7 @@ SOURCE_FILE@0..75 COMMENT@42..71 "-- ^^^^ miss ..." WHITESPACE@71..72 "\n" R_PAREN@72..73 ")" - SEMICOLON@73..74 ";" + SEMICOLON@73..74 ";" WHITESPACE@74..75 "\n" error[syntax-error]: Missing column type diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__custom_operators_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__custom_operators_validation.snap index 6b25f5f6f..dd8d33a9e 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__custom_operators_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__custom_operators_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/custom_operators.sql SOURCE_FILE@0..108 COMMENT@0..30 "-- disallowed prefix ..." WHITESPACE@30..31 "\n" - SELECT@31..40 + SELECT@31..41 SELECT_CLAUSE@31..40 SELECT_KW@31..37 "select" WHITESPACE@37..38 " " @@ -15,9 +15,9 @@ SOURCE_FILE@0..108 TARGET@39..40 NAME_REF@39..40 IDENT@39..40 "c" - SEMICOLON@40..41 ";" + SEMICOLON@40..41 ";" WHITESPACE@41..42 "\n" - SELECT@42..51 + SELECT@42..52 SELECT_CLAUSE@42..51 SELECT_KW@42..48 "select" WHITESPACE@48..49 " " @@ -28,9 +28,9 @@ SOURCE_FILE@0..108 SLASH@49..50 "/" NAME_REF@50..51 IDENT@50..51 "d" - SEMICOLON@51..52 ";" + SEMICOLON@51..52 ";" WHITESPACE@52..53 "\n" - SELECT@53..62 + SELECT@53..63 SELECT_CLAUSE@53..62 SELECT_KW@53..59 "select" WHITESPACE@59..60 " " @@ -41,9 +41,9 @@ SOURCE_FILE@0..108 L_ANGLE@60..61 "<" NAME_REF@61..62 IDENT@61..62 "e" - SEMICOLON@62..63 ";" + SEMICOLON@62..63 ";" WHITESPACE@63..64 "\n" - SELECT@64..73 + SELECT@64..74 SELECT_CLAUSE@64..73 SELECT_KW@64..70 "select" WHITESPACE@70..71 " " @@ -54,9 +54,9 @@ SOURCE_FILE@0..108 R_ANGLE@71..72 ">" NAME_REF@72..73 IDENT@72..73 "f" - SEMICOLON@73..74 ";" + SEMICOLON@73..74 ";" WHITESPACE@74..75 "\n" - SELECT@75..84 + SELECT@75..85 SELECT_CLAUSE@75..84 SELECT_KW@75..81 "select" WHITESPACE@81..82 " " @@ -67,9 +67,9 @@ SOURCE_FILE@0..108 EQ@82..83 "=" NAME_REF@83..84 IDENT@83..84 "g" - SEMICOLON@84..85 ";" + SEMICOLON@84..85 ";" WHITESPACE@85..86 "\n" - SELECT@86..95 + SELECT@86..96 SELECT_CLAUSE@86..95 SELECT_KW@86..92 "select" WHITESPACE@92..93 " " @@ -80,9 +80,9 @@ SOURCE_FILE@0..108 PERCENT@93..94 "%" NAME_REF@94..95 IDENT@94..95 "l" - SEMICOLON@95..96 ";" + SEMICOLON@95..96 ";" WHITESPACE@96..97 "\n" - SELECT@97..106 + SELECT@97..107 SELECT_CLAUSE@97..106 SELECT_KW@97..103 "select" WHITESPACE@103..104 " " @@ -93,7 +93,7 @@ SOURCE_FILE@0..108 CARET@104..105 "^" NAME_REF@105..106 IDENT@105..106 "m" - SEMICOLON@106..107 ";" + SEMICOLON@106..107 ";" WHITESPACE@107..108 "\n" error[syntax-error]: missing comma diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__drop_aggregate_params_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__drop_aggregate_params_validation.snap index ebb42c267..2c5a7b04b 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__drop_aggregate_params_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__drop_aggregate_params_validation.snap @@ -6,7 +6,7 @@ SOURCE_FILE@0..389 WHITESPACE@0..1 "\n" COMMENT@1..8 "-- full" WHITESPACE@8..9 "\n" - DROP_AGGREGATE@9..167 + DROP_AGGREGATE@9..168 DROP_KW@9..13 "drop" WHITESPACE@13..14 " " AGGREGATE_KW@14..23 "aggregate" @@ -105,11 +105,11 @@ SOURCE_FILE@0..389 R_PAREN@156..157 ")" WHITESPACE@157..160 "\n " CASCADE_KW@160..167 "cascade" - SEMICOLON@167..168 ";" + SEMICOLON@167..168 ";" WHITESPACE@168..170 "\n\n" COMMENT@170..182 "-- aggregate" WHITESPACE@182..183 "\n" - DROP_AGGREGATE@183..299 + DROP_AGGREGATE@183..300 DROP_KW@183..187 "drop" WHITESPACE@187..188 " " AGGREGATE_KW@188..197 "aggregate" @@ -184,9 +184,9 @@ SOURCE_FILE@0..389 R_PAREN@289..290 ")" WHITESPACE@290..291 " " RESTRICT_KW@291..299 "restrict" - SEMICOLON@299..300 ";" + SEMICOLON@299..300 ";" WHITESPACE@300..302 "\n\n" - DROP_AGGREGATE@302..386 + DROP_AGGREGATE@302..387 DROP_KW@302..306 "drop" WHITESPACE@306..307 " " AGGREGATE_KW@307..316 "aggregate" @@ -241,7 +241,7 @@ SOURCE_FILE@0..389 TEXT_KW@380..384 "text" WHITESPACE@384..385 "\n" R_PAREN@385..386 ")" - SEMICOLON@386..387 ";" + SEMICOLON@386..387 ";" WHITESPACE@387..389 "\n\n" error[syntax-error]: Out params are not allowed with aggregates. diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__escape_string_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__escape_string_validation.snap index f40d74a52..191d7293a 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__escape_string_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__escape_string_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/escape_string.sql SOURCE_FILE@0..148 COMMENT@0..5 "-- ok" WHITESPACE@5..6 "\n" - SELECT@6..27 + SELECT@6..28 SELECT_CLAUSE@6..27 SELECT_KW@6..12 "select" WHITESPACE@12..13 " " @@ -13,9 +13,9 @@ SOURCE_FILE@0..148 TARGET@13..27 LITERAL@13..27 ESC_STRING@13..27 "e'a\\U00000062'" - SEMICOLON@27..28 ";" + SEMICOLON@27..28 ";" WHITESPACE@28..29 "\n" - SELECT@29..44 + SELECT@29..45 SELECT_CLAUSE@29..44 SELECT_KW@29..35 "select" WHITESPACE@35..36 " " @@ -23,9 +23,9 @@ SOURCE_FILE@0..148 TARGET@36..44 LITERAL@36..44 ESC_STRING@36..44 "e'\\\\u00'" - SEMICOLON@44..45 ";" + SEMICOLON@44..45 ";" WHITESPACE@45..46 "\n" - SELECT@46..71 + SELECT@46..72 SELECT_CLAUSE@46..71 SELECT_KW@46..52 "select" WHITESPACE@52..53 " " @@ -33,11 +33,11 @@ SOURCE_FILE@0..148 TARGET@53..71 LITERAL@53..71 ESC_STRING@53..71 "e'no escapes here'" - SEMICOLON@71..72 ";" + SEMICOLON@71..72 ";" WHITESPACE@72..74 "\n\n" COMMENT@74..83 "-- errors" WHITESPACE@83..84 "\n" - SELECT@84..98 + SELECT@84..99 SELECT_CLAUSE@84..98 SELECT_KW@84..90 "select" WHITESPACE@90..91 " " @@ -45,9 +45,9 @@ SOURCE_FILE@0..148 TARGET@91..98 LITERAL@91..98 ESC_STRING@91..98 "E'\\u00'" - SEMICOLON@98..99 ";" + SEMICOLON@98..99 ";" WHITESPACE@99..100 "\n" - SELECT@100..116 + SELECT@100..117 SELECT_CLAUSE@100..116 SELECT_KW@100..106 "select" WHITESPACE@106..107 " " @@ -55,9 +55,9 @@ SOURCE_FILE@0..148 TARGET@107..116 LITERAL@107..116 ESC_STRING@107..116 "E'\\UFFFF'" - SEMICOLON@116..117 ";" + SEMICOLON@116..117 ";" WHITESPACE@117..118 "\n" - SELECT@118..146 + SELECT@118..147 SELECT_CLAUSE@118..146 SELECT_KW@118..124 "select" WHITESPACE@124..125 " " @@ -65,7 +65,7 @@ SOURCE_FILE@0..148 TARGET@125..146 LITERAL@125..146 ESC_STRING@125..146 "E'hello \\UFGFF world'" - SEMICOLON@146..147 ";" + SEMICOLON@146..147 ";" WHITESPACE@147..148 "\n" error[syntax-error]: Unicode escape requires 4 hex digits: \uXXXX diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__join_clauses_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__join_clauses_validation.snap index 2dee6b532..b7ac5f995 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__join_clauses_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__join_clauses_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/join_clauses.sql SOURCE_FILE@0..523 COMMENT@0..7 "-- errs" WHITESPACE@7..8 "\n" - SELECT@8..30 + SELECT@8..31 SELECT_CLAUSE@8..16 SELECT_KW@8..14 "select" WHITESPACE@14..15 " " @@ -28,9 +28,9 @@ SOURCE_FILE@0..523 FROM_ITEM@29..30 NAME_REF@29..30 IDENT@29..30 "u" - SEMICOLON@30..31 ";" + SEMICOLON@30..31 ";" WHITESPACE@31..33 "\n\n" - SELECT@33..60 + SELECT@33..61 SELECT_CLAUSE@33..41 SELECT_KW@33..39 "select" WHITESPACE@39..40 " " @@ -55,9 +55,9 @@ SOURCE_FILE@0..523 FROM_ITEM@59..60 NAME_REF@59..60 IDENT@59..60 "u" - SEMICOLON@60..61 ";" + SEMICOLON@60..61 ";" WHITESPACE@61..63 "\n\n" - SELECT@63..91 + SELECT@63..92 SELECT_CLAUSE@63..71 SELECT_KW@63..69 "select" WHITESPACE@69..70 " " @@ -82,9 +82,9 @@ SOURCE_FILE@0..523 FROM_ITEM@90..91 NAME_REF@90..91 IDENT@90..91 "u" - SEMICOLON@91..92 ";" + SEMICOLON@91..92 ";" WHITESPACE@92..94 "\n\n" - SELECT@94..121 + SELECT@94..122 SELECT_CLAUSE@94..102 SELECT_KW@94..100 "select" WHITESPACE@100..101 " " @@ -109,11 +109,11 @@ SOURCE_FILE@0..523 FROM_ITEM@120..121 NAME_REF@120..121 IDENT@120..121 "u" - SEMICOLON@121..122 ";" + SEMICOLON@121..122 ";" WHITESPACE@122..125 "\n\n\n" COMMENT@125..171 "-- err, can't use con ..." WHITESPACE@171..172 "\n" - SELECT@172..213 + SELECT@172..214 SELECT_CLAUSE@172..180 SELECT_KW@172..178 "select" WHITESPACE@178..179 " " @@ -148,11 +148,11 @@ SOURCE_FILE@0..523 NAME_REF@210..212 IDENT@210..212 "id" R_PAREN@212..213 ")" - SEMICOLON@213..214 ";" + SEMICOLON@213..214 ";" WHITESPACE@214..216 "\n\n" COMMENT@216..261 "-- err, can't use con ..." WHITESPACE@261..262 "\n" - SELECT@262..301 + SELECT@262..302 SELECT_CLAUSE@262..270 SELECT_KW@262..268 "select" WHITESPACE@268..269 " " @@ -187,11 +187,11 @@ SOURCE_FILE@0..523 NAME_REF@298..300 IDENT@298..300 "id" R_PAREN@300..301 ")" - SEMICOLON@301..302 ";" + SEMICOLON@301..302 ";" WHITESPACE@302..304 "\n\n" COMMENT@304..309 "-- ok" WHITESPACE@309..310 "\n" - SELECT@310..340 + SELECT@310..341 SELECT_CLAUSE@310..318 SELECT_KW@310..316 "select" WHITESPACE@316..317 " " @@ -216,9 +216,9 @@ SOURCE_FILE@0..523 FROM_ITEM@339..340 NAME_REF@339..340 IDENT@339..340 "u" - SEMICOLON@340..341 ";" + SEMICOLON@340..341 ";" WHITESPACE@341..343 "\n\n" - SELECT@343..391 + SELECT@343..392 SELECT_CLAUSE@343..351 SELECT_KW@343..349 "select" WHITESPACE@349..350 " " @@ -266,9 +266,9 @@ SOURCE_FILE@0..523 NAME_REF@388..390 IDENT@388..390 "id" R_PAREN@390..391 ")" - SEMICOLON@391..392 ";" + SEMICOLON@391..392 ";" WHITESPACE@392..394 "\n\n" - SELECT@394..431 + SELECT@394..432 SELECT_CLAUSE@394..402 SELECT_KW@394..400 "select" WHITESPACE@400..401 " " @@ -311,9 +311,9 @@ SOURCE_FILE@0..523 DOT@428..429 "." NAME_REF@429..431 IDENT@429..431 "id" - SEMICOLON@431..432 ";" + SEMICOLON@431..432 ";" WHITESPACE@432..433 "\n" - SELECT@433..463 + SELECT@433..464 SELECT_CLAUSE@433..441 SELECT_KW@433..439 "select" WHITESPACE@439..440 " " @@ -342,9 +342,9 @@ SOURCE_FILE@0..523 WHITESPACE@458..459 " " LITERAL@459..463 TRUE_KW@459..463 "true" - SEMICOLON@463..464 ";" + SEMICOLON@463..464 ";" WHITESPACE@464..466 "\n\n" - SELECT@466..521 + SELECT@466..522 SELECT_CLAUSE@466..474 SELECT_KW@466..472 "select" WHITESPACE@472..473 " " @@ -396,7 +396,7 @@ SOURCE_FILE@0..523 NAME_REF@518..520 IDENT@518..520 "id" R_PAREN@520..521 ")" - SEMICOLON@521..522 ";" + SEMICOLON@521..522 ";" WHITESPACE@522..523 "\n" error[syntax-error]: Join missing condition. diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__non_standard_param_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__non_standard_param_validation.snap index b7d99c4bc..449e374a9 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__non_standard_param_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__non_standard_param_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/non_standard_param.sql SOURCE_FILE@0..47 COMMENT@0..21 "-- invalid param type" WHITESPACE@21..22 "\n" - SELECT@22..31 + SELECT@22..32 SELECT_CLAUSE@22..31 SELECT_KW@22..28 "select" WHITESPACE@28..29 " " @@ -15,9 +15,9 @@ SOURCE_FILE@0..47 COLON@29..30 ":" NAME_REF@30..31 IDENT@30..31 "x" - SEMICOLON@31..32 ";" + SEMICOLON@31..32 ";" WHITESPACE@32..33 "\n" - SELECT@33..45 + SELECT@33..46 SELECT_CLAUSE@33..45 SELECT_KW@33..39 "select" WHITESPACE@39..40 " " @@ -28,7 +28,7 @@ SOURCE_FILE@0..47 WHITESPACE@41..42 " " NAME_REF@42..45 IDENT@42..45 "foo" - SEMICOLON@45..46 ";" + SEMICOLON@45..46 ";" WHITESPACE@46..47 "\n" error[syntax-error]: Invalid parameter type. Use positional params like $1 instead. diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_into_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_into_validation.snap index 127a8fb78..a18712eb5 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_into_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_into_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/select_into.sql SOURCE_FILE@0..858 COMMENT@0..18 "-- okay, top level" WHITESPACE@18..19 "\n" - SELECT_INTO@19..36 + SELECT_INTO@19..37 SELECT_CLAUSE@19..29 SELECT_KW@19..25 "select" WHITESPACE@25..26 " " @@ -25,9 +25,9 @@ SOURCE_FILE@0..858 PATH_SEGMENT@35..36 NAME@35..36 IDENT@35..36 "t" - SEMICOLON@36..37 ";" + SEMICOLON@36..37 ";" WHITESPACE@37..38 "\n" - COMPOUND_SELECT@38..72 + COMPOUND_SELECT@38..73 SELECT_INTO@38..55 SELECT_CLAUSE@38..48 SELECT_KW@38..44 "select" @@ -63,9 +63,9 @@ SOURCE_FILE@0..858 AS_NAME@71..72 NAME@71..72 IDENT@71..72 "a" - SEMICOLON@72..73 ";" + SEMICOLON@72..73 ";" WHITESPACE@73..74 "\n" - PAREN_SELECT@74..95 + PAREN_SELECT@74..96 L_PAREN@74..75 "(" PAREN_SELECT@75..94 L_PAREN@75..76 "(" @@ -91,9 +91,9 @@ SOURCE_FILE@0..858 IDENT@92..93 "t" R_PAREN@93..94 ")" R_PAREN@94..95 ")" - SEMICOLON@95..96 ";" + SEMICOLON@95..96 ";" WHITESPACE@96..97 "\n" - EXPLAIN@97..120 + EXPLAIN@97..121 EXPLAIN_KW@97..104 "explain" WHITESPACE@104..105 " " SELECT_INTO@105..120 @@ -112,9 +112,9 @@ SOURCE_FILE@0..858 PATH_SEGMENT@119..120 NAME@119..120 IDENT@119..120 "x" - SEMICOLON@120..121 ";" + SEMICOLON@120..121 ";" WHITESPACE@121..123 " \n" - PREPARE@123..151 + PREPARE@123..152 PREPARE_KW@123..130 "prepare" WHITESPACE@130..131 " " NAME@131..132 @@ -138,11 +138,11 @@ SOURCE_FILE@0..858 PATH_SEGMENT@150..151 NAME@150..151 IDENT@150..151 "x" - SEMICOLON@151..152 ";" + SEMICOLON@151..152 ";" WHITESPACE@152..154 "\n\n" COMMENT@154..231 "-- error, only the le ..." WHITESPACE@231..232 "\n" - COMPOUND_SELECT@232..283 + COMPOUND_SELECT@232..284 SELECT@232..242 SELECT_CLAUSE@232..242 SELECT_KW@232..238 "select" @@ -194,9 +194,9 @@ SOURCE_FILE@0..858 AS_NAME@282..283 NAME@282..283 IDENT@282..283 "a" - SEMICOLON@283..284 ";" + SEMICOLON@283..284 ";" WHITESPACE@284..285 "\n" - COMPOUND_SELECT@285..319 + COMPOUND_SELECT@285..320 SELECT@285..295 SELECT_CLAUSE@285..295 SELECT_KW@285..291 "select" @@ -232,9 +232,9 @@ SOURCE_FILE@0..858 PATH_SEGMENT@318..319 NAME@318..319 IDENT@318..319 "t" - SEMICOLON@319..320 ";" + SEMICOLON@319..320 ";" WHITESPACE@320..321 "\n" - COMPOUND_SELECT@321..361 + COMPOUND_SELECT@321..362 SELECT@321..331 SELECT_CLAUSE@321..331 SELECT_KW@321..327 "select" @@ -279,9 +279,9 @@ SOURCE_FILE@0..858 R_PAREN@358..359 ")" R_PAREN@359..360 ")" R_PAREN@360..361 ")" - SEMICOLON@361..362 ";" + SEMICOLON@361..362 ";" WHITESPACE@362..363 "\n" - COMPOUND_SELECT@363..412 + COMPOUND_SELECT@363..413 SELECT@363..371 SELECT_CLAUSE@363..371 SELECT_KW@363..369 "select" @@ -327,11 +327,11 @@ SOURCE_FILE@0..858 LITERAL@410..411 INT_NUMBER@410..411 "3" R_PAREN@411..412 ")" - SEMICOLON@412..413 ";" + SEMICOLON@412..413 ";" WHITESPACE@413..415 "\n\n" COMMENT@415..431 "-- error, nested" WHITESPACE@431..432 "\n" - SELECT@432..477 + SELECT@432..478 WITH_CLAUSE@432..461 WITH_KW@432..436 "with" WHITESPACE@436..437 " " @@ -377,9 +377,9 @@ SOURCE_FILE@0..858 FROM_ITEM@476..477 NAME_REF@476..477 IDENT@476..477 "t" - SEMICOLON@477..478 ";" + SEMICOLON@477..478 ";" WHITESPACE@478..479 "\n" - SELECT@479..537 + SELECT@479..538 WITH_CLAUSE@479..521 WITH_KW@479..483 "with" WHITESPACE@483..484 " " @@ -433,11 +433,11 @@ SOURCE_FILE@0..858 FROM_ITEM@536..537 NAME_REF@536..537 IDENT@536..537 "t" - SEMICOLON@537..538 ";" + SEMICOLON@537..538 ";" WHITESPACE@538..540 "\n\n" COMMENT@540..556 "-- error, nested" WHITESPACE@556..557 "\n" - SELECT@557..605 + SELECT@557..606 SELECT_CLAUSE@557..565 SELECT_KW@557..563 "select" WHITESPACE@563..564 " " @@ -484,9 +484,9 @@ SOURCE_FILE@0..858 NAME@603..604 IDENT@603..604 "t" R_PAREN@604..605 ")" - SEMICOLON@605..606 ";" + SEMICOLON@605..606 ";" WHITESPACE@606..607 "\n" - SELECT@607..646 + SELECT@607..647 SELECT_CLAUSE@607..646 SELECT_KW@607..613 "select" WHITESPACE@613..614 " " @@ -515,11 +515,11 @@ SOURCE_FILE@0..858 NAME_REF@644..645 IDENT@644..645 "u" R_PAREN@645..646 ")" - SEMICOLON@646..647 ";" + SEMICOLON@646..647 ";" WHITESPACE@647..649 "\n\n" COMMENT@649..665 "-- error, nested" WHITESPACE@665..666 "\n" - INSERT@666..695 + INSERT@666..696 INSERT_KW@666..672 "insert" WHITESPACE@672..673 " " INTO_KW@673..677 "into" @@ -545,11 +545,11 @@ SOURCE_FILE@0..858 PATH_SEGMENT@694..695 NAME@694..695 IDENT@694..695 "t" - SEMICOLON@695..696 ";" + SEMICOLON@695..696 ";" WHITESPACE@696..698 "\n\n" COMMENT@698..714 "-- error, nested" WHITESPACE@714..715 "\n" - DECLARE@715..751 + DECLARE@715..752 DECLARE_KW@715..722 "declare" WHITESPACE@722..723 " " NAME@723..724 @@ -575,11 +575,11 @@ SOURCE_FILE@0..858 PATH_SEGMENT@750..751 NAME@750..751 IDENT@750..751 "t" - SEMICOLON@751..752 ";" + SEMICOLON@751..752 ";" WHITESPACE@752..754 "\n\n" COMMENT@754..770 "-- error, nested" WHITESPACE@770..771 "\n" - CREATE_TABLE_AS@771..804 + CREATE_TABLE_AS@771..805 CREATE_KW@771..777 "create" WHITESPACE@777..778 " " TABLE_KW@778..783 "table" @@ -607,11 +607,11 @@ SOURCE_FILE@0..858 PATH_SEGMENT@803..804 NAME@803..804 IDENT@803..804 "t" - SEMICOLON@804..805 ";" + SEMICOLON@804..805 ";" WHITESPACE@805..807 "\n\n" COMMENT@807..823 "-- error, nested" WHITESPACE@823..824 "\n" - CREATE_VIEW@824..856 + CREATE_VIEW@824..857 CREATE_KW@824..830 "create" WHITESPACE@830..831 " " VIEW_KW@831..835 "view" @@ -639,7 +639,7 @@ SOURCE_FILE@0..858 PATH_SEGMENT@855..856 NAME@855..856 IDENT@855..856 "t" - SEMICOLON@856..857 ";" + SEMICOLON@856..857 ";" WHITESPACE@857..858 "\n" error[syntax-error]: INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_validation.snap index c05c620f6..81bb97d52 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__select_validation.snap @@ -4,7 +4,7 @@ input_file: crates/squawk_syntax/test_data/validation/select.sql --- SOURCE_FILE@0..64 WHITESPACE@0..1 "\n" - SELECT@1..16 + SELECT@1..17 FROM_CLAUSE@1..7 FROM_KW@1..5 "from" WHITESPACE@5..6 " " @@ -19,18 +19,18 @@ SOURCE_FILE@0..64 TARGET@15..16 NAME_REF@15..16 IDENT@15..16 "c" - SEMICOLON@16..17 ";" + SEMICOLON@16..17 ";" WHITESPACE@17..19 "\n\n" - SELECT@19..25 + SELECT@19..26 FROM_CLAUSE@19..25 FROM_KW@19..23 "from" WHITESPACE@23..24 " " FROM_ITEM@24..25 NAME_REF@24..25 IDENT@24..25 "t" - SEMICOLON@25..26 ";" + SEMICOLON@25..26 ";" WHITESPACE@26..28 "\n\n" - SELECT@28..62 + SELECT@28..63 WITH_CLAUSE@28..46 WITH_KW@28..32 "with" WHITESPACE@32..33 " " @@ -63,7 +63,7 @@ SOURCE_FILE@0..64 FROM_ITEM@61..62 NAME_REF@61..62 IDENT@61..62 "t" - SEMICOLON@62..63 ";" + SEMICOLON@62..63 ";" WHITESPACE@63..64 "\n" error[syntax-error]: Leading from clauses are not supported in Postgres diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__stmts_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__stmts_validation.snap new file mode 100644 index 000000000..a77cb0ce7 --- /dev/null +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__stmts_validation.snap @@ -0,0 +1,90 @@ +--- +source: crates/squawk_syntax/src/test.rs +input_file: crates/squawk_syntax/test_data/validation/stmts.sql +--- +SOURCE_FILE@0..97 + CREATE_TABLE@0..17 + CREATE_KW@0..6 "create" + WHITESPACE@6..7 " " + TABLE_KW@7..12 "table" + WHITESPACE@12..13 " " + PATH@13..14 + PATH_SEGMENT@13..14 + NAME@13..14 + IDENT@13..14 "t" + WHITESPACE@14..15 " " + TABLE_ARG_LIST@15..17 + L_PAREN@15..16 "(" + R_PAREN@16..17 ")" + WHITESPACE@17..18 "\n" + CREATE_TABLE@18..36 + CREATE_KW@18..24 "create" + WHITESPACE@24..25 " " + TABLE_KW@25..30 "table" + WHITESPACE@30..31 " " + PATH@31..32 + PATH_SEGMENT@31..32 + NAME@31..32 + IDENT@31..32 "t" + WHITESPACE@32..33 " " + TABLE_ARG_LIST@33..35 + L_PAREN@33..34 "(" + R_PAREN@34..35 ")" + SEMICOLON@35..36 ";" + WHITESPACE@36..38 "\n\n" + CREATE_TABLE@38..56 + CREATE_KW@38..44 "create" + WHITESPACE@44..45 " " + TABLE_KW@45..50 "table" + WHITESPACE@50..51 " " + PATH@51..52 + PATH_SEGMENT@51..52 + NAME@51..52 + IDENT@51..52 "u" + WHITESPACE@52..53 " " + TABLE_ARG_LIST@53..55 + L_PAREN@53..54 "(" + R_PAREN@54..55 ")" + SEMICOLON@55..56 ";" + WHITESPACE@56..57 "\n" + CREATE_TABLE@57..75 + CREATE_KW@57..63 "create" + WHITESPACE@63..64 " " + TABLE_KW@64..69 "table" + WHITESPACE@69..70 " " + PATH@70..71 + PATH_SEGMENT@70..71 + NAME@70..71 + IDENT@70..71 "v" + WHITESPACE@71..72 " " + TABLE_ARG_LIST@72..74 + L_PAREN@72..73 "(" + R_PAREN@73..74 ")" + SEMICOLON@74..75 ";" + WHITESPACE@75..77 "\n\n" + SELECT@77..86 + SELECT_CLAUSE@77..85 + SELECT_KW@77..83 "select" + WHITESPACE@83..84 " " + TARGET_LIST@84..85 + TARGET@84..85 + LITERAL@84..85 + INT_NUMBER@84..85 "1" + SEMICOLON@85..86 ";" + EMPTY_STMT@86..87 + SEMICOLON@86..87 ";" + SELECT@87..96 + SELECT_CLAUSE@87..95 + SELECT_KW@87..93 "select" + WHITESPACE@93..94 " " + TARGET_LIST@94..95 + TARGET@94..95 + LITERAL@94..95 + INT_NUMBER@94..95 "2" + SEMICOLON@95..96 ";" + WHITESPACE@96..97 "\n" + +error[syntax-error]: Missing semicolon between statements + ╭▸ +1 │ create table t () + ╰╴ ━ diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_ident_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_ident_validation.snap index 458c382be..cf0c7b2ca 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_ident_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_ident_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/unicode_escape_ident.sql SOURCE_FILE@0..489 COMMENT@0..5 "-- ok" WHITESPACE@5..6 "\n" - SELECT@6..32 + SELECT@6..33 SELECT_CLAUSE@6..32 SELECT_KW@6..12 "select" WHITESPACE@12..13 " " @@ -13,9 +13,9 @@ SOURCE_FILE@0..489 TARGET@13..32 NAME_REF@13..32 IDENT@13..32 "U&\"d\\0061t\\+000061\"" - SEMICOLON@32..33 ";" + SEMICOLON@32..33 ";" WHITESPACE@33..34 "\n" - SELECT@34..47 + SELECT@34..48 SELECT_CLAUSE@34..47 SELECT_KW@34..40 "select" WHITESPACE@40..41 " " @@ -23,9 +23,9 @@ SOURCE_FILE@0..489 TARGET@41..47 NAME_REF@41..47 IDENT@41..47 "U&\"\\\\\"" - SEMICOLON@47..48 ";" + SEMICOLON@47..48 ";" WHITESPACE@48..49 "\n" - SELECT@49..81 + SELECT@49..82 SELECT_CLAUSE@49..81 SELECT_KW@49..55 "select" WHITESPACE@55..56 " " @@ -37,9 +37,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@70..77 "UESCAPE" WHITESPACE@77..78 " " STRING@78..81 "'!'" - SEMICOLON@81..82 ";" + SEMICOLON@81..82 ";" WHITESPACE@82..83 "\n" - SELECT@83..108 + SELECT@83..109 SELECT_CLAUSE@83..108 SELECT_KW@83..89 "select" WHITESPACE@89..90 " " @@ -51,11 +51,11 @@ SOURCE_FILE@0..489 UESCAPE_KW@97..104 "UESCAPE" WHITESPACE@104..105 " " STRING@105..108 "'!'" - SEMICOLON@108..109 ";" + SEMICOLON@108..109 ";" WHITESPACE@109..111 "\n\n" COMMENT@111..120 "-- errors" WHITESPACE@120..121 "\n" - SELECT@121..136 + SELECT@121..137 SELECT_CLAUSE@121..136 SELECT_KW@121..127 "select" WHITESPACE@127..128 " " @@ -63,9 +63,9 @@ SOURCE_FILE@0..489 TARGET@128..136 NAME_REF@128..136 IDENT@128..136 "U&\"\\006\"" - SEMICOLON@136..137 ";" + SEMICOLON@136..137 ";" WHITESPACE@137..138 "\n" - SELECT@138..155 + SELECT@138..156 SELECT_CLAUSE@138..155 SELECT_KW@138..144 "select" WHITESPACE@144..145 " " @@ -73,9 +73,9 @@ SOURCE_FILE@0..489 TARGET@145..155 NAME_REF@145..155 IDENT@145..155 "U&\"\\+0061\"" - SEMICOLON@155..156 ";" + SEMICOLON@155..156 ";" WHITESPACE@156..157 "\n" - SELECT@157..190 + SELECT@157..191 SELECT_CLAUSE@157..190 SELECT_KW@157..163 "select" WHITESPACE@163..164 " " @@ -87,9 +87,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@179..186 "UESCAPE" WHITESPACE@186..187 " " STRING@187..190 "'\\'" - SEMICOLON@190..191 ";" + SEMICOLON@190..191 ";" WHITESPACE@191..192 "\n" - SELECT@192..226 + SELECT@192..227 SELECT_CLAUSE@192..226 SELECT_KW@192..198 "select" WHITESPACE@198..199 " " @@ -101,9 +101,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@215..222 "UESCAPE" WHITESPACE@222..223 " " STRING@223..226 "'!'" - SEMICOLON@226..227 ";" + SEMICOLON@226..227 ";" WHITESPACE@227..228 "\n" - SELECT@228..262 + SELECT@228..263 SELECT_CLAUSE@228..262 SELECT_KW@228..234 "select" WHITESPACE@234..235 " " @@ -111,9 +111,9 @@ SOURCE_FILE@0..489 TARGET@235..262 NAME_REF@235..262 IDENT@235..262 "U&\"many: \\061 \\+0061 ..." - SEMICOLON@262..263 ";" + SEMICOLON@262..263 ";" WHITESPACE@263..264 "\n" - SELECT@264..290 + SELECT@264..291 SELECT_CLAUSE@264..290 SELECT_KW@264..270 "select" WHITESPACE@270..271 " " @@ -121,9 +121,9 @@ SOURCE_FILE@0..489 TARGET@271..290 NAME_REF@271..290 IDENT@271..290 "U&\"\\D800\\D801\\DC00\"" - SEMICOLON@290..291 ";" + SEMICOLON@290..291 ";" WHITESPACE@291..292 "\n" - SELECT@292..305 + SELECT@292..306 SELECT_CLAUSE@292..305 SELECT_KW@292..298 "select" WHITESPACE@298..299 " " @@ -131,9 +131,9 @@ SOURCE_FILE@0..489 TARGET@299..305 NAME_REF@299..305 IDENT@299..305 "U&\" \\\"" - SEMICOLON@305..306 ";" + SEMICOLON@305..306 ";" WHITESPACE@306..307 "\n" - SELECT@307..334 + SELECT@307..335 SELECT_CLAUSE@307..334 SELECT_KW@307..313 "select" WHITESPACE@313..314 " " @@ -145,9 +145,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@324..331 "UESCAPE" WHITESPACE@331..332 " " STRING@332..334 "''" - SEMICOLON@334..335 ";" + SEMICOLON@334..335 ";" WHITESPACE@335..336 "\n" - SELECT@336..364 + SELECT@336..365 SELECT_CLAUSE@336..364 SELECT_KW@336..342 "select" WHITESPACE@342..343 " " @@ -159,9 +159,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@353..360 "UESCAPE" WHITESPACE@360..361 " " STRING@361..364 "' '" - SEMICOLON@364..365 ";" + SEMICOLON@364..365 ";" WHITESPACE@365..366 "\n" - SELECT@366..394 + SELECT@366..395 SELECT_CLAUSE@366..394 SELECT_KW@366..372 "select" WHITESPACE@372..373 " " @@ -173,9 +173,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@383..390 "UESCAPE" WHITESPACE@390..391 " " STRING@391..394 "'+'" - SEMICOLON@394..395 ";" + SEMICOLON@394..395 ";" WHITESPACE@395..396 "\n" - SELECT@396..424 + SELECT@396..425 SELECT_CLAUSE@396..424 SELECT_KW@396..402 "select" WHITESPACE@402..403 " " @@ -187,9 +187,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@413..420 "UESCAPE" WHITESPACE@420..421 " " STRING@421..424 "'A'" - SEMICOLON@424..425 ";" + SEMICOLON@424..425 ";" WHITESPACE@425..426 "\n" - SELECT@426..455 + SELECT@426..456 SELECT_CLAUSE@426..455 SELECT_KW@426..432 "select" WHITESPACE@432..433 " " @@ -201,9 +201,9 @@ SOURCE_FILE@0..489 UESCAPE_KW@443..450 "UESCAPE" WHITESPACE@450..451 " " STRING@451..455 "'é'" - SEMICOLON@455..456 ";" + SEMICOLON@455..456 ";" WHITESPACE@456..457 "\n" - SELECT@457..487 + SELECT@457..488 SELECT_CLAUSE@457..487 SELECT_KW@457..463 "select" WHITESPACE@463..464 " " @@ -215,7 +215,7 @@ SOURCE_FILE@0..489 UESCAPE_KW@474..481 "UESCAPE" WHITESPACE@481..482 " " STRING@482..487 "'foo'" - SEMICOLON@487..488 ";" + SEMICOLON@487..488 ";" WHITESPACE@488..489 "\n" error[syntax-error]: Unicode escape requires 4 hex digits: \XXXX diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_string_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_string_validation.snap index 504a1ac09..66ad12d63 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_string_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__unicode_escape_string_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/unicode_escape_string.sql SOURCE_FILE@0..507 COMMENT@0..5 "-- ok" WHITESPACE@5..6 "\n" - SELECT@6..30 + SELECT@6..31 SELECT_CLAUSE@6..30 SELECT_KW@6..12 "select" WHITESPACE@12..13 " " @@ -13,9 +13,9 @@ SOURCE_FILE@0..507 TARGET@13..30 LITERAL@13..30 UNICODE_ESC_STRING@13..30 "U&'\\0061\\+000061'" - SEMICOLON@30..31 ";" + SEMICOLON@30..31 ";" WHITESPACE@31..32 "\n" - SELECT@32..45 + SELECT@32..46 SELECT_CLAUSE@32..45 SELECT_KW@32..38 "select" WHITESPACE@38..39 " " @@ -23,9 +23,9 @@ SOURCE_FILE@0..507 TARGET@39..45 LITERAL@39..45 UNICODE_ESC_STRING@39..45 "U&'\\\\'" - SEMICOLON@45..46 ";" + SEMICOLON@45..46 ";" WHITESPACE@46..47 "\n" - SELECT@47..79 + SELECT@47..80 SELECT_CLAUSE@47..79 SELECT_KW@47..53 "select" WHITESPACE@53..54 " " @@ -37,9 +37,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@68..75 "UESCAPE" WHITESPACE@75..76 " " STRING@76..79 "'!'" - SEMICOLON@79..80 ";" + SEMICOLON@79..80 ";" WHITESPACE@80..81 "\n" - SELECT@81..106 + SELECT@81..107 SELECT_CLAUSE@81..106 SELECT_KW@81..87 "select" WHITESPACE@87..88 " " @@ -51,11 +51,11 @@ SOURCE_FILE@0..507 UESCAPE_KW@95..102 "UESCAPE" WHITESPACE@102..103 " " STRING@103..106 "'!'" - SEMICOLON@106..107 ";" + SEMICOLON@106..107 ";" WHITESPACE@107..109 "\n\n" COMMENT@109..118 "-- errors" WHITESPACE@118..119 "\n" - SELECT@119..134 + SELECT@119..135 SELECT_CLAUSE@119..134 SELECT_KW@119..125 "select" WHITESPACE@125..126 " " @@ -63,9 +63,9 @@ SOURCE_FILE@0..507 TARGET@126..134 LITERAL@126..134 UNICODE_ESC_STRING@126..134 "U&'\\006'" - SEMICOLON@134..135 ";" + SEMICOLON@134..135 ";" WHITESPACE@135..136 "\n" - SELECT@136..153 + SELECT@136..154 SELECT_CLAUSE@136..153 SELECT_KW@136..142 "select" WHITESPACE@142..143 " " @@ -73,9 +73,9 @@ SOURCE_FILE@0..507 TARGET@143..153 LITERAL@143..153 UNICODE_ESC_STRING@143..153 "U&'\\+0061'" - SEMICOLON@153..154 ";" + SEMICOLON@153..154 ";" WHITESPACE@154..155 "\n" - SELECT@155..188 + SELECT@155..189 SELECT_CLAUSE@155..188 SELECT_KW@155..161 "select" WHITESPACE@161..162 " " @@ -87,9 +87,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@177..184 "UESCAPE" WHITESPACE@184..185 " " STRING@185..188 "'\\'" - SEMICOLON@188..189 ";" + SEMICOLON@188..189 ";" WHITESPACE@189..190 "\n" - SELECT@190..224 + SELECT@190..225 SELECT_CLAUSE@190..224 SELECT_KW@190..196 "select" WHITESPACE@196..197 " " @@ -101,9 +101,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@213..220 "UESCAPE" WHITESPACE@220..221 " " STRING@221..224 "'!'" - SEMICOLON@224..225 ";" + SEMICOLON@224..225 ";" WHITESPACE@225..226 "\n" - SELECT@226..260 + SELECT@226..261 SELECT_CLAUSE@226..260 SELECT_KW@226..232 "select" WHITESPACE@232..233 " " @@ -111,9 +111,9 @@ SOURCE_FILE@0..507 TARGET@233..260 LITERAL@233..260 UNICODE_ESC_STRING@233..260 "U&'many: \\061 \\+0061 ..." - SEMICOLON@260..261 ";" + SEMICOLON@260..261 ";" WHITESPACE@261..262 "\n" - SELECT@262..280 + SELECT@262..281 SELECT_CLAUSE@262..280 SELECT_KW@262..268 "select" WHITESPACE@268..269 " " @@ -121,9 +121,9 @@ SOURCE_FILE@0..507 TARGET@269..280 LITERAL@269..280 UNICODE_ESC_STRING@269..280 "U&'\\D800\\\\'" - SEMICOLON@280..281 ";" + SEMICOLON@280..281 ";" WHITESPACE@281..282 "\n" - SELECT@282..308 + SELECT@282..309 SELECT_CLAUSE@282..308 SELECT_KW@282..288 "select" WHITESPACE@288..289 " " @@ -131,9 +131,9 @@ SOURCE_FILE@0..507 TARGET@289..308 LITERAL@289..308 UNICODE_ESC_STRING@289..308 "U&'\\D800\\D801\\DC00'" - SEMICOLON@308..309 ";" + SEMICOLON@308..309 ";" WHITESPACE@309..310 "\n" - SELECT@310..323 + SELECT@310..324 SELECT_CLAUSE@310..323 SELECT_KW@310..316 "select" WHITESPACE@316..317 " " @@ -141,9 +141,9 @@ SOURCE_FILE@0..507 TARGET@317..323 LITERAL@317..323 UNICODE_ESC_STRING@317..323 "U&' \\'" - SEMICOLON@323..324 ";" + SEMICOLON@323..324 ";" WHITESPACE@324..325 "\n" - SELECT@325..352 + SELECT@325..353 SELECT_CLAUSE@325..352 SELECT_KW@325..331 "select" WHITESPACE@331..332 " " @@ -155,9 +155,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@342..349 "UESCAPE" WHITESPACE@349..350 " " STRING@350..352 "''" - SEMICOLON@352..353 ";" + SEMICOLON@352..353 ";" WHITESPACE@353..354 "\n" - SELECT@354..382 + SELECT@354..383 SELECT_CLAUSE@354..382 SELECT_KW@354..360 "select" WHITESPACE@360..361 " " @@ -169,9 +169,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@371..378 "UESCAPE" WHITESPACE@378..379 " " STRING@379..382 "' '" - SEMICOLON@382..383 ";" + SEMICOLON@382..383 ";" WHITESPACE@383..384 "\n" - SELECT@384..412 + SELECT@384..413 SELECT_CLAUSE@384..412 SELECT_KW@384..390 "select" WHITESPACE@390..391 " " @@ -183,9 +183,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@401..408 "UESCAPE" WHITESPACE@408..409 " " STRING@409..412 "'+'" - SEMICOLON@412..413 ";" + SEMICOLON@412..413 ";" WHITESPACE@413..414 "\n" - SELECT@414..442 + SELECT@414..443 SELECT_CLAUSE@414..442 SELECT_KW@414..420 "select" WHITESPACE@420..421 " " @@ -197,9 +197,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@431..438 "UESCAPE" WHITESPACE@438..439 " " STRING@439..442 "'A'" - SEMICOLON@442..443 ";" + SEMICOLON@442..443 ";" WHITESPACE@443..444 "\n" - SELECT@444..473 + SELECT@444..474 SELECT_CLAUSE@444..473 SELECT_KW@444..450 "select" WHITESPACE@450..451 " " @@ -211,9 +211,9 @@ SOURCE_FILE@0..507 UESCAPE_KW@461..468 "UESCAPE" WHITESPACE@468..469 " " STRING@469..473 "'é'" - SEMICOLON@473..474 ";" + SEMICOLON@473..474 ";" WHITESPACE@474..475 "\n" - SELECT@475..505 + SELECT@475..506 SELECT_CLAUSE@475..505 SELECT_KW@475..481 "select" WHITESPACE@481..482 " " @@ -225,7 +225,7 @@ SOURCE_FILE@0..507 UESCAPE_KW@492..499 "UESCAPE" WHITESPACE@499..500 " " STRING@500..505 "'foo'" - SEMICOLON@505..506 ";" + SEMICOLON@505..506 ";" WHITESPACE@506..507 "\n" error[syntax-error]: Unicode escape requires 4 hex digits: \XXXX diff --git a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__validate_string_continuation_validation.snap b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__validate_string_continuation_validation.snap index 87952cf15..a9dc8c2d9 100644 --- a/crates/squawk_syntax/src/snapshots/squawk_syntax__test__validate_string_continuation_validation.snap +++ b/crates/squawk_syntax/src/snapshots/squawk_syntax__test__validate_string_continuation_validation.snap @@ -5,7 +5,7 @@ input_file: crates/squawk_syntax/test_data/validation/validate_string_continuati SOURCE_FILE@0..1228 COMMENT@0..28 "-- ok strings with ne ..." WHITESPACE@28..29 "\n" - SELECT@29..48 + SELECT@29..49 SELECT_CLAUSE@29..48 SELECT_KW@29..35 "select" WHITESPACE@35..36 " " @@ -15,9 +15,9 @@ SOURCE_FILE@0..1228 STRING@36..41 "'foo'" WHITESPACE@41..43 " \n" STRING@43..48 "'bar'" - SEMICOLON@48..49 ";" + SEMICOLON@48..49 ";" WHITESPACE@49..50 "\n" - SELECT@50..69 + SELECT@50..70 SELECT_CLAUSE@50..69 SELECT_KW@50..56 "select" WHITESPACE@56..57 " " @@ -27,9 +27,9 @@ SOURCE_FILE@0..1228 ESC_STRING@57..63 "e'foo'" WHITESPACE@63..64 "\n" STRING@64..69 "'bar'" - SEMICOLON@69..70 ";" + SEMICOLON@69..70 ";" WHITESPACE@70..71 "\n" - SELECT@71..91 + SELECT@71..92 SELECT_CLAUSE@71..91 SELECT_KW@71..77 "select" WHITESPACE@77..78 " " @@ -39,9 +39,9 @@ SOURCE_FILE@0..1228 UNICODE_ESC_STRING@78..85 "u&'foo'" WHITESPACE@85..86 "\n" STRING@86..91 "'bar'" - SEMICOLON@91..92 ";" + SEMICOLON@91..92 ";" WHITESPACE@92..93 "\n" - SELECT@93..110 + SELECT@93..111 SELECT_CLAUSE@93..110 SELECT_KW@93..99 "select" WHITESPACE@99..100 " " @@ -51,9 +51,9 @@ SOURCE_FILE@0..1228 BIT_STRING@100..105 "b'01'" WHITESPACE@105..106 "\n" STRING@106..110 "'10'" - SEMICOLON@110..111 ";" + SEMICOLON@110..111 ";" WHITESPACE@111..112 "\n" - SELECT@112..129 + SELECT@112..130 SELECT_CLAUSE@112..129 SELECT_KW@112..118 "select" WHITESPACE@118..119 " " @@ -63,11 +63,11 @@ SOURCE_FILE@0..1228 BYTE_STRING@119..124 "x'1F'" WHITESPACE@124..125 "\n" STRING@125..129 "'10'" - SEMICOLON@129..130 ";" + SEMICOLON@129..130 ";" WHITESPACE@130..132 "\n\n" COMMENT@132..147 "-- error string" WHITESPACE@147..148 "\n" - SELECT@148..166 + SELECT@148..167 SELECT_CLAUSE@148..166 SELECT_KW@148..154 "select" WHITESPACE@154..155 " " @@ -77,9 +77,9 @@ SOURCE_FILE@0..1228 STRING@155..160 "'foo'" WHITESPACE@160..161 " " STRING@161..166 "'bar'" - SEMICOLON@166..167 ";" + SEMICOLON@166..167 ";" WHITESPACE@167..168 "\n" - SELECT@168..200 + SELECT@168..201 SELECT_CLAUSE@168..200 SELECT_KW@168..174 "select" WHITESPACE@174..175 " " @@ -91,9 +91,9 @@ SOURCE_FILE@0..1228 COMMENT@181..194 "/* comment */" WHITESPACE@194..195 " " STRING@195..200 "'bar'" - SEMICOLON@200..201 ";" + SEMICOLON@200..201 ";" WHITESPACE@201..202 "\n" - SELECT@202..267 + SELECT@202..268 SELECT_CLAUSE@202..267 SELECT_KW@202..208 "select" WHITESPACE@208..209 " " @@ -109,9 +109,9 @@ SOURCE_FILE@0..1228 COMMENT@237..258 "/* another comment */" WHITESPACE@258..259 " " STRING@259..267 "' world'" - SEMICOLON@267..268 ";" + SEMICOLON@267..268 ";" WHITESPACE@268..269 "\n" - SELECT@269..302 + SELECT@269..303 SELECT_CLAUSE@269..302 SELECT_KW@269..275 "select" WHITESPACE@275..276 " " @@ -123,9 +123,9 @@ SOURCE_FILE@0..1228 COMMENT@284..294 "-- comment" WHITESPACE@294..295 "\n" STRING@295..302 "'world'" - SEMICOLON@302..303 ";" + SEMICOLON@302..303 ";" WHITESPACE@303..304 "\n" - SELECT@304..329 + SELECT@304..330 SELECT_CLAUSE@304..329 SELECT_KW@304..310 "select" WHITESPACE@310..311 " " @@ -137,11 +137,11 @@ SOURCE_FILE@0..1228 STRING@317..322 "'bar'" WHITESPACE@322..323 " " STRING@323..329 "'buzz'" - SEMICOLON@329..330 ";" + SEMICOLON@329..330 ";" WHITESPACE@330..332 "\n\n" COMMENT@332..354 "-- error escape string" WHITESPACE@354..355 "\n" - SELECT@355..374 + SELECT@355..375 SELECT_CLAUSE@355..374 SELECT_KW@355..361 "select" WHITESPACE@361..362 " " @@ -151,9 +151,9 @@ SOURCE_FILE@0..1228 ESC_STRING@362..368 "e'foo'" WHITESPACE@368..369 " " STRING@369..374 "'bar'" - SEMICOLON@374..375 ";" + SEMICOLON@374..375 ";" WHITESPACE@375..376 "\n" - SELECT@376..409 + SELECT@376..410 SELECT_CLAUSE@376..409 SELECT_KW@376..382 "select" WHITESPACE@382..383 " " @@ -165,9 +165,9 @@ SOURCE_FILE@0..1228 COMMENT@390..403 "/* comment */" WHITESPACE@403..404 " " STRING@404..409 "'bar'" - SEMICOLON@409..410 ";" + SEMICOLON@409..410 ";" WHITESPACE@410..411 "\n" - SELECT@411..477 + SELECT@411..478 SELECT_CLAUSE@411..477 SELECT_KW@411..417 "select" WHITESPACE@417..418 " " @@ -183,9 +183,9 @@ SOURCE_FILE@0..1228 COMMENT@447..468 "/* another comment */" WHITESPACE@468..469 " " STRING@469..477 "' world'" - SEMICOLON@477..478 ";" + SEMICOLON@477..478 ";" WHITESPACE@478..479 "\n" - SELECT@479..513 + SELECT@479..514 SELECT_CLAUSE@479..513 SELECT_KW@479..485 "select" WHITESPACE@485..486 " " @@ -197,9 +197,9 @@ SOURCE_FILE@0..1228 COMMENT@495..505 "-- comment" WHITESPACE@505..506 "\n" STRING@506..513 "'world'" - SEMICOLON@513..514 ";" + SEMICOLON@513..514 ";" WHITESPACE@514..515 "\n" - SELECT@515..541 + SELECT@515..542 SELECT_CLAUSE@515..541 SELECT_KW@515..521 "select" WHITESPACE@521..522 " " @@ -211,9 +211,9 @@ SOURCE_FILE@0..1228 STRING@529..534 "'bar'" WHITESPACE@534..535 " " STRING@535..541 "'buzz'" - SEMICOLON@541..542 ";" + SEMICOLON@541..542 ";" WHITESPACE@542..543 "\n" - SELECT@543..563 + SELECT@543..564 SELECT_CLAUSE@543..563 SELECT_KW@543..549 "select" WHITESPACE@549..550 " " @@ -223,11 +223,11 @@ SOURCE_FILE@0..1228 ESC_STRING@550..556 "e'foo'" WHITESPACE@556..557 "\n" STRING@557..563 "'\\u00'" - SEMICOLON@563..564 ";" + SEMICOLON@563..564 ";" WHITESPACE@564..566 "\n\n" COMMENT@566..596 "-- error unicode esca ..." WHITESPACE@596..597 "\n" - SELECT@597..617 + SELECT@597..618 SELECT_CLAUSE@597..617 SELECT_KW@597..603 "select" WHITESPACE@603..604 " " @@ -237,9 +237,9 @@ SOURCE_FILE@0..1228 UNICODE_ESC_STRING@604..611 "u&'foo'" WHITESPACE@611..612 " " STRING@612..617 "'bar'" - SEMICOLON@617..618 ";" + SEMICOLON@617..618 ";" WHITESPACE@618..619 "\n" - SELECT@619..653 + SELECT@619..654 SELECT_CLAUSE@619..653 SELECT_KW@619..625 "select" WHITESPACE@625..626 " " @@ -251,9 +251,9 @@ SOURCE_FILE@0..1228 COMMENT@634..647 "/* comment */" WHITESPACE@647..648 " " STRING@648..653 "'bar'" - SEMICOLON@653..654 ";" + SEMICOLON@653..654 ";" WHITESPACE@654..655 "\n" - SELECT@655..722 + SELECT@655..723 SELECT_CLAUSE@655..722 SELECT_KW@655..661 "select" WHITESPACE@661..662 " " @@ -269,9 +269,9 @@ SOURCE_FILE@0..1228 COMMENT@692..713 "/* another comment */" WHITESPACE@713..714 " " STRING@714..722 "' world'" - SEMICOLON@722..723 ";" + SEMICOLON@722..723 ";" WHITESPACE@723..724 "\n" - SELECT@724..759 + SELECT@724..760 SELECT_CLAUSE@724..759 SELECT_KW@724..730 "select" WHITESPACE@730..731 " " @@ -283,9 +283,9 @@ SOURCE_FILE@0..1228 COMMENT@741..751 "-- comment" WHITESPACE@751..752 "\n" STRING@752..759 "'world'" - SEMICOLON@759..760 ";" + SEMICOLON@759..760 ";" WHITESPACE@760..761 "\n" - SELECT@761..788 + SELECT@761..789 SELECT_CLAUSE@761..788 SELECT_KW@761..767 "select" WHITESPACE@767..768 " " @@ -297,9 +297,9 @@ SOURCE_FILE@0..1228 STRING@776..781 "'bar'" WHITESPACE@781..782 " " STRING@782..788 "'buzz'" - SEMICOLON@788..789 ";" + SEMICOLON@788..789 ";" WHITESPACE@789..790 "\n" - SELECT@790..811 + SELECT@790..812 SELECT_CLAUSE@790..811 SELECT_KW@790..796 "select" WHITESPACE@796..797 " " @@ -309,11 +309,11 @@ SOURCE_FILE@0..1228 UNICODE_ESC_STRING@797..804 "u&'foo'" WHITESPACE@804..805 "\n" STRING@805..811 "'\\010'" - SEMICOLON@811..812 ";" + SEMICOLON@811..812 ";" WHITESPACE@812..814 "\n\n" COMMENT@814..833 "-- error bit string" WHITESPACE@833..834 "\n" - SELECT@834..851 + SELECT@834..852 SELECT_CLAUSE@834..851 SELECT_KW@834..840 "select" WHITESPACE@840..841 " " @@ -323,9 +323,9 @@ SOURCE_FILE@0..1228 BIT_STRING@841..846 "b'01'" WHITESPACE@846..847 " " STRING@847..851 "'10'" - SEMICOLON@851..852 ";" + SEMICOLON@851..852 ";" WHITESPACE@852..853 "\n" - SELECT@853..884 + SELECT@853..885 SELECT_CLAUSE@853..884 SELECT_KW@853..859 "select" WHITESPACE@859..860 " " @@ -337,9 +337,9 @@ SOURCE_FILE@0..1228 COMMENT@866..879 "/* comment */" WHITESPACE@879..880 " " STRING@880..884 "'11'" - SEMICOLON@884..885 ";" + SEMICOLON@884..885 ";" WHITESPACE@885..886 "\n" - SELECT@886..944 + SELECT@886..945 SELECT_CLAUSE@886..944 SELECT_KW@886..892 "select" WHITESPACE@892..893 " " @@ -355,9 +355,9 @@ SOURCE_FILE@0..1228 COMMENT@918..939 "/* another comment */" WHITESPACE@939..940 " " STRING@940..944 "'10'" - SEMICOLON@944..945 ";" + SEMICOLON@944..945 ";" WHITESPACE@945..946 "\n" - SELECT@946..975 + SELECT@946..976 SELECT_CLAUSE@946..975 SELECT_KW@946..952 "select" WHITESPACE@952..953 " " @@ -369,9 +369,9 @@ SOURCE_FILE@0..1228 COMMENT@960..970 "-- comment" WHITESPACE@970..971 "\n" STRING@971..975 "'10'" - SEMICOLON@975..976 ";" + SEMICOLON@975..976 ";" WHITESPACE@976..977 "\n" - SELECT@977..999 + SELECT@977..1000 SELECT_CLAUSE@977..999 SELECT_KW@977..983 "select" WHITESPACE@983..984 " " @@ -383,9 +383,9 @@ SOURCE_FILE@0..1228 STRING@990..994 "'10'" WHITESPACE@994..995 " " STRING@995..999 "'11'" - SEMICOLON@999..1000 ";" + SEMICOLON@999..1000 ";" WHITESPACE@1000..1001 "\n" - SELECT@1001..1018 + SELECT@1001..1019 SELECT_CLAUSE@1001..1018 SELECT_KW@1001..1007 "select" WHITESPACE@1007..1008 " " @@ -395,11 +395,11 @@ SOURCE_FILE@0..1228 BIT_STRING@1008..1013 "b'10'" WHITESPACE@1013..1014 "\n" STRING@1014..1018 "'20'" - SEMICOLON@1018..1019 ";" + SEMICOLON@1018..1019 ";" WHITESPACE@1019..1021 "\n\n" COMMENT@1021..1041 "-- error byte string" WHITESPACE@1041..1042 "\n" - SELECT@1042..1059 + SELECT@1042..1060 SELECT_CLAUSE@1042..1059 SELECT_KW@1042..1048 "select" WHITESPACE@1048..1049 " " @@ -409,9 +409,9 @@ SOURCE_FILE@0..1228 BYTE_STRING@1049..1054 "x'0F'" WHITESPACE@1054..1055 " " STRING@1055..1059 "'10'" - SEMICOLON@1059..1060 ";" + SEMICOLON@1059..1060 ";" WHITESPACE@1060..1061 "\n" - SELECT@1061..1092 + SELECT@1061..1093 SELECT_CLAUSE@1061..1092 SELECT_KW@1061..1067 "select" WHITESPACE@1067..1068 " " @@ -423,9 +423,9 @@ SOURCE_FILE@0..1228 COMMENT@1074..1087 "/* comment */" WHITESPACE@1087..1088 " " STRING@1088..1092 "'1F'" - SEMICOLON@1092..1093 ";" + SEMICOLON@1092..1093 ";" WHITESPACE@1093..1094 "\n" - SELECT@1094..1152 + SELECT@1094..1153 SELECT_CLAUSE@1094..1152 SELECT_KW@1094..1100 "select" WHITESPACE@1100..1101 " " @@ -441,9 +441,9 @@ SOURCE_FILE@0..1228 COMMENT@1126..1147 "/* another comment */" WHITESPACE@1147..1148 " " STRING@1148..1152 "'10'" - SEMICOLON@1152..1153 ";" + SEMICOLON@1152..1153 ";" WHITESPACE@1153..1154 "\n" - SELECT@1154..1183 + SELECT@1154..1184 SELECT_CLAUSE@1154..1183 SELECT_KW@1154..1160 "select" WHITESPACE@1160..1161 " " @@ -455,9 +455,9 @@ SOURCE_FILE@0..1228 COMMENT@1168..1178 "-- comment" WHITESPACE@1178..1179 "\n" STRING@1179..1183 "'10'" - SEMICOLON@1183..1184 ";" + SEMICOLON@1183..1184 ";" WHITESPACE@1184..1185 "\n" - SELECT@1185..1207 + SELECT@1185..1208 SELECT_CLAUSE@1185..1207 SELECT_KW@1185..1191 "select" WHITESPACE@1191..1192 " " @@ -469,9 +469,9 @@ SOURCE_FILE@0..1228 STRING@1198..1202 "'F0'" WHITESPACE@1202..1203 " " STRING@1203..1207 "'11'" - SEMICOLON@1207..1208 ";" + SEMICOLON@1207..1208 ";" WHITESPACE@1208..1209 "\n" - SELECT@1209..1226 + SELECT@1209..1227 SELECT_CLAUSE@1209..1226 SELECT_KW@1209..1215 "select" WHITESPACE@1215..1216 " " @@ -481,7 +481,7 @@ SOURCE_FILE@0..1228 BYTE_STRING@1216..1221 "x'1F'" WHITESPACE@1221..1222 "\n" STRING@1222..1226 "'G0'" - SEMICOLON@1226..1227 ";" + SEMICOLON@1226..1227 ";" WHITESPACE@1227..1228 "\n" error[syntax-error]: Expected new line or comma between string literals diff --git a/crates/squawk_syntax/src/validation.rs b/crates/squawk_syntax/src/validation.rs index 4ce02b31b..56db56f31 100644 --- a/crates/squawk_syntax/src/validation.rs +++ b/crates/squawk_syntax/src/validation.rs @@ -26,6 +26,7 @@ pub(crate) fn validate(root: &SyntaxNode, errors: &mut Vec) { ast::NonStandardParam(it) => validate_non_standard_param(it, errors), ast::Select(it) => validate_select(it, errors), ast::SelectInto(it) => validate_select_into(it, errors), + ast::SourceFile(it) => validate_source_file(it, errors), _ => (), } } @@ -39,6 +40,28 @@ pub(crate) fn validate(root: &SyntaxNode, errors: &mut Vec) { } } +fn validate_source_file(it: ast::SourceFile, acc: &mut Vec) { + let mut stmts = it.stmts().peekable(); + while let Some(stmt) = stmts.next() { + let syntax = stmt.syntax(); + if syntax.kind() == EMPTY_STMT { + continue; + } + let Some(next) = stmts.peek() else { + continue; + }; + let ends_with_semi = syntax.last_token().is_some_and(|t| t.kind() == SEMICOLON); + if ends_with_semi || next.syntax().kind() == EMPTY_STMT { + continue; + } + let end = syntax.text_range().end(); + acc.push(SyntaxError::new( + "Missing semicolon between statements", + TextRange::empty(end), + )); + } +} + fn validate_select(it: ast::Select, acc: &mut Vec) { let Some(from_clause) = it.from_clause() else { return; diff --git a/crates/squawk_syntax/test_data/validation/stmts.sql b/crates/squawk_syntax/test_data/validation/stmts.sql new file mode 100644 index 000000000..9aeca8927 --- /dev/null +++ b/crates/squawk_syntax/test_data/validation/stmts.sql @@ -0,0 +1,7 @@ +create table t () +create table t (); + +create table u (); +create table v (); + +select 1;;select 2;