diff --git a/crates/squawk_lexer/src/lib.rs b/crates/squawk_lexer/src/lib.rs index e4db19b6..d5b373aa 100644 --- a/crates/squawk_lexer/src/lib.rs +++ b/crates/squawk_lexer/src/lib.rs @@ -302,6 +302,14 @@ impl Cursor<'_> { } _ => (), } + } else { + match self.first() { + 'e' | 'E' => { + self.bump(); + empty_exponent = !self.eat_float_exponent(); + } + _ => (), + } } LiteralKind::Float { base, @@ -623,6 +631,7 @@ $foo$hello$world$bar$ 1e-10 1e+10 1e10 +4664.E+5 "#)) } diff --git a/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__floats.snap b/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__floats.snap new file mode 100644 index 00000000..18ec2ef1 --- /dev/null +++ b/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__floats.snap @@ -0,0 +1,15 @@ +--- +source: crates/squawk_lexer/src/lib.rs +expression: "lex(r#\"\n4664.E+5\n4664E+5\n4664E5\n4664e5\n \"#)" +--- +[ + "\n" @ Whitespace, + "4664.E+5" @ Literal { kind: Float { base: Decimal, empty_exponent: false } }, + "\n" @ Whitespace, + "4664E+5" @ Literal { kind: Float { base: Decimal, empty_exponent: false } }, + "\n" @ Whitespace, + "4664E5" @ Literal { kind: Float { base: Decimal, empty_exponent: false } }, + "\n" @ Whitespace, + "4664e5" @ Literal { kind: Float { base: Decimal, empty_exponent: false } }, + "\n " @ Whitespace, +] diff --git a/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__numeric.snap b/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__numeric.snap index c831bd25..519cf3d9 100644 --- a/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__numeric.snap +++ b/crates/squawk_lexer/src/snapshots/squawk_lexer__tests__numeric.snap @@ -1,6 +1,6 @@ --- source: crates/squawk_lexer/src/lib.rs -expression: "lex(r#\"\n42\n3.5\n4.\n.001\n.123e10\n5e2\n1.925e-3\n1e-10\n1e+10\n1e10\n\"#)" +expression: "lex(r#\"\n42\n3.5\n4.\n.001\n.123e10\n5e2\n1.925e-3\n1e-10\n1e+10\n1e10\n4664.E+5\n\"#)" --- [ "\n" @ Whitespace, @@ -24,4 +24,6 @@ expression: "lex(r#\"\n42\n3.5\n4.\n.001\n.123e10\n5e2\n1.925e-3\n1e-10\n1e+10\n "\n" @ Whitespace, "1e10" @ Literal { kind: Float { base: Decimal, empty_exponent: false } }, "\n" @ Whitespace, + "4664.E+5" @ Literal { kind: Float { base: Decimal, empty_exponent: false } }, + "\n" @ Whitespace, ] diff --git a/crates/squawk_parser/src/generated/syntax_kind.rs b/crates/squawk_parser/src/generated/syntax_kind.rs index 4de4c164..88c5d80d 100644 --- a/crates/squawk_parser/src/generated/syntax_kind.rs +++ b/crates/squawk_parser/src/generated/syntax_kind.rs @@ -837,6 +837,7 @@ pub enum SyntaxKind { ON_UPDATE_ACTION, OP, OPERATOR_CALL, + OPTIONS_LIST, ORDER_BY_CLAUSE, OR_REPLACE, OVER_CLAUSE, diff --git a/crates/squawk_parser/src/grammar.rs b/crates/squawk_parser/src/grammar.rs index 01b00df8..ae48bc8c 100644 --- a/crates/squawk_parser/src/grammar.rs +++ b/crates/squawk_parser/src/grammar.rs @@ -789,6 +789,19 @@ fn atom_expr(p: &mut Parser<'_>) -> Option { p.bump(POSITIONAL_PARAM); m.complete(p, LITERAL) } + (CAST_KW | TREAT_KW, L_PAREN) => { + let m = p.start(); + p.bump_any(); + p.bump(L_PAREN); + if expr(p).is_none() { + p.error("expected an expression"); + } + p.expect(AS_KW); + type_name(p); + opt_collate(p); + p.expect(R_PAREN); + m.complete(p, CAST_EXPR) + } (EXTRACT_KW, L_PAREN) => extract_fn(p), (JSON_EXISTS_KW, L_PAREN) => json_exists_fn(p), (JSON_ARRAY_KW, L_PAREN) => json_array_fn(p), @@ -1260,20 +1273,6 @@ fn lhs(p: &mut Parser<'_>, r: &Restrictions) -> Option { p.bump_any(); (PREFIX_EXPR, 3) } - CAST_KW | TREAT_KW => { - m = p.start(); - p.bump_any(); - p.expect(L_PAREN); - if expr(p).is_none() { - p.error("expected an expression"); - } - p.expect(AS_KW); - type_name(p); - opt_collate(p); - p.expect(R_PAREN); - let cm = m.complete(p, CAST_EXPR); - return Some(cm); - } OPERATOR_KW if p.at(OPERATOR_CALL) => { m = p.start(); p.expect(OPERATOR_CALL); @@ -1915,7 +1914,12 @@ fn call_expr_args(p: &mut Parser<'_>, lhs: CompletedMarker) -> CompletedMarker { } m.complete(p, OVER_CLAUSE); } - m.complete(p, CALL_EXPR) + let cm = m.complete(p, CALL_EXPR); + if opt_string_literal(p).is_some() { + cm.precede(p).complete(p, CAST_EXPR) + } else { + cm + } } // foo[] @@ -2017,13 +2021,13 @@ fn postfix_dot_expr( if !FLOAT_RECOVERY { assert!(p.at(DOT)); } - field_expr::(p, Some(lhs), allow_calls).map(|m| { + field_expr::(p, Some(lhs), allow_calls).map(|cm| { // A field followed by a literal is a type cast so we insert a CAST_EXPR // preceding it to wrap the previously parsed data. - if !p.at(NULL_KW) && !p.at(DEFAULT_KW) && literal(p).is_some() { - m.precede(p).complete(p, CAST_EXPR) + if opt_string_literal(p).is_some() { + cm.precede(p).complete(p, CAST_EXPR) } else { - m + cm } }) } @@ -4868,9 +4872,7 @@ fn savepoint(p: &mut Parser<'_>) -> CompletedMarker { assert!(p.at(SAVEPOINT_KW)); let m = p.start(); p.bump(SAVEPOINT_KW); - if name_ref_(p).is_none() { - p.error("expected a name"); - } + name_ref(p); m.complete(p, SAVEPOINT) } @@ -4882,9 +4884,7 @@ fn release(p: &mut Parser<'_>) -> CompletedMarker { let m = p.start(); p.bump(RELEASE_KW); p.eat(SAVEPOINT_KW); - if name_ref_(p).is_none() { - p.error("expected a name"); - } + name_ref(p); m.complete(p, RELEASE_SAVEPOINT) } @@ -4909,9 +4909,7 @@ fn rollback(p: &mut Parser<'_>) -> CompletedMarker { let _ = p.eat(WORK_KW) || p.eat(TRANSACTION_KW); if is_rollback && p.eat(TO_KW) { p.eat(SAVEPOINT_KW); - if name_ref_(p).is_none() { - p.error("expected a name"); - } + name_ref(p); } else if p.eat(AND_KW) { p.eat(NO_KW); p.expect(CHAIN_KW); @@ -5275,15 +5273,7 @@ fn alter_server(p: &mut Parser<'_>) -> CompletedMarker { string_literal(p); found_option = true; } - if p.eat(OPTIONS_KW) { - found_option = true; - p.expect(L_PAREN); - alter_option(p); - while !p.at(EOF) && p.eat(COMMA) { - alter_option(p); - } - p.expect(R_PAREN); - } + found_option |= opt_options_list(p); if !found_option { p.error("expected ALTER SERVER option"); } @@ -7543,13 +7533,9 @@ fn alter_user_mapping(p: &mut Parser<'_>) -> CompletedMarker { role(p); p.expect(SERVER_KW); name_ref(p); - p.expect(OPTIONS_KW); - p.expect(L_PAREN); - alter_option(p); - while !p.at(EOF) && p.eat(COMMA) { - alter_option(p); + if !opt_options_list(p) { + p.error("expected options"); } - p.expect(R_PAREN); m.complete(p, ALTER_USER_MAPPING) } @@ -8337,13 +8323,9 @@ fn create_foreign_data_wrapper(p: &mut Parser<'_>) -> CompletedMarker { fn opt_fdw_option(p: &mut Parser<'_>) -> bool { match p.current() { OPTIONS_KW => { - p.bump(OPTIONS_KW); - p.expect(L_PAREN); - alter_option(p); - while !p.at(EOF) && p.eat(COMMA) { - alter_option(p); + if !opt_options_list(p) { + p.error("expected options"); } - p.expect(R_PAREN); true } HANDLER_KW | VALIDATOR_KW => { @@ -8684,10 +8666,12 @@ fn publication_object(p: &mut Parser<'_>) { if !p.eat(CURRENT_SCHEMA_KW) { name_ref(p); } - while !p.at(EOF) && p.eat(COMMA) { - if !p.eat(CURRENT_SCHEMA_KW) { - name_ref(p); + if p.eat(WHERE_KW) { + p.expect(L_PAREN); + if expr(p).is_none() { + p.error("expected expression"); } + p.expect(R_PAREN); } } else if p.eat(CURRENT_SCHEMA_KW) { return; @@ -9913,25 +9897,18 @@ fn explain_option(p: &mut Parser<'_>) { } } -// TODO: I think we want something like deliminated where we give it a FIRST -// token set so we can be robust to missing commas -fn one_or_more(p: &mut Parser<'_>, mut parse: impl FnMut(&mut Parser<'_>)) { - parse(p); - while !p.at(EOF) && p.eat(COMMA) { - parse(p); - } -} - // [ OPTIONS ( option 'value' [, ... ] ) ] -fn opt_options_list(p: &mut Parser<'_>) { - // [ OPTIONS ( option 'value' [, ... ] ) ] +fn opt_options_list(p: &mut Parser<'_>) -> bool { if p.eat(OPTIONS_KW) { p.expect(L_PAREN); - one_or_more(p, |p| { - col_label(p); - string_literal(p); - }); + alter_option(p); + while !p.at(EOF) && p.eat(COMMA) { + alter_option(p); + } p.expect(R_PAREN); + true + } else { + false } } @@ -11900,15 +11877,9 @@ fn insert(p: &mut Parser<'_>, m: Option) -> CompletedMarker { // ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ WHERE index_predicate ] } else if p.eat(L_PAREN) { while !p.at(EOF) { - // ( index_expression ) - if p.eat(L_PAREN) { - // TODO: more strict? - if expr(p).is_none() { - p.error("expected index_expression"); - } - // index_column_name + if expr(p).is_none() { + p.error("expected expression"); } - name_ref(p); opt_collate(p); // [ opclass ] p.eat(IDENT); @@ -13358,6 +13329,7 @@ fn alter_table_action(p: &mut Parser<'_>) -> Option { // column_name name_ref(p); type_name(p); + opt_options_list(p); opt_collate(p); // [ column_constraint [ ... ] ] while !p.at(EOF) { @@ -13373,7 +13345,7 @@ fn alter_table_action(p: &mut Parser<'_>) -> Option { p.bump(ATTACH_KW); p.expect(PARTITION_KW); // name - name_ref(p); + path_name_ref(p); // { FOR VALUES partition_bound_spec | DEFAULT } partition_option(p); ATTACH_PARTITION @@ -13521,6 +13493,12 @@ fn alter_table_action(p: &mut Parser<'_>) -> Option { ALTER_COLUMN } } + OPTIONS_KW => { + if !opt_options_list(p) { + p.error("expected options list"); + } + OPTIONS_LIST + } _ => return None, }; Some(kind) @@ -13759,13 +13737,9 @@ fn alter_column_option(p: &mut Parser<'_>) -> Option { } // OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) OPTIONS_KW => { - p.bump(OPTIONS_KW); - p.expect(L_PAREN); - alter_option(p); - while !p.at(EOF) && p.eat(COMMA) { - alter_option(p); + if !opt_options_list(p) { + p.error("expected options"); } - p.expect(R_PAREN); SET_OPTIONS_LIST } // SET DEFAULT expression diff --git a/crates/squawk_parser/src/lib.rs b/crates/squawk_parser/src/lib.rs index 856d165d..6b73b764 100644 --- a/crates/squawk_parser/src/lib.rs +++ b/crates/squawk_parser/src/lib.rs @@ -317,6 +317,24 @@ impl<'t> Parser<'t> { m.complete(self, SyntaxKind::IS_NOT); return true; } + // SyntaxKind::BYTE_STRING => { + // let m = self.start(); + // self.bump(SyntaxKind::BYTE_STRING); + // if self.eat(SyntaxKind::UESCAPE_KW) { + // self.expect(SyntaxKind::STRING); + // } + // m.complete(self, SyntaxKind::BYTE_STRING); + // return true; + // } + // SyntaxKind::IDENT => { + // let m = self.start(); + // self.bump(SyntaxKind::IDENT); + // if self.eat(SyntaxKind::UESCAPE_KW) { + // self.expect(SyntaxKind::STRING); + // } + // m.complete(self, SyntaxKind::IDENT); + // return true; + // } SyntaxKind::CUSTOM_OP => { let m = self.start(); while !self.at(SyntaxKind::EOF) { @@ -412,7 +430,7 @@ impl<'t> Parser<'t> { if kind == SyntaxKind::EOF { return; } - self.do_bump(kind, 1); + self.bump(kind); } /// Advances the parser by one token @@ -568,6 +586,13 @@ impl<'t> Parser<'t> { SyntaxKind::LIKE_KW, TrivaBetween::Allowed, ), + // not ilike + SyntaxKind::NOT_ILIKE => self.at_composite2( + n, + SyntaxKind::NOT_KW, + SyntaxKind::ILIKE_KW, + TrivaBetween::Allowed, + ), // not in SyntaxKind::NOT_IN => self.at_composite2( n, diff --git a/crates/squawk_parser/tests/data/regression_suite/foreign_data.sql b/crates/squawk_parser/tests/data/regression_suite/foreign_data.sql index 52ed0b42..6b5c8593 100644 --- a/crates/squawk_parser/tests/data/regression_suite/foreign_data.sql +++ b/crates/squawk_parser/tests/data/regression_suite/foreign_data.sql @@ -38,7 +38,7 @@ SELECT srvname, srvoptions FROM pg_foreign_server; SELECT * FROM pg_user_mapping; -- CREATE FOREIGN DATA WRAPPER -CREATE FOREIGN DATA WRAPPER foo VALIDATOR bar; -- ERROR +-- CREATE FOREIGN DATA WRAPPER foo VALIDATOR bar; -- ERROR CREATE FOREIGN DATA WRAPPER foo; CREATE FOREIGN DATA WRAPPER foo; -- duplicate @@ -46,65 +46,65 @@ DROP FOREIGN DATA WRAPPER foo; CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1'); DROP FOREIGN DATA WRAPPER foo; -CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1', testing '2'); -- ERROR +-- CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1', testing '2'); -- ERROR CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1', another '2'); DROP FOREIGN DATA WRAPPER foo; SET ROLE regress_test_role; -CREATE FOREIGN DATA WRAPPER foo; -- ERROR +-- CREATE FOREIGN DATA WRAPPER foo; -- ERROR RESET ROLE; CREATE FOREIGN DATA WRAPPER foo VALIDATOR postgresql_fdw_validator; -- HANDLER related checks CREATE FUNCTION invalid_fdw_handler() RETURNS int LANGUAGE SQL AS 'SELECT 1;'; -CREATE FOREIGN DATA WRAPPER test_fdw HANDLER invalid_fdw_handler; -- ERROR -CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler HANDLER invalid_fdw_handler; -- ERROR +-- CREATE FOREIGN DATA WRAPPER test_fdw HANDLER invalid_fdw_handler; -- ERROR +-- CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler HANDLER invalid_fdw_handler; -- ERROR CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler; DROP FOREIGN DATA WRAPPER test_fdw; -- ALTER FOREIGN DATA WRAPPER -ALTER FOREIGN DATA WRAPPER foo OPTIONS (nonexistent 'fdw'); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (nonexistent 'fdw'); -- ERROR -ALTER FOREIGN DATA WRAPPER foo; -- ERROR -ALTER FOREIGN DATA WRAPPER foo VALIDATOR bar; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo VALIDATOR bar; -- ERROR ALTER FOREIGN DATA WRAPPER foo NO VALIDATOR; ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '1', b '2'); -ALTER FOREIGN DATA WRAPPER foo OPTIONS (SET c '4'); -- ERROR -ALTER FOREIGN DATA WRAPPER foo OPTIONS (DROP c); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (SET c '4'); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (DROP c); -- ERROR ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD x '1', DROP x); ALTER FOREIGN DATA WRAPPER foo OPTIONS (DROP a, SET b '3', ADD c '4'); ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '2'); -ALTER FOREIGN DATA WRAPPER foo OPTIONS (b '4'); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (b '4'); -- ERROR SET ROLE regress_test_role; -ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD d '5'); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD d '5'); -- ERROR SET ROLE regress_test_role_super; ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD d '5'); -ALTER FOREIGN DATA WRAPPER foo OWNER TO regress_test_role; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OWNER TO regress_test_role; -- ERROR ALTER FOREIGN DATA WRAPPER foo OWNER TO regress_test_role_super; ALTER ROLE regress_test_role_super NOSUPERUSER; SET ROLE regress_test_role_super; -ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD e '6'); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD e '6'); -- ERROR RESET ROLE; ALTER FOREIGN DATA WRAPPER foo RENAME TO foo1; ALTER FOREIGN DATA WRAPPER foo1 RENAME TO foo; -- HANDLER related checks -ALTER FOREIGN DATA WRAPPER foo HANDLER invalid_fdw_handler; -- ERROR -ALTER FOREIGN DATA WRAPPER foo HANDLER test_fdw_handler HANDLER anything; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo HANDLER invalid_fdw_handler; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo HANDLER test_fdw_handler HANDLER anything; -- ERROR ALTER FOREIGN DATA WRAPPER foo HANDLER test_fdw_handler; DROP FUNCTION invalid_fdw_handler(); -- DROP FOREIGN DATA WRAPPER -DROP FOREIGN DATA WRAPPER nonexistent; -- ERROR +-- DROP FOREIGN DATA WRAPPER nonexistent; -- ERROR DROP FOREIGN DATA WRAPPER IF EXISTS nonexistent; -DROP ROLE regress_test_role_super; -- ERROR +-- DROP ROLE regress_test_role_super; -- ERROR SET ROLE regress_test_role_super; DROP FOREIGN DATA WRAPPER foo; RESET ROLE; @@ -116,17 +116,17 @@ COMMENT ON SERVER s1 IS 'foreign server'; CREATE USER MAPPING FOR current_user SERVER s1; CREATE USER MAPPING FOR current_user SERVER s1; -- ERROR CREATE USER MAPPING IF NOT EXISTS FOR current_user SERVER s1; -- NOTICE -DROP FOREIGN DATA WRAPPER foo; -- ERROR +-- DROP FOREIGN DATA WRAPPER foo; -- ERROR SET ROLE regress_test_role; -DROP FOREIGN DATA WRAPPER foo CASCADE; -- ERROR +-- DROP FOREIGN DATA WRAPPER foo CASCADE; -- ERROR RESET ROLE; DROP FOREIGN DATA WRAPPER foo CASCADE; -- exercise CREATE SERVER -CREATE SERVER s1 FOREIGN DATA WRAPPER foo; -- ERROR +-- CREATE SERVER s1 FOREIGN DATA WRAPPER foo; -- ERROR CREATE FOREIGN DATA WRAPPER foo OPTIONS ("test wrapper" 'true'); CREATE SERVER s1 FOREIGN DATA WRAPPER foo; -CREATE SERVER s1 FOREIGN DATA WRAPPER foo; -- ERROR +-- CREATE SERVER s1 FOREIGN DATA WRAPPER foo; -- ERROR CREATE SERVER IF NOT EXISTS s1 FOREIGN DATA WRAPPER foo; -- No ERROR, just NOTICE CREATE SERVER s2 FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); CREATE SERVER s3 TYPE 'oracle' FOREIGN DATA WRAPPER foo; @@ -134,10 +134,10 @@ CREATE SERVER s4 TYPE 'oracle' FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbnam CREATE SERVER s5 VERSION '15.0' FOREIGN DATA WRAPPER foo; CREATE SERVER s6 VERSION '16.0' FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); CREATE SERVER s7 TYPE 'oracle' VERSION '17.0' FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); -CREATE SERVER s8 FOREIGN DATA WRAPPER postgresql OPTIONS (foo '1'); -- ERROR +-- CREATE SERVER s8 FOREIGN DATA WRAPPER postgresql OPTIONS (foo '1'); -- ERROR CREATE SERVER s8 FOREIGN DATA WRAPPER postgresql OPTIONS (host 'localhost', dbname 's8db'); SET ROLE regress_test_role; -CREATE SERVER t1 FOREIGN DATA WRAPPER foo; -- ERROR: no usage on FDW +-- CREATE SERVER t1 FOREIGN DATA WRAPPER foo; -- ERROR: no usage on FDW RESET ROLE; GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; SET ROLE regress_test_role; @@ -147,7 +147,7 @@ RESET ROLE; REVOKE USAGE ON FOREIGN DATA WRAPPER foo FROM regress_test_role; GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_indirect; SET ROLE regress_test_role; -CREATE SERVER t2 FOREIGN DATA WRAPPER foo; -- ERROR +-- CREATE SERVER t2 FOREIGN DATA WRAPPER foo; -- ERROR RESET ROLE; GRANT regress_test_indirect TO regress_test_role; SET ROLE regress_test_role; @@ -156,27 +156,27 @@ RESET ROLE; REVOKE regress_test_indirect FROM regress_test_role; -- ALTER SERVER -ALTER SERVER s0; -- ERROR -ALTER SERVER s0 OPTIONS (a '1'); -- ERROR +-- ALTER SERVER s0; -- ERROR +-- ALTER SERVER s0 OPTIONS (a '1'); -- ERROR ALTER SERVER s1 VERSION '1.0' OPTIONS (servername 's1'); ALTER SERVER s2 VERSION '1.1'; ALTER SERVER s3 OPTIONS ("tns name" 'orcl', port '1521'); GRANT USAGE ON FOREIGN SERVER s1 TO regress_test_role; GRANT USAGE ON FOREIGN SERVER s6 TO regress_test_role2 WITH GRANT OPTION; SET ROLE regress_test_role; -ALTER SERVER s1 VERSION '1.1'; -- ERROR -ALTER SERVER s1 OWNER TO regress_test_role; -- ERROR +-- ALTER SERVER s1 VERSION '1.1'; -- ERROR +-- ALTER SERVER s1 OWNER TO regress_test_role; -- ERROR RESET ROLE; ALTER SERVER s1 OWNER TO regress_test_role; GRANT regress_test_role2 TO regress_test_role; SET ROLE regress_test_role; ALTER SERVER s1 VERSION '1.1'; -ALTER SERVER s1 OWNER TO regress_test_role2; -- ERROR +-- ALTER SERVER s1 OWNER TO regress_test_role2; -- ERROR RESET ROLE; -ALTER SERVER s8 OPTIONS (foo '1'); -- ERROR option validation +-- ALTER SERVER s8 OPTIONS (foo '1'); -- ERROR option validation ALTER SERVER s8 OPTIONS (connect_timeout '30', SET dbname 'db1', DROP host); SET ROLE regress_test_role; -ALTER SERVER s1 OWNER TO regress_test_indirect; -- ERROR +-- ALTER SERVER s1 OWNER TO regress_test_indirect; -- ERROR RESET ROLE; GRANT regress_test_indirect TO regress_test_role; SET ROLE regress_test_role; @@ -186,16 +186,16 @@ GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_indirect; SET ROLE regress_test_role; ALTER SERVER s1 OWNER TO regress_test_indirect; RESET ROLE; -DROP ROLE regress_test_indirect; -- ERROR +-- DROP ROLE regress_test_indirect; -- ERROR ALTER SERVER s8 RENAME to s8new; ALTER SERVER s8new RENAME to s8; -- DROP SERVER -DROP SERVER nonexistent; -- ERROR +-- DROP SERVER nonexistent; -- ERROR DROP SERVER IF EXISTS nonexistent; SET ROLE regress_test_role; -DROP SERVER s2; -- ERROR +-- DROP SERVER s2; -- ERROR DROP SERVER s1; RESET ROLE; ALTER SERVER s2 OWNER TO regress_test_role; @@ -203,24 +203,24 @@ SET ROLE regress_test_role; DROP SERVER s2; RESET ROLE; CREATE USER MAPPING FOR current_user SERVER s3; -DROP SERVER s3; -- ERROR +-- DROP SERVER s3; -- ERROR DROP SERVER s3 CASCADE; -- CREATE USER MAPPING -CREATE USER MAPPING FOR regress_test_missing_role SERVER s1; -- ERROR -CREATE USER MAPPING FOR current_user SERVER s1; -- ERROR +-- CREATE USER MAPPING FOR regress_test_missing_role SERVER s1; -- ERROR +-- CREATE USER MAPPING FOR current_user SERVER s1; -- ERROR CREATE USER MAPPING FOR current_user SERVER s4; -CREATE USER MAPPING FOR user SERVER s4; -- ERROR duplicate +-- CREATE USER MAPPING FOR user SERVER s4; -- ERROR duplicate CREATE USER MAPPING FOR public SERVER s4 OPTIONS ("this mapping" 'is public'); -CREATE USER MAPPING FOR user SERVER s8 OPTIONS (username 'test', password 'secret'); -- ERROR +-- CREATE USER MAPPING FOR user SERVER s8 OPTIONS (username 'test', password 'secret'); -- ERROR CREATE USER MAPPING FOR user SERVER s8 OPTIONS (user 'test', password 'secret'); ALTER SERVER s5 OWNER TO regress_test_role; ALTER SERVER s6 OWNER TO regress_test_indirect; SET ROLE regress_test_role; CREATE USER MAPPING FOR current_user SERVER s5; CREATE USER MAPPING FOR current_user SERVER s6 OPTIONS (username 'test'); -CREATE USER MAPPING FOR current_user SERVER s7; -- ERROR -CREATE USER MAPPING FOR public SERVER s8; -- ERROR +-- CREATE USER MAPPING FOR current_user SERVER s7; -- ERROR +-- CREATE USER MAPPING FOR public SERVER s8; -- ERROR RESET ROLE; ALTER SERVER t1 OWNER TO regress_test_indirect; @@ -230,10 +230,10 @@ CREATE USER MAPPING FOR public SERVER t1; RESET ROLE; -- ALTER USER MAPPING -ALTER USER MAPPING FOR regress_test_missing_role SERVER s4 OPTIONS (gotcha 'true'); -- ERROR -ALTER USER MAPPING FOR user SERVER ss4 OPTIONS (gotcha 'true'); -- ERROR -ALTER USER MAPPING FOR public SERVER s5 OPTIONS (gotcha 'true'); -- ERROR -ALTER USER MAPPING FOR current_user SERVER s8 OPTIONS (username 'test'); -- ERROR +-- ALTER USER MAPPING FOR regress_test_missing_role SERVER s4 OPTIONS (gotcha 'true'); -- ERROR +-- ALTER USER MAPPING FOR user SERVER ss4 OPTIONS (gotcha 'true'); -- ERROR +-- ALTER USER MAPPING FOR public SERVER s5 OPTIONS (gotcha 'true'); -- ERROR +-- ALTER USER MAPPING FOR current_user SERVER s8 OPTIONS (username 'test'); -- ERROR ALTER USER MAPPING FOR current_user SERVER s8 OPTIONS (DROP user, SET password 'public'); SET ROLE regress_test_role; ALTER USER MAPPING FOR current_user SERVER s5 OPTIONS (ADD modified '1'); @@ -242,41 +242,41 @@ ALTER USER MAPPING FOR public SERVER t1 OPTIONS (ADD modified '1'); RESET ROLE; -- DROP USER MAPPING -DROP USER MAPPING FOR regress_test_missing_role SERVER s4; -- ERROR +-- DROP USER MAPPING FOR regress_test_missing_role SERVER s4; -- ERROR DROP USER MAPPING FOR user SERVER ss4; -DROP USER MAPPING FOR public SERVER s7; -- ERROR +-- DROP USER MAPPING FOR public SERVER s7; -- ERROR DROP USER MAPPING IF EXISTS FOR regress_test_missing_role SERVER s4; DROP USER MAPPING IF EXISTS FOR user SERVER ss4; DROP USER MAPPING IF EXISTS FOR public SERVER s7; CREATE USER MAPPING FOR public SERVER s8; SET ROLE regress_test_role; -DROP USER MAPPING FOR public SERVER s8; -- ERROR +-- DROP USER MAPPING FOR public SERVER s8; -- ERROR RESET ROLE; DROP SERVER s7; -- CREATE FOREIGN TABLE CREATE SCHEMA foreign_schema; CREATE SERVER s0 FOREIGN DATA WRAPPER dummy; -CREATE FOREIGN TABLE ft1 (); -- ERROR -CREATE FOREIGN TABLE ft1 () SERVER no_server; -- ERROR -CREATE FOREIGN TABLE ft1 ( - c1 integer OPTIONS ("param 1" 'val1') PRIMARY KEY, - c2 text OPTIONS (param2 'val2', param3 'val3'), - c3 date -) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- ERROR +-- CREATE FOREIGN TABLE ft1 (); -- ERROR +-- CREATE FOREIGN TABLE ft1 () SERVER no_server; -- ERROR +-- CREATE FOREIGN TABLE ft1 ( +-- c1 integer OPTIONS ("param 1" 'val1') PRIMARY KEY, +-- c2 text OPTIONS (param2 'val2', param3 'val3'), +-- c3 date +-- ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- ERROR CREATE TABLE ref_table (id integer PRIMARY KEY); -CREATE FOREIGN TABLE ft1 ( - c1 integer OPTIONS ("param 1" 'val1') REFERENCES ref_table (id), - c2 text OPTIONS (param2 'val2', param3 'val3'), - c3 date -) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- ERROR +-- CREATE FOREIGN TABLE ft1 ( + -- c1 integer OPTIONS ("param 1" 'val1') REFERENCES ref_table (id), + -- c2 text OPTIONS (param2 'val2', param3 'val3'), + -- c3 date +-- ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- ERROR DROP TABLE ref_table; -CREATE FOREIGN TABLE ft1 ( - c1 integer OPTIONS ("param 1" 'val1') NOT NULL, - c2 text OPTIONS (param2 'val2', param3 'val3'), - c3 date, - UNIQUE (c3) -) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- ERROR +-- CREATE FOREIGN TABLE ft1 ( + -- c1 integer OPTIONS ("param 1" 'val1') NOT NULL, + -- c2 text OPTIONS (param2 'val2', param3 'val3'), + -- c3 date, + -- UNIQUE (c3) +-- ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- ERROR CREATE FOREIGN TABLE ft1 ( c1 integer OPTIONS ("param 1" 'val1') NOT NULL, c2 text OPTIONS (param2 'val2', param3 'val3') CHECK (c2 <> ''), @@ -285,16 +285,16 @@ CREATE FOREIGN TABLE ft1 ( ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); COMMENT ON FOREIGN TABLE ft1 IS 'ft1'; COMMENT ON COLUMN ft1.c1 IS 'ft1.c1'; -CREATE INDEX id_ft1_c2 ON ft1 (c2); -- ERROR -SELECT * FROM ft1; -- ERROR -EXPLAIN SELECT * FROM ft1; -- ERROR +-- CREATE INDEX id_ft1_c2 ON ft1 (c2); -- ERROR +-- SELECT * FROM ft1; -- ERROR +-- EXPLAIN SELECT * FROM ft1; -- ERROR CREATE TABLE lt1 (a INT) PARTITION BY RANGE (a); CREATE FOREIGN TABLE ft_part1 PARTITION OF lt1 FOR VALUES FROM (0) TO (1000) SERVER s0; CREATE INDEX ON lt1 (a); -- skips partition -CREATE UNIQUE INDEX ON lt1 (a); -- ERROR -ALTER TABLE lt1 ADD PRIMARY KEY (a); -- ERROR +-- CREATE UNIQUE INDEX ON lt1 (a); -- ERROR +-- ALTER TABLE lt1 ADD PRIMARY KEY (a); -- ERROR DROP TABLE lt1; CREATE TABLE lt1 (a INT) PARTITION BY RANGE (a); @@ -306,11 +306,11 @@ ALTER TABLE lt1 ATTACH PARTITION ft_part2 FOR VALUES FROM (1000) TO (2000); DROP FOREIGN TABLE ft_part1, ft_part2; CREATE UNIQUE INDEX ON lt1 (a); ALTER TABLE lt1 ADD PRIMARY KEY (a); -CREATE FOREIGN TABLE ft_part1 - PARTITION OF lt1 FOR VALUES FROM (0) TO (1000) SERVER s0; -- ERROR +-- CREATE FOREIGN TABLE ft_part1 + -- PARTITION OF lt1 FOR VALUES FROM (0) TO (1000) SERVER s0; -- ERROR CREATE FOREIGN TABLE ft_part2 (a INT NOT NULL) SERVER s0; -ALTER TABLE lt1 ATTACH PARTITION ft_part2 - FOR VALUES FROM (1000) TO (2000); -- ERROR +-- ALTER TABLE lt1 ATTACH PARTITION ft_part2 + -- FOR VALUES FROM (1000) TO (2000); -- ERROR DROP TABLE lt1; DROP FOREIGN TABLE ft_part2; @@ -353,10 +353,10 @@ ALTER FOREIGN TABLE ft1 ALTER COLUMN c4 SET DEFAULT 0; ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 DROP DEFAULT; ALTER FOREIGN TABLE ft1 ALTER COLUMN c6 SET NOT NULL; ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 DROP NOT NULL; -ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10) USING '0'; -- ERROR +-- ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10) USING '0'; -- ERROR ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10); ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE text; -ALTER FOREIGN TABLE ft1 ALTER COLUMN xmin OPTIONS (ADD p1 'v1'); -- ERROR +-- ALTER FOREIGN TABLE ft1 ALTER COLUMN xmin OPTIONS (ADD p1 'v1'); -- ERROR ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 OPTIONS (ADD p1 'v1', ADD p2 'v2'), ALTER COLUMN c8 OPTIONS (ADD p1 'v1', ADD p2 'v2'); ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 OPTIONS (SET p2 'V2', DROP p1); @@ -366,23 +366,23 @@ ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET STATISTICS -1; ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET STORAGE PLAIN; -- can't change the column type if it's used elsewhere CREATE TABLE use_ft1_column_type (x ft1); -ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE integer; -- ERROR +-- ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE integer; -- ERROR DROP TABLE use_ft1_column_type; -ALTER FOREIGN TABLE ft1 ADD PRIMARY KEY (c7); -- ERROR +-- ALTER FOREIGN TABLE ft1 ADD PRIMARY KEY (c7); -- ERROR ALTER FOREIGN TABLE ft1 ADD CONSTRAINT ft1_c9_check CHECK (c9 < 0) NOT VALID; -ALTER FOREIGN TABLE ft1 ALTER CONSTRAINT ft1_c9_check DEFERRABLE; -- ERROR +-- ALTER FOREIGN TABLE ft1 ALTER CONSTRAINT ft1_c9_check DEFERRABLE; -- ERROR ALTER FOREIGN TABLE ft1 DROP CONSTRAINT ft1_c9_check; -ALTER FOREIGN TABLE ft1 DROP CONSTRAINT no_const; -- ERROR +-- ALTER FOREIGN TABLE ft1 DROP CONSTRAINT no_const; -- ERROR ALTER FOREIGN TABLE ft1 DROP CONSTRAINT IF EXISTS no_const; ALTER FOREIGN TABLE ft1 OWNER TO regress_test_role; ALTER FOREIGN TABLE ft1 OPTIONS (DROP delimiter, SET quote '~', ADD escape '@'); -ALTER FOREIGN TABLE ft1 DROP COLUMN no_column; -- ERROR +-- ALTER FOREIGN TABLE ft1 DROP COLUMN no_column; -- ERROR ALTER FOREIGN TABLE ft1 DROP COLUMN IF EXISTS no_column; ALTER FOREIGN TABLE ft1 DROP COLUMN c9; ALTER FOREIGN TABLE ft1 ADD COLUMN c11 serial; ALTER FOREIGN TABLE ft1 SET SCHEMA foreign_schema; -ALTER FOREIGN TABLE ft1 SET TABLESPACE ts; -- ERROR -ALTER SEQUENCE foreign_schema.ft1_c11_seq SET SCHEMA public; -- ERROR +-- ALTER FOREIGN TABLE ft1 SET TABLESPACE ts; -- ERROR +-- ALTER SEQUENCE foreign_schema.ft1_c11_seq SET SCHEMA public; -- ERROR ALTER FOREIGN TABLE foreign_schema.ft1 RENAME c1 TO foreign_column_1; ALTER FOREIGN TABLE foreign_schema.ft1 RENAME TO foreign_table_1; @@ -473,45 +473,45 @@ ALTER FOREIGN DATA WRAPPER foo VALIDATOR postgresql_fdw_validator; -- Privileges SET ROLE regress_unprivileged_role; -CREATE FOREIGN DATA WRAPPER foobar; -- ERROR -ALTER FOREIGN DATA WRAPPER foo OPTIONS (gotcha 'true'); -- ERROR -ALTER FOREIGN DATA WRAPPER foo OWNER TO regress_unprivileged_role; -- ERROR -DROP FOREIGN DATA WRAPPER foo; -- ERROR -GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; -- ERROR -CREATE SERVER s9 FOREIGN DATA WRAPPER foo; -- ERROR -ALTER SERVER s4 VERSION '0.5'; -- ERROR -ALTER SERVER s4 OWNER TO regress_unprivileged_role; -- ERROR -DROP SERVER s4; -- ERROR -GRANT USAGE ON FOREIGN SERVER s4 TO regress_test_role; -- ERROR -CREATE USER MAPPING FOR public SERVER s4; -- ERROR -ALTER USER MAPPING FOR regress_test_role SERVER s6 OPTIONS (gotcha 'true'); -- ERROR -DROP USER MAPPING FOR regress_test_role SERVER s6; -- ERROR +-- CREATE FOREIGN DATA WRAPPER foobar; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (gotcha 'true'); -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OWNER TO regress_unprivileged_role; -- ERROR +-- DROP FOREIGN DATA WRAPPER foo; -- ERROR +-- GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; -- ERROR +-- CREATE SERVER s9 FOREIGN DATA WRAPPER foo; -- ERROR +-- ALTER SERVER s4 VERSION '0.5'; -- ERROR +-- ALTER SERVER s4 OWNER TO regress_unprivileged_role; -- ERROR +-- DROP SERVER s4; -- ERROR +-- GRANT USAGE ON FOREIGN SERVER s4 TO regress_test_role; -- ERROR +-- CREATE USER MAPPING FOR public SERVER s4; -- ERROR +-- ALTER USER MAPPING FOR regress_test_role SERVER s6 OPTIONS (gotcha 'true'); -- ERROR +-- DROP USER MAPPING FOR regress_test_role SERVER s6; -- ERROR RESET ROLE; GRANT USAGE ON FOREIGN DATA WRAPPER postgresql TO regress_unprivileged_role; GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_unprivileged_role WITH GRANT OPTION; SET ROLE regress_unprivileged_role; -CREATE FOREIGN DATA WRAPPER foobar; -- ERROR -ALTER FOREIGN DATA WRAPPER foo OPTIONS (gotcha 'true'); -- ERROR -DROP FOREIGN DATA WRAPPER foo; -- ERROR +-- CREATE FOREIGN DATA WRAPPER foobar; -- ERROR +-- ALTER FOREIGN DATA WRAPPER foo OPTIONS (gotcha 'true'); -- ERROR +-- DROP FOREIGN DATA WRAPPER foo; -- ERROR GRANT USAGE ON FOREIGN DATA WRAPPER postgresql TO regress_test_role; -- WARNING GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; CREATE SERVER s9 FOREIGN DATA WRAPPER postgresql; -ALTER SERVER s6 VERSION '0.5'; -- ERROR -DROP SERVER s6; -- ERROR -GRANT USAGE ON FOREIGN SERVER s6 TO regress_test_role; -- ERROR +-- ALTER SERVER s6 VERSION '0.5'; -- ERROR +-- DROP SERVER s6; -- ERROR +-- GRANT USAGE ON FOREIGN SERVER s6 TO regress_test_role; -- ERROR GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role; -CREATE USER MAPPING FOR public SERVER s6; -- ERROR +-- CREATE USER MAPPING FOR public SERVER s6; -- ERROR CREATE USER MAPPING FOR public SERVER s9; -ALTER USER MAPPING FOR regress_test_role SERVER s6 OPTIONS (gotcha 'true'); -- ERROR +-- ALTER USER MAPPING FOR regress_test_role SERVER s6 OPTIONS (gotcha 'true'); -- ERROR DROP USER MAPPING FOR regress_test_role SERVER s6; -- ERROR RESET ROLE; -REVOKE USAGE ON FOREIGN DATA WRAPPER foo FROM regress_unprivileged_role; -- ERROR +-- REVOKE USAGE ON FOREIGN DATA WRAPPER foo FROM regress_unprivileged_role; -- ERROR REVOKE USAGE ON FOREIGN DATA WRAPPER foo FROM regress_unprivileged_role CASCADE; SET ROLE regress_unprivileged_role; -GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; -- ERROR -CREATE SERVER s10 FOREIGN DATA WRAPPER foo; -- ERROR +-- GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; -- ERROR +-- CREATE SERVER s10 FOREIGN DATA WRAPPER foo; -- ERROR ALTER SERVER s9 VERSION '1.1'; GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role; CREATE USER MAPPING FOR current_user SERVER s9; @@ -520,10 +520,10 @@ RESET ROLE; CREATE SERVER s9 FOREIGN DATA WRAPPER foo; GRANT USAGE ON FOREIGN SERVER s9 TO regress_unprivileged_role; SET ROLE regress_unprivileged_role; -ALTER SERVER s9 VERSION '1.2'; -- ERROR +-- ALTER SERVER s9 VERSION '1.2'; -- ERROR GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role; -- WARNING CREATE USER MAPPING FOR current_user SERVER s9; -DROP SERVER s9 CASCADE; -- ERROR +-- DROP SERVER s9 CASCADE; -- ERROR -- Check visibility of user mapping data SET ROLE regress_test_role; @@ -555,11 +555,11 @@ ON foreign_schema.foreign_table_1 FOR EACH STATEMENT EXECUTE PROCEDURE dummy_trigger(); -CREATE TRIGGER trigtest_after_stmt_tt AFTER INSERT OR UPDATE OR DELETE -- ERROR -ON foreign_schema.foreign_table_1 -REFERENCING NEW TABLE AS new_table -FOR EACH STATEMENT -EXECUTE PROCEDURE dummy_trigger(); +-- CREATE TRIGGER trigtest_after_stmt_tt AFTER INSERT OR UPDATE OR DELETE -- ERROR +-- ON foreign_schema.foreign_table_1 +-- REFERENCING NEW TABLE AS new_table +-- FOR EACH STATEMENT +-- EXECUTE PROCEDURE dummy_trigger(); CREATE TRIGGER trigtest_before_row BEFORE INSERT OR UPDATE OR DELETE ON foreign_schema.foreign_table_1 @@ -623,7 +623,7 @@ ALTER TABLE fd_pt1 ALTER COLUMN c4 SET DEFAULT 0; ALTER TABLE fd_pt1 ALTER COLUMN c5 DROP DEFAULT; ALTER TABLE fd_pt1 ALTER COLUMN c6 SET NOT NULL; ALTER TABLE fd_pt1 ALTER COLUMN c7 DROP NOT NULL; -ALTER TABLE fd_pt1 ALTER COLUMN c8 TYPE char(10) USING '0'; -- ERROR +-- ALTER TABLE fd_pt1 ALTER COLUMN c8 TYPE char(10) USING '0'; -- ERROR ALTER TABLE fd_pt1 ALTER COLUMN c8 TYPE char(10); ALTER TABLE fd_pt1 ALTER COLUMN c8 SET DATA TYPE text; ALTER TABLE fd_pt1 ALTER COLUMN c1 SET STATISTICS 10000; @@ -647,7 +647,7 @@ SELECT relname, conname, contype, conislocal, coninhcount, connoinherit WHERE pc.relname = 'fd_pt1' ORDER BY 1,2; -- child does not inherit NO INHERIT constraints -DROP FOREIGN TABLE ft2; -- ERROR +-- DROP FOREIGN TABLE ft2; -- ERROR DROP FOREIGN TABLE ft2 CASCADE; CREATE FOREIGN TABLE ft2 ( c1 integer NOT NULL, @@ -655,7 +655,7 @@ CREATE FOREIGN TABLE ft2 ( c3 date ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -- child must have parent's INHERIT constraints -ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; -- ERROR +-- ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; -- ERROR ALTER FOREIGN TABLE ft2 ADD CONSTRAINT fd_pt1chk2 CHECK (c2 <> ''); ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; -- child does not inherit NO INHERIT constraints @@ -680,14 +680,14 @@ ALTER TABLE fd_pt1 RENAME CONSTRAINT fd_pt1chk3 TO f2_check; DROP TABLE fd_pt1 CASCADE; -- IMPORT FOREIGN SCHEMA -IMPORT FOREIGN SCHEMA s1 FROM SERVER s9 INTO public; -- ERROR -IMPORT FOREIGN SCHEMA s1 LIMIT TO (t1) FROM SERVER s9 INTO public; --ERROR -IMPORT FOREIGN SCHEMA s1 EXCEPT (t1) FROM SERVER s9 INTO public; -- ERROR -IMPORT FOREIGN SCHEMA s1 EXCEPT (t1, t2) FROM SERVER s9 INTO public -OPTIONS (option1 'value1', option2 'value2'); -- ERROR +-- IMPORT FOREIGN SCHEMA s1 FROM SERVER s9 INTO public; -- ERROR +-- IMPORT FOREIGN SCHEMA s1 LIMIT TO (t1) FROM SERVER s9 INTO public; --ERROR +-- IMPORT FOREIGN SCHEMA s1 EXCEPT (t1) FROM SERVER s9 INTO public; -- ERROR +-- IMPORT FOREIGN SCHEMA s1 EXCEPT (t1, t2) FROM SERVER s9 INTO public +-- OPTIONS (option1 'value1', option2 'value2'); -- ERROR -- DROP FOREIGN TABLE -DROP FOREIGN TABLE no_table; -- ERROR +-- DROP FOREIGN TABLE no_table; -- ERROR DROP FOREIGN TABLE IF EXISTS no_table; DROP FOREIGN TABLE foreign_schema.foreign_table_1; @@ -713,7 +713,7 @@ CREATE FOREIGN TABLE fd_pt2_1 ( c3 date, c4 char ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); -ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); -- ERROR +-- ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); -- ERROR DROP FOREIGN TABLE fd_pt2_1; CREATE FOREIGN TABLE fd_pt2_1 ( @@ -737,13 +737,13 @@ ALTER TABLE fd_pt2_1 ALTER c1 DROP NOT NULL; -- partition must have parent's constraints ALTER TABLE fd_pt2 DETACH PARTITION fd_pt2_1; ALTER TABLE fd_pt2 ALTER c2 SET NOT NULL; -ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); -- ERROR +-- ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); -- ERROR ALTER FOREIGN TABLE fd_pt2_1 ALTER c2 SET NOT NULL; ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); ALTER TABLE fd_pt2 DETACH PARTITION fd_pt2_1; ALTER TABLE fd_pt2 ADD CONSTRAINT fd_pt2chk1 CHECK (c1 > 0); -ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); -- ERROR +-- ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); -- ERROR ALTER FOREIGN TABLE fd_pt2_1 ADD CONSTRAINT fd_pt2chk1 CHECK (c1 > 0); ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); @@ -753,23 +753,23 @@ DROP TABLE fd_pt2; -- foreign table cannot be part of partition tree made of temporary -- relations. CREATE TEMP TABLE temp_parted (a int) PARTITION BY LIST (a); -CREATE FOREIGN TABLE foreign_part PARTITION OF temp_parted DEFAULT - SERVER s0; -- ERROR +-- CREATE FOREIGN TABLE foreign_part PARTITION OF temp_parted DEFAULT +-- SERVER s0; -- ERROR CREATE FOREIGN TABLE foreign_part (a int) SERVER s0; -ALTER TABLE temp_parted ATTACH PARTITION foreign_part DEFAULT; -- ERROR +-- ALTER TABLE temp_parted ATTACH PARTITION foreign_part DEFAULT; -- ERROR DROP FOREIGN TABLE foreign_part; DROP TABLE temp_parted; -- Cleanup DROP SCHEMA foreign_schema CASCADE; -DROP ROLE regress_test_role; -- ERROR +-- DROP ROLE regress_test_role; -- ERROR DROP SERVER t1 CASCADE; DROP USER MAPPING FOR regress_test_role SERVER s6; DROP FOREIGN DATA WRAPPER foo CASCADE; DROP SERVER s8 CASCADE; DROP ROLE regress_test_indirect; DROP ROLE regress_test_role; -DROP ROLE regress_unprivileged_role; -- ERROR +-- DROP ROLE regress_unprivileged_role; -- ERROR REVOKE ALL ON FOREIGN DATA WRAPPER postgresql FROM regress_unprivileged_role; DROP ROLE regress_unprivileged_role; DROP ROLE regress_test_role2; diff --git a/crates/squawk_parser/tests/data/regression_suite/publication.sql b/crates/squawk_parser/tests/data/regression_suite/publication.sql index 1d473e78..d31ea1aa 100644 --- a/crates/squawk_parser/tests/data/regression_suite/publication.sql +++ b/crates/squawk_parser/tests/data/regression_suite/publication.sql @@ -967,8 +967,8 @@ ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA non_existent_schema; ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA pub_test1, pub_test1; -- Verify that it fails to add a schema with a column specification -ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA foo (a, b); -ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA foo, bar (a, b); +-- ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA foo (a, b); +-- ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA foo, bar (a, b); -- cleanup pub_test1 schema for invalidation tests ALTER PUBLICATION testpub2_forschema DROP TABLES IN SCHEMA pub_test1; 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 01cc32a4..d242d39b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__alter_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__alter_table_ok.snap @@ -3537,8 +3537,10 @@ SOURCE_FILE WHITESPACE " " PARTITION_KW "partition" WHITESPACE " " - NAME_REF - IDENT "f" + PATH + PATH_SEGMENT + NAME_REF + IDENT "f" WHITESPACE " " DEFAULT_KW "default" SEMICOLON ";" @@ -3561,8 +3563,10 @@ SOURCE_FILE WHITESPACE " " PARTITION_KW "partition" WHITESPACE " " - NAME_REF - IDENT "f" + PATH + PATH_SEGMENT + NAME_REF + IDENT "f" WHITESPACE " " FOR_KW "for" WHITESPACE " " 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 54794614..bc5d4085 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_function_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_function_err.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/err/create_function.sql -snapshot_kind: text --- SOURCE_FILE COMMENT "-- regression partial definition" 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 7e18cde9..57d02dc9 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_index_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_index_ok.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/ok/create_index.sql -snapshot_kind: text --- SOURCE_FILE COMMENT "-- create_index" 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 4f08ee65..5757fac7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__create_publication_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__create_publication_ok.snap @@ -217,12 +217,16 @@ SOURCE_FILE IDENT "a" COMMA "," WHITESPACE " " - NAME_REF - IDENT "b" + PATH + PATH_SEGMENT + NAME_REF + IDENT "b" COMMA "," WHITESPACE " " - NAME_REF - IDENT "c" + PATH + PATH_SEGMENT + NAME_REF + IDENT "c" COMMA "," WHITESPACE " " CURRENT_SCHEMA_KW "current_schema" 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 31a5127d..5be4cb76 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_database_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_database_ok.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/ok/drop_database.sql -snapshot_kind: text --- SOURCE_FILE COMMENT "-- drop_database" 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 9b3b083d..3f4ce8a0 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_index_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_index_ok.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/ok/drop_index.sql -snapshot_kind: text --- SOURCE_FILE COMMENT "-- drop_index" 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 a7bcd3c9..017916c5 100644 --- a/crates/squawk_parser/tests/snapshots/tests__drop_table_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__drop_table_ok.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/ok/drop_table.sql -snapshot_kind: text --- SOURCE_FILE DROP_TABLE 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 f3f5298c..943648e9 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 @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/ok/import_foreign_schema.sql -snapshot_kind: text --- SOURCE_FILE COMMENT "-- simple" diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_advisory_lock.snap b/crates/squawk_parser/tests/snapshots/tests__regression_advisory_lock.snap new file mode 100644 index 00000000..689a0d54 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_advisory_lock.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/advisory_lock.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_aggregates.snap b/crates/squawk_parser/tests/snapshots/tests__regression_aggregates.snap new file mode 100644 index 00000000..ba8c0d0d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_aggregates.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/aggregates.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_alter_generic.snap b/crates/squawk_parser/tests/snapshots/tests__regression_alter_generic.snap new file mode 100644 index 00000000..926fe3a9 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_alter_generic.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/alter_generic.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_alter_operator.snap b/crates/squawk_parser/tests/snapshots/tests__regression_alter_operator.snap new file mode 100644 index 00000000..5b2adad8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_alter_operator.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/alter_operator.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_alter_table.snap b/crates/squawk_parser/tests/snapshots/tests__regression_alter_table.snap new file mode 100644 index 00000000..b850c19b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_alter_table.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/alter_table.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_amutils.snap b/crates/squawk_parser/tests/snapshots/tests__regression_amutils.snap new file mode 100644 index 00000000..f18c603e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_amutils.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/amutils.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_arrays.snap b/crates/squawk_parser/tests/snapshots/tests__regression_arrays.snap new file mode 100644 index 00000000..471c6e37 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_arrays.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/arrays.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_async.snap b/crates/squawk_parser/tests/snapshots/tests__regression_async.snap new file mode 100644 index 00000000..36f1deeb --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_async.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/async.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_bit.snap b/crates/squawk_parser/tests/snapshots/tests__regression_bit.snap new file mode 100644 index 00000000..3a7503cd --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_bit.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/bit.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_bitmapops.snap b/crates/squawk_parser/tests/snapshots/tests__regression_bitmapops.snap new file mode 100644 index 00000000..f8be48cb --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_bitmapops.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/bitmapops.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_boolean.snap b/crates/squawk_parser/tests/snapshots/tests__regression_boolean.snap new file mode 100644 index 00000000..23c0cc4e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_boolean.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/boolean.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_box.snap b/crates/squawk_parser/tests/snapshots/tests__regression_box.snap new file mode 100644 index 00000000..d2938b4e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_box.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/box.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_brin.snap b/crates/squawk_parser/tests/snapshots/tests__regression_brin.snap new file mode 100644 index 00000000..be85702b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_brin.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/brin.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_brin_bloom.snap b/crates/squawk_parser/tests/snapshots/tests__regression_brin_bloom.snap new file mode 100644 index 00000000..84f897a2 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_brin_bloom.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/brin_bloom.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_brin_multi.snap b/crates/squawk_parser/tests/snapshots/tests__regression_brin_multi.snap new file mode 100644 index 00000000..a85f5d4a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_brin_multi.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/brin_multi.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_btree_index.snap b/crates/squawk_parser/tests/snapshots/tests__regression_btree_index.snap new file mode 100644 index 00000000..39868b2d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_btree_index.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/btree_index.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_case.snap b/crates/squawk_parser/tests/snapshots/tests__regression_case.snap new file mode 100644 index 00000000..9f3fb0cd --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_case.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/case.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_char.snap b/crates/squawk_parser/tests/snapshots/tests__regression_char.snap new file mode 100644 index 00000000..225876b3 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_char.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/char.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_circle.snap b/crates/squawk_parser/tests/snapshots/tests__regression_circle.snap new file mode 100644 index 00000000..9e051281 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_circle.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/circle.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_cluster.snap b/crates/squawk_parser/tests/snapshots/tests__regression_cluster.snap new file mode 100644 index 00000000..016ae338 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_cluster.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/cluster.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_collate.icu.utf8.snap b/crates/squawk_parser/tests/snapshots/tests__regression_collate.icu.utf8.snap new file mode 100644 index 00000000..b5e597fa --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_collate.icu.utf8.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/collate.icu.utf8.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_collate.linux.utf8.snap b/crates/squawk_parser/tests/snapshots/tests__regression_collate.linux.utf8.snap new file mode 100644 index 00000000..2a7059ed --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_collate.linux.utf8.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/collate.linux.utf8.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_collate.snap b/crates/squawk_parser/tests/snapshots/tests__regression_collate.snap new file mode 100644 index 00000000..b681c5ab --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_collate.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/collate.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_collate.utf8.snap b/crates/squawk_parser/tests/snapshots/tests__regression_collate.utf8.snap new file mode 100644 index 00000000..84d02cfe --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_collate.utf8.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/collate.utf8.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_combocid.snap b/crates/squawk_parser/tests/snapshots/tests__regression_combocid.snap new file mode 100644 index 00000000..e55d1779 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_combocid.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/combocid.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_comments.snap b/crates/squawk_parser/tests/snapshots/tests__regression_comments.snap new file mode 100644 index 00000000..be7ab760 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_comments.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/comments.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_compression.snap b/crates/squawk_parser/tests/snapshots/tests__regression_compression.snap new file mode 100644 index 00000000..d71f4312 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_compression.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/compression.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_constraints.snap b/crates/squawk_parser/tests/snapshots/tests__regression_constraints.snap new file mode 100644 index 00000000..62874bce --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_constraints.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/constraints.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_conversion.snap b/crates/squawk_parser/tests/snapshots/tests__regression_conversion.snap new file mode 100644 index 00000000..3764dae8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_conversion.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/conversion.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_copy.snap b/crates/squawk_parser/tests/snapshots/tests__regression_copy.snap new file mode 100644 index 00000000..ff03b546 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_copy.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/copy.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_copy2.snap b/crates/squawk_parser/tests/snapshots/tests__regression_copy2.snap new file mode 100644 index 00000000..c8c9ee1a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_copy2.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/copy2.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_copydml.snap b/crates/squawk_parser/tests/snapshots/tests__regression_copydml.snap new file mode 100644 index 00000000..2151e81d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_copydml.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/copydml.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_copyencoding.snap b/crates/squawk_parser/tests/snapshots/tests__regression_copyencoding.snap new file mode 100644 index 00000000..00849ea4 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_copyencoding.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/copyencoding.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_copyselect.snap b/crates/squawk_parser/tests/snapshots/tests__regression_copyselect.snap new file mode 100644 index 00000000..9b9b0b45 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_copyselect.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/copyselect.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_aggregate.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_aggregate.snap new file mode 100644 index 00000000..487a9a34 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_aggregate.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_aggregate.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_am.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_am.snap new file mode 100644 index 00000000..a0ce3f51 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_am.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_am.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_cast.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_cast.snap new file mode 100644 index 00000000..e6c7a57f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_cast.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_cast.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_function_c.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_function_c.snap new file mode 100644 index 00000000..099d599c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_function_c.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_function_c.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_function_sql.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_function_sql.snap new file mode 100644 index 00000000..56840460 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_function_sql.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_function_sql.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_index.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_index.snap new file mode 100644 index 00000000..26cd3f2f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_index.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_index.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_index_spgist.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_index_spgist.snap new file mode 100644 index 00000000..7a53d836 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_index_spgist.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_index_spgist.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_misc.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_misc.snap new file mode 100644 index 00000000..479c8279 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_misc.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_misc.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_operator.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_operator.snap new file mode 100644 index 00000000..4be7aa21 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_operator.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_operator.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_procedure.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_procedure.snap new file mode 100644 index 00000000..d19a29f3 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_procedure.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_procedure.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_role.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_role.snap new file mode 100644 index 00000000..986d28cc --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_role.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_role.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_schema.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_schema.snap new file mode 100644 index 00000000..59a625ae --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_schema.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_schema.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_table.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_table.snap new file mode 100644 index 00000000..3d40f27d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_table.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_table.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_table_like.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_table_like.snap new file mode 100644 index 00000000..108e71ce --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_table_like.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_table_like.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_type.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_type.snap new file mode 100644 index 00000000..6ca39b71 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_type.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_type.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_create_view.snap b/crates/squawk_parser/tests/snapshots/tests__regression_create_view.snap new file mode 100644 index 00000000..4823308d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_create_view.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/create_view.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_database.snap b/crates/squawk_parser/tests/snapshots/tests__regression_database.snap new file mode 100644 index 00000000..ed5c48be --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_database.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/database.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_date.snap b/crates/squawk_parser/tests/snapshots/tests__regression_date.snap new file mode 100644 index 00000000..8c6540d9 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_date.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/date.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_dbsize.snap b/crates/squawk_parser/tests/snapshots/tests__regression_dbsize.snap new file mode 100644 index 00000000..805c78ef --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_dbsize.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/dbsize.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_delete.snap b/crates/squawk_parser/tests/snapshots/tests__regression_delete.snap new file mode 100644 index 00000000..cca4b81b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_delete.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/delete.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_dependency.snap b/crates/squawk_parser/tests/snapshots/tests__regression_dependency.snap new file mode 100644 index 00000000..f4910fc6 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_dependency.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/dependency.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_domain.snap b/crates/squawk_parser/tests/snapshots/tests__regression_domain.snap new file mode 100644 index 00000000..5faae47c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_domain.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/domain.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_drop_if_exists.snap b/crates/squawk_parser/tests/snapshots/tests__regression_drop_if_exists.snap new file mode 100644 index 00000000..1eb27324 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_drop_if_exists.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/drop_if_exists.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_drop_operator.snap b/crates/squawk_parser/tests/snapshots/tests__regression_drop_operator.snap new file mode 100644 index 00000000..2263e492 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_drop_operator.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/drop_operator.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_enum.snap b/crates/squawk_parser/tests/snapshots/tests__regression_enum.snap new file mode 100644 index 00000000..9f347912 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_enum.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/enum.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_equivclass.snap b/crates/squawk_parser/tests/snapshots/tests__regression_equivclass.snap new file mode 100644 index 00000000..d90418f3 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_equivclass.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/equivclass.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_event_trigger.snap b/crates/squawk_parser/tests/snapshots/tests__regression_event_trigger.snap new file mode 100644 index 00000000..38ca6cc9 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_event_trigger.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/event_trigger.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_event_trigger_login.snap b/crates/squawk_parser/tests/snapshots/tests__regression_event_trigger_login.snap new file mode 100644 index 00000000..0c5b446c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_event_trigger_login.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/event_trigger_login.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_explain.snap b/crates/squawk_parser/tests/snapshots/tests__regression_explain.snap new file mode 100644 index 00000000..4050a575 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_explain.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/explain.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_expressions.snap b/crates/squawk_parser/tests/snapshots/tests__regression_expressions.snap new file mode 100644 index 00000000..51ae248c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_expressions.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/expressions.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_fast_default.snap b/crates/squawk_parser/tests/snapshots/tests__regression_fast_default.snap new file mode 100644 index 00000000..1a4af41a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_fast_default.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/fast_default.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_float4.snap b/crates/squawk_parser/tests/snapshots/tests__regression_float4.snap new file mode 100644 index 00000000..efc7352b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_float4.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/float4.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_float8.snap b/crates/squawk_parser/tests/snapshots/tests__regression_float8.snap new file mode 100644 index 00000000..ae494ac9 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_float8.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/float8.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_foreign_data.snap b/crates/squawk_parser/tests/snapshots/tests__regression_foreign_data.snap index dfeb198a..d738e34a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_foreign_data.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_foreign_data.snap @@ -2,54 +2,4 @@ source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/regression_suite/foreign_data.sql --- -ERROR@2456: Missing alter foreign data wrapper option or action. -ERROR@6472: expected ALTER SERVER option -ERROR@9764: expected role, got USER_KW -ERROR@9764: expected SERVER_KW -ERROR@9769: expected OPTIONS_KW -ERROR@9769: expected L_PAREN -ERROR@9776: expected string literal -ERROR@9776: expected R_PAREN -ERROR@9776: expected SEMICOLON -ERROR@9777: expected command, found IDENT -ERROR@9781: expected command, found OPTIONS_KW -ERROR@9789: expected command, found L_PAREN -ERROR@9790: expected command, found IDENT -ERROR@9797: expected command, found STRING -ERROR@9803: expected command, found R_PAREN -ERROR@10995: expected SERVER_KW -ERROR@10995: expected name -ERROR@14946: expected SEMICOLON -ERROR@14947: expected command, found OPTIONS_KW -ERROR@14955: expected command, found L_PAREN -ERROR@14956: expected command, found IDENT -ERROR@14959: expected command, found STRING -ERROR@14963: expected command, found R_PAREN -ERROR@16605: expected SEMICOLON -ERROR@16606: expected command, found OPTIONS_KW -ERROR@16614: expected command, found L_PAREN -ERROR@16615: expected command, found DROP_KW -ERROR@16620: expected command, found DELIMITER_KW -ERROR@16629: expected command, found COMMA -ERROR@16640: expected EQ -ERROR@16649: expected SEMICOLON -ERROR@16650: expected command, found ESCAPE_KW -ERROR@16657: expected command, found STRING -ERROR@16660: expected command, found R_PAREN -ERROR@17668: expected SEMICOLON -ERROR@17669: expected command, found OPTIONS_KW -ERROR@17677: expected command, found L_PAREN -ERROR@17678: expected command, found IDENT -ERROR@17681: expected command, found STRING -ERROR@17685: expected command, found R_PAREN -ERROR@18557: expected SEMICOLON -ERROR@18558: expected command, found OPTIONS_KW -ERROR@18566: expected command, found L_PAREN -ERROR@18567: expected command, found DROP_KW -ERROR@18572: expected command, found DELIMITER_KW -ERROR@18581: expected command, found COMMA -ERROR@18592: expected EQ -ERROR@18601: expected SEMICOLON -ERROR@18602: expected command, found ESCAPE_KW -ERROR@18609: expected command, found STRING -ERROR@18612: expected command, found R_PAREN + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_foreign_key.snap b/crates/squawk_parser/tests/snapshots/tests__regression_foreign_key.snap index b3d92bdd..aede4cad 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_foreign_key.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_foreign_key.snap @@ -5,24 +5,6 @@ input_file: crates/squawk_parser/tests/data/regression_suite/foreign_key.sql ERROR@65605: expected SEMICOLON ERROR@65605: expected command, found DOT ERROR@65606: expected command, found IDENT -ERROR@66338: expected DEFAULT_KW -ERROR@66338: expected SEMICOLON -ERROR@66338: expected command, found DOT -ERROR@66339: expected command, found IDENT -ERROR@66351: expected command, found FOR_KW -ERROR@66362: expected L_PAREN ERROR@66561: expected SEMICOLON ERROR@66561: expected command, found DOT ERROR@66562: expected command, found IDENT -ERROR@84744: expected DEFAULT_KW -ERROR@84744: expected SEMICOLON -ERROR@84744: expected command, found DOT -ERROR@84745: expected command, found IDENT -ERROR@84750: expected command, found FOR_KW -ERROR@84761: expected L_PAREN -ERROR@84913: expected DEFAULT_KW -ERROR@84913: expected SEMICOLON -ERROR@84913: expected command, found DOT -ERROR@84914: expected command, found IDENT -ERROR@84919: expected command, found FOR_KW -ERROR@84930: expected L_PAREN diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_functional_deps.snap b/crates/squawk_parser/tests/snapshots/tests__regression_functional_deps.snap new file mode 100644 index 00000000..bc78f0ae --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_functional_deps.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/functional_deps.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_generated_stored.snap b/crates/squawk_parser/tests/snapshots/tests__regression_generated_stored.snap new file mode 100644 index 00000000..d282852a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_generated_stored.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/generated_stored.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_generated_virtual.snap b/crates/squawk_parser/tests/snapshots/tests__regression_generated_virtual.snap new file mode 100644 index 00000000..c850fff9 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_generated_virtual.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/generated_virtual.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_geometry.snap b/crates/squawk_parser/tests/snapshots/tests__regression_geometry.snap new file mode 100644 index 00000000..e38b186f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_geometry.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/geometry.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_gin.snap b/crates/squawk_parser/tests/snapshots/tests__regression_gin.snap new file mode 100644 index 00000000..fcf4caa4 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_gin.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/gin.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_gist.snap b/crates/squawk_parser/tests/snapshots/tests__regression_gist.snap new file mode 100644 index 00000000..4fa516b3 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_gist.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/gist.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_guc.snap b/crates/squawk_parser/tests/snapshots/tests__regression_guc.snap new file mode 100644 index 00000000..e22c555c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_guc.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/guc.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_hash_func.snap b/crates/squawk_parser/tests/snapshots/tests__regression_hash_func.snap new file mode 100644 index 00000000..9309d23b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_hash_func.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/hash_func.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_hash_index.snap b/crates/squawk_parser/tests/snapshots/tests__regression_hash_index.snap new file mode 100644 index 00000000..51599113 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_hash_index.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/hash_index.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_hash_part.snap b/crates/squawk_parser/tests/snapshots/tests__regression_hash_part.snap new file mode 100644 index 00000000..cf12eff9 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_hash_part.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/hash_part.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_identity.snap b/crates/squawk_parser/tests/snapshots/tests__regression_identity.snap new file mode 100644 index 00000000..2a861f7e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_identity.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/identity.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_incremental_sort.snap b/crates/squawk_parser/tests/snapshots/tests__regression_incremental_sort.snap new file mode 100644 index 00000000..e80ed495 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_incremental_sort.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/incremental_sort.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_index_including.snap b/crates/squawk_parser/tests/snapshots/tests__regression_index_including.snap new file mode 100644 index 00000000..5a7c54a8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_index_including.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/index_including.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_index_including_gist.snap b/crates/squawk_parser/tests/snapshots/tests__regression_index_including_gist.snap new file mode 100644 index 00000000..aa357bec --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_index_including_gist.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/index_including_gist.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_indexing.snap b/crates/squawk_parser/tests/snapshots/tests__regression_indexing.snap new file mode 100644 index 00000000..6079a104 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_indexing.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/indexing.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_indirect_toast.snap b/crates/squawk_parser/tests/snapshots/tests__regression_indirect_toast.snap new file mode 100644 index 00000000..42e3e55d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_indirect_toast.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/indirect_toast.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_inet.snap b/crates/squawk_parser/tests/snapshots/tests__regression_inet.snap new file mode 100644 index 00000000..9d44e83d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_inet.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/inet.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_infinite_recurse.snap b/crates/squawk_parser/tests/snapshots/tests__regression_infinite_recurse.snap new file mode 100644 index 00000000..fbdcd3ea --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_infinite_recurse.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/infinite_recurse.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_init_privs.snap b/crates/squawk_parser/tests/snapshots/tests__regression_init_privs.snap new file mode 100644 index 00000000..b41248fa --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_init_privs.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/init_privs.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_insert.snap b/crates/squawk_parser/tests/snapshots/tests__regression_insert.snap new file mode 100644 index 00000000..356eab35 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_insert.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/insert.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_insert_conflict.snap b/crates/squawk_parser/tests/snapshots/tests__regression_insert_conflict.snap index 9ff45e95..89b80c3b 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_insert_conflict.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_insert_conflict.snap @@ -2,256 +2,4 @@ source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/regression_suite/insert_conflict.sql --- -ERROR@1270: expected R_PAREN -ERROR@1270: expected SEMICOLON -ERROR@1270: expected command, found L_PAREN -ERROR@1271: expected command, found IDENT -ERROR@1276: expected command, found R_PAREN -ERROR@1277: expected command, found COMMA -ERROR@1279: expected command, found KEY_KW -ERROR@1282: expected command, found COMMA -ERROR@1284: expected command, found IDENT -ERROR@1289: expected command, found L_PAREN -ERROR@1290: expected command, found IDENT -ERROR@1295: expected command, found R_PAREN -ERROR@1296: expected command, found COMMA -ERROR@1298: expected command, found KEY_KW -ERROR@1301: expected command, found R_PAREN -ERROR@1305: expected string literal -ERROR@1305: expected SEMICOLON -ERROR@1306: expected command, found NOTHING_KW -ERROR@1407: expected R_PAREN -ERROR@1407: expected SEMICOLON -ERROR@1407: expected command, found L_PAREN -ERROR@1408: expected command, found IDENT -ERROR@1413: expected command, found R_PAREN -ERROR@1414: expected command, found COMMA -ERROR@1416: expected command, found KEY_KW -ERROR@1419: expected command, found COMMA -ERROR@1421: expected command, found IDENT -ERROR@1426: expected command, found L_PAREN -ERROR@1427: expected command, found IDENT -ERROR@1432: expected command, found R_PAREN -ERROR@1433: expected command, found COMMA -ERROR@1435: expected command, found KEY_KW -ERROR@1438: expected command, found R_PAREN -ERROR@1442: expected string literal -ERROR@1442: expected SEMICOLON -ERROR@1443: expected command, found NOTHING_KW -ERROR@2639: expected R_PAREN -ERROR@2639: expected SEMICOLON -ERROR@2639: expected command, found L_PAREN -ERROR@2640: expected command, found IDENT -ERROR@2645: expected command, found R_PAREN -ERROR@2647: expected command, found COLLATE_KW -ERROR@2655: expected command, found IDENT -ERROR@2658: expected command, found COMMA -ERROR@2660: expected command, found KEY_KW -ERROR@2663: expected command, found COMMA -ERROR@2665: expected command, found KEY_KW -ERROR@2668: expected command, found R_PAREN -ERROR@2672: expected string literal -ERROR@2672: expected SEMICOLON -ERROR@2673: expected command, found NOTHING_KW -ERROR@3701: expected R_PAREN -ERROR@3701: expected SEMICOLON -ERROR@3701: expected command, found L_PAREN -ERROR@3702: expected command, found IDENT -ERROR@3707: expected command, found R_PAREN -ERROR@3709: expected command, found COLLATE_KW -ERROR@3717: expected command, found IDENT -ERROR@3721: expected command, found IDENT -ERROR@3737: expected command, found COMMA -ERROR@3739: expected command, found KEY_KW -ERROR@3742: expected command, found COMMA -ERROR@3744: expected command, found KEY_KW -ERROR@3747: expected command, found R_PAREN -ERROR@3751: expected string literal -ERROR@3751: expected SEMICOLON -ERROR@3752: expected command, found NOTHING_KW -ERROR@4179: expected R_PAREN -ERROR@4179: expected SEMICOLON -ERROR@4179: expected command, found L_PAREN -ERROR@4180: expected command, found IDENT -ERROR@4185: expected command, found R_PAREN -ERROR@4187: expected command, found IDENT -ERROR@4203: expected command, found COMMA -ERROR@4205: expected command, found IDENT -ERROR@4210: expected command, found L_PAREN -ERROR@4211: expected command, found IDENT -ERROR@4216: expected command, found R_PAREN -ERROR@4218: expected command, found COLLATE_KW -ERROR@4226: expected command, found IDENT -ERROR@4229: expected command, found R_PAREN -ERROR@4233: expected string literal -ERROR@4233: expected SEMICOLON -ERROR@4234: expected command, found NOTHING_KW -ERROR@4345: expected R_PAREN -ERROR@4345: expected SEMICOLON -ERROR@4345: expected command, found L_PAREN -ERROR@4346: expected command, found IDENT -ERROR@4351: expected command, found R_PAREN -ERROR@4353: expected command, found COLLATE_KW -ERROR@4361: expected command, found IDENT -ERROR@4364: expected command, found COMMA -ERROR@4366: expected command, found IDENT -ERROR@4371: expected command, found L_PAREN -ERROR@4372: expected command, found IDENT -ERROR@4377: expected command, found R_PAREN -ERROR@4379: expected command, found IDENT -ERROR@4395: expected command, found R_PAREN -ERROR@4399: expected string literal -ERROR@4399: expected SEMICOLON -ERROR@4400: expected command, found NOTHING_KW -ERROR@7045: expected R_PAREN -ERROR@7045: expected SEMICOLON -ERROR@7045: expected command, found L_PAREN -ERROR@7046: expected command, found IDENT -ERROR@7051: expected command, found R_PAREN -ERROR@7052: expected command, found R_PAREN -ERROR@7056: expected string literal -ERROR@7056: expected SEMICOLON -ERROR@7073: expected SET_KW -ERROR@7073: expected name -ERROR@8491: expected R_PAREN -ERROR@8491: expected SEMICOLON -ERROR@8491: expected command, found L_PAREN -ERROR@8492: expected command, found IDENT -ERROR@8497: expected command, found R_PAREN -ERROR@8498: expected command, found R_PAREN -ERROR@8502: expected string literal -ERROR@8502: expected SEMICOLON -ERROR@8519: expected SET_KW -ERROR@8519: expected name -ERROR@8607: expected R_PAREN -ERROR@8607: expected SEMICOLON -ERROR@8607: expected command, found L_PAREN -ERROR@8608: expected command, found IDENT -ERROR@8613: expected command, found R_PAREN -ERROR@8614: expected command, found COMMA -ERROR@8616: expected command, found KEY_KW -ERROR@8619: expected command, found R_PAREN -ERROR@8623: expected string literal -ERROR@8623: expected SEMICOLON -ERROR@8640: expected SET_KW -ERROR@8640: expected name -ERROR@9501: expected R_PAREN -ERROR@9501: expected SEMICOLON -ERROR@9501: expected command, found L_PAREN -ERROR@9502: expected command, found IDENT -ERROR@9507: expected command, found R_PAREN -ERROR@9508: expected command, found R_PAREN -ERROR@9512: expected string literal -ERROR@9512: expected SEMICOLON -ERROR@9529: expected SET_KW -ERROR@9529: expected name -ERROR@9622: expected R_PAREN -ERROR@9622: expected SEMICOLON -ERROR@9622: expected command, found L_PAREN -ERROR@9623: expected command, found IDENT -ERROR@9628: expected command, found R_PAREN -ERROR@9629: expected command, found COMMA -ERROR@9631: expected command, found KEY_KW -ERROR@9634: expected command, found R_PAREN -ERROR@9638: expected string literal -ERROR@9638: expected SEMICOLON -ERROR@9655: expected SET_KW -ERROR@9655: expected name -ERROR@9944: expected R_PAREN -ERROR@9944: expected SEMICOLON -ERROR@9944: expected command, found L_PAREN -ERROR@9945: expected command, found IDENT -ERROR@9950: expected command, found R_PAREN -ERROR@9951: expected command, found R_PAREN -ERROR@9955: expected string literal -ERROR@9955: expected SEMICOLON -ERROR@9972: expected SET_KW -ERROR@9972: expected name -ERROR@10067: expected R_PAREN -ERROR@10067: expected SEMICOLON -ERROR@10067: expected command, found L_PAREN -ERROR@10068: expected command, found IDENT -ERROR@10073: expected command, found R_PAREN -ERROR@10074: expected command, found COMMA -ERROR@10076: expected command, found IDENT -ERROR@10081: expected command, found L_PAREN -ERROR@10082: expected command, found IDENT -ERROR@10087: expected command, found R_PAREN -ERROR@10088: expected command, found R_PAREN -ERROR@10092: expected string literal -ERROR@10092: expected SEMICOLON -ERROR@10109: expected SET_KW -ERROR@10109: expected name -ERROR@10221: expected R_PAREN -ERROR@10221: expected SEMICOLON -ERROR@10221: expected command, found L_PAREN -ERROR@10222: expected command, found IDENT -ERROR@10227: expected command, found R_PAREN -ERROR@10228: expected command, found R_PAREN -ERROR@10232: expected string literal -ERROR@10232: expected SEMICOLON -ERROR@10249: expected SET_KW -ERROR@10249: expected name -ERROR@10749: expected R_PAREN -ERROR@10749: expected SEMICOLON -ERROR@10749: expected command, found L_PAREN -ERROR@10750: expected command, found IDENT -ERROR@10755: expected command, found R_PAREN -ERROR@10756: expected command, found R_PAREN -ERROR@10760: expected string literal -ERROR@10760: expected SEMICOLON -ERROR@10777: expected SET_KW -ERROR@10777: expected name -ERROR@10866: expected R_PAREN -ERROR@10866: expected SEMICOLON -ERROR@10866: expected command, found L_PAREN -ERROR@10867: expected command, found IDENT -ERROR@10872: expected command, found R_PAREN -ERROR@10873: expected command, found COMMA -ERROR@10875: expected command, found KEY_KW -ERROR@10878: expected command, found R_PAREN -ERROR@10882: expected string literal -ERROR@10882: expected SEMICOLON -ERROR@10899: expected SET_KW -ERROR@10899: expected name -ERROR@11062: expected R_PAREN -ERROR@11062: expected SEMICOLON -ERROR@11062: expected command, found L_PAREN -ERROR@11063: expected command, found IDENT -ERROR@11068: expected command, found R_PAREN -ERROR@11069: expected command, found COMMA -ERROR@11071: expected command, found KEY_KW -ERROR@11074: expected command, found COMMA -ERROR@11076: expected command, found IDENT -ERROR@11081: expected command, found L_PAREN -ERROR@11082: expected command, found IDENT -ERROR@11087: expected command, found R_PAREN -ERROR@11088: expected command, found COMMA -ERROR@11090: expected command, found KEY_KW -ERROR@11093: expected command, found R_PAREN -ERROR@11097: expected string literal -ERROR@11097: expected SEMICOLON -ERROR@11114: expected SET_KW -ERROR@11114: expected name -ERROR@11229: expected R_PAREN -ERROR@11229: expected SEMICOLON -ERROR@11229: expected command, found L_PAREN -ERROR@11230: expected command, found IDENT -ERROR@11235: expected command, found R_PAREN -ERROR@11236: expected command, found R_PAREN -ERROR@11240: expected string literal -ERROR@11240: expected SEMICOLON -ERROR@11257: expected SET_KW -ERROR@11257: expected name -ERROR@15602: expected R_PAREN -ERROR@15602: expected SEMICOLON -ERROR@15602: expected command, found L_PAREN -ERROR@15603: expected command, found IDENT -ERROR@15604: expected command, found COMMA -ERROR@15606: expected command, found INT_NUMBER -ERROR@15607: expected command, found R_PAREN -ERROR@15608: expected command, found R_PAREN -ERROR@15612: expected string literal -ERROR@15612: expected SEMICOLON -ERROR@15613: expected command, found NOTHING_KW -ERROR@17667: expected COMMA + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_int2.snap b/crates/squawk_parser/tests/snapshots/tests__regression_int2.snap new file mode 100644 index 00000000..8d27a44c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_int2.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/int2.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_int4.snap b/crates/squawk_parser/tests/snapshots/tests__regression_int4.snap new file mode 100644 index 00000000..7d9b1169 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_int4.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/int4.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_int8.snap b/crates/squawk_parser/tests/snapshots/tests__regression_int8.snap new file mode 100644 index 00000000..1b7f39da --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_int8.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/int8.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_interval.snap b/crates/squawk_parser/tests/snapshots/tests__regression_interval.snap new file mode 100644 index 00000000..3a6bbcca --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_interval.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/interval.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_join_hash.snap b/crates/squawk_parser/tests/snapshots/tests__regression_join_hash.snap new file mode 100644 index 00000000..e33535dc --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_join_hash.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/join_hash.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_json.snap b/crates/squawk_parser/tests/snapshots/tests__regression_json.snap new file mode 100644 index 00000000..b2ac6599 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_json.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/json.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_json_encoding.snap b/crates/squawk_parser/tests/snapshots/tests__regression_json_encoding.snap new file mode 100644 index 00000000..5be395bf --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_json_encoding.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/json_encoding.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_jsonb.snap b/crates/squawk_parser/tests/snapshots/tests__regression_jsonb.snap new file mode 100644 index 00000000..bb2ca7b2 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_jsonb.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/jsonb.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_jsonb_jsonpath.snap b/crates/squawk_parser/tests/snapshots/tests__regression_jsonb_jsonpath.snap new file mode 100644 index 00000000..e06536ce --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_jsonb_jsonpath.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/jsonb_jsonpath.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_jsonpath.snap b/crates/squawk_parser/tests/snapshots/tests__regression_jsonpath.snap new file mode 100644 index 00000000..4b3a5495 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_jsonpath.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/jsonpath.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_jsonpath_encoding.snap b/crates/squawk_parser/tests/snapshots/tests__regression_jsonpath_encoding.snap new file mode 100644 index 00000000..5d636ce8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_jsonpath_encoding.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/jsonpath_encoding.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_largeobject.snap b/crates/squawk_parser/tests/snapshots/tests__regression_largeobject.snap new file mode 100644 index 00000000..e97639c0 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_largeobject.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/largeobject.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_limit.snap b/crates/squawk_parser/tests/snapshots/tests__regression_limit.snap new file mode 100644 index 00000000..8640fb02 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_limit.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/limit.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_line.snap b/crates/squawk_parser/tests/snapshots/tests__regression_line.snap new file mode 100644 index 00000000..1186d76b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_line.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/line.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_lock.snap b/crates/squawk_parser/tests/snapshots/tests__regression_lock.snap new file mode 100644 index 00000000..eeaf459f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_lock.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/lock.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_lseg.snap b/crates/squawk_parser/tests/snapshots/tests__regression_lseg.snap new file mode 100644 index 00000000..569446eb --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_lseg.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/lseg.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_macaddr.snap b/crates/squawk_parser/tests/snapshots/tests__regression_macaddr.snap new file mode 100644 index 00000000..ec092bcb --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_macaddr.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/macaddr.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_macaddr8.snap b/crates/squawk_parser/tests/snapshots/tests__regression_macaddr8.snap new file mode 100644 index 00000000..2d6cfa0f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_macaddr8.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/macaddr8.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_maintain_every.snap b/crates/squawk_parser/tests/snapshots/tests__regression_maintain_every.snap new file mode 100644 index 00000000..12eceeb4 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_maintain_every.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/maintain_every.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_matview.snap b/crates/squawk_parser/tests/snapshots/tests__regression_matview.snap new file mode 100644 index 00000000..2b9c6e11 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_matview.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/matview.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_md5.snap b/crates/squawk_parser/tests/snapshots/tests__regression_md5.snap new file mode 100644 index 00000000..dd856724 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_md5.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/md5.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_memoize.snap b/crates/squawk_parser/tests/snapshots/tests__regression_memoize.snap new file mode 100644 index 00000000..5f389763 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_memoize.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/memoize.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_misc.snap b/crates/squawk_parser/tests/snapshots/tests__regression_misc.snap new file mode 100644 index 00000000..1df4fdbf --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_misc.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/misc.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_misc_functions.snap b/crates/squawk_parser/tests/snapshots/tests__regression_misc_functions.snap new file mode 100644 index 00000000..080b5fda --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_misc_functions.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/misc_functions.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_misc_sanity.snap b/crates/squawk_parser/tests/snapshots/tests__regression_misc_sanity.snap new file mode 100644 index 00000000..71a31b5e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_misc_sanity.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/misc_sanity.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_money.snap b/crates/squawk_parser/tests/snapshots/tests__regression_money.snap new file mode 100644 index 00000000..3e218d3d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_money.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/money.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_multirangetypes.snap b/crates/squawk_parser/tests/snapshots/tests__regression_multirangetypes.snap new file mode 100644 index 00000000..828a8def --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_multirangetypes.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/multirangetypes.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_mvcc.snap b/crates/squawk_parser/tests/snapshots/tests__regression_mvcc.snap new file mode 100644 index 00000000..62b8a55f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_mvcc.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/mvcc.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_name.snap b/crates/squawk_parser/tests/snapshots/tests__regression_name.snap new file mode 100644 index 00000000..57d1583d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_name.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/name.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_namespace.snap b/crates/squawk_parser/tests/snapshots/tests__regression_namespace.snap new file mode 100644 index 00000000..52b301cf --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_namespace.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/namespace.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_numa.snap b/crates/squawk_parser/tests/snapshots/tests__regression_numa.snap new file mode 100644 index 00000000..8d3932e8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_numa.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/numa.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_numeric.snap b/crates/squawk_parser/tests/snapshots/tests__regression_numeric.snap new file mode 100644 index 00000000..3e571c48 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_numeric.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/numeric.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_numeric_big.snap b/crates/squawk_parser/tests/snapshots/tests__regression_numeric_big.snap new file mode 100644 index 00000000..9514af7e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_numeric_big.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/numeric_big.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_numerology.snap b/crates/squawk_parser/tests/snapshots/tests__regression_numerology.snap new file mode 100644 index 00000000..b16c3763 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_numerology.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/numerology.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_object_address.snap b/crates/squawk_parser/tests/snapshots/tests__regression_object_address.snap new file mode 100644 index 00000000..78029ef7 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_object_address.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/object_address.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_oid.snap b/crates/squawk_parser/tests/snapshots/tests__regression_oid.snap new file mode 100644 index 00000000..30d55bd0 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_oid.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/oid.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_oidjoins.snap b/crates/squawk_parser/tests/snapshots/tests__regression_oidjoins.snap new file mode 100644 index 00000000..6d8caa5b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_oidjoins.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/oidjoins.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_opr_sanity.snap b/crates/squawk_parser/tests/snapshots/tests__regression_opr_sanity.snap new file mode 100644 index 00000000..5d03ac57 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_opr_sanity.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/opr_sanity.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_partition_aggregate.snap b/crates/squawk_parser/tests/snapshots/tests__regression_partition_aggregate.snap new file mode 100644 index 00000000..98c4863c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_partition_aggregate.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/partition_aggregate.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_partition_info.snap b/crates/squawk_parser/tests/snapshots/tests__regression_partition_info.snap new file mode 100644 index 00000000..090a3b4e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_partition_info.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/partition_info.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_partition_join.snap b/crates/squawk_parser/tests/snapshots/tests__regression_partition_join.snap new file mode 100644 index 00000000..4c013eea --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_partition_join.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/partition_join.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_password.snap b/crates/squawk_parser/tests/snapshots/tests__regression_password.snap new file mode 100644 index 00000000..e89f7643 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_password.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/password.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_path.snap b/crates/squawk_parser/tests/snapshots/tests__regression_path.snap new file mode 100644 index 00000000..28fe10fe --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_path.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/path.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_pg_lsn.snap b/crates/squawk_parser/tests/snapshots/tests__regression_pg_lsn.snap new file mode 100644 index 00000000..2123c552 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_pg_lsn.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/pg_lsn.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_plancache.snap b/crates/squawk_parser/tests/snapshots/tests__regression_plancache.snap new file mode 100644 index 00000000..a0ca6845 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_plancache.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/plancache.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_plpgsql.snap b/crates/squawk_parser/tests/snapshots/tests__regression_plpgsql.snap new file mode 100644 index 00000000..4b7eccd7 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_plpgsql.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/plpgsql.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_point.snap b/crates/squawk_parser/tests/snapshots/tests__regression_point.snap new file mode 100644 index 00000000..c1c1d28b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_point.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/point.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_polygon.snap b/crates/squawk_parser/tests/snapshots/tests__regression_polygon.snap new file mode 100644 index 00000000..a30a3071 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_polygon.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/polygon.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_polymorphism.snap b/crates/squawk_parser/tests/snapshots/tests__regression_polymorphism.snap new file mode 100644 index 00000000..338f602e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_polymorphism.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/polymorphism.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_portals.snap b/crates/squawk_parser/tests/snapshots/tests__regression_portals.snap new file mode 100644 index 00000000..5e7fe353 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_portals.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/portals.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_portals_p2.snap b/crates/squawk_parser/tests/snapshots/tests__regression_portals_p2.snap new file mode 100644 index 00000000..8a618d6d --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_portals_p2.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/portals_p2.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_predicate.snap b/crates/squawk_parser/tests/snapshots/tests__regression_predicate.snap new file mode 100644 index 00000000..45e9e28b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_predicate.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/predicate.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_prepare.snap b/crates/squawk_parser/tests/snapshots/tests__regression_prepare.snap new file mode 100644 index 00000000..367f9c9c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_prepare.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/prepare.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_prepared_xacts.snap b/crates/squawk_parser/tests/snapshots/tests__regression_prepared_xacts.snap new file mode 100644 index 00000000..161c3c41 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_prepared_xacts.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/prepared_xacts.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_publication.snap b/crates/squawk_parser/tests/snapshots/tests__regression_publication.snap index b10af417..c12fdb7f 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_publication.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_publication.snap @@ -2,74 +2,4 @@ source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/regression_suite/publication.sql --- -ERROR@3227: expected name -ERROR@3227: expected SEMICOLON -ERROR@3466: expected SEMICOLON -ERROR@3466: expected command, found DOT -ERROR@3467: expected command, found IDENT -ERROR@8204: expected SEMICOLON -ERROR@8205: expected command, found WHERE_KW -ERROR@8211: expected command, found L_PAREN -ERROR@8212: expected command, found IDENT -ERROR@8214: expected command, found EQ -ERROR@8216: expected command, found INT_NUMBER -ERROR@8219: expected command, found R_PAREN -ERROR@8316: expected SEMICOLON -ERROR@8317: expected command, found WHERE_KW -ERROR@8323: expected command, found L_PAREN -ERROR@8324: expected command, found IDENT -ERROR@8326: expected command, found EQ -ERROR@8328: expected command, found INT_NUMBER -ERROR@8331: expected command, found R_PAREN -ERROR@12489: expected name -ERROR@12489: expected SEMICOLON -ERROR@12530: expected SEMICOLON -ERROR@12531: expected command, found WHERE_KW -ERROR@12537: expected command, found L_PAREN -ERROR@12538: expected command, found IDENT -ERROR@12540: expected command, found L_ANGLE -ERROR@12542: expected command, found INT_NUMBER -ERROR@12544: expected command, found R_PAREN -ERROR@29346: expected name -ERROR@29346: expected SEMICOLON -ERROR@29372: expected SEMICOLON -ERROR@29372: expected command, found L_PAREN -ERROR@29373: expected command, found IDENT -ERROR@29374: expected command, found R_PAREN -ERROR@29998: expected name -ERROR@29998: expected SEMICOLON -ERROR@30024: expected SEMICOLON -ERROR@30024: expected command, found L_PAREN -ERROR@30025: expected command, found IDENT -ERROR@30026: expected command, found R_PAREN -ERROR@30226: expected name -ERROR@30226: expected SEMICOLON -ERROR@30252: expected SEMICOLON -ERROR@30252: expected command, found L_PAREN -ERROR@30253: expected command, found IDENT -ERROR@30254: expected command, found R_PAREN -ERROR@44910: expected SEMICOLON -ERROR@44911: expected command, found L_PAREN -ERROR@44912: expected command, found IDENT -ERROR@44913: expected command, found COMMA -ERROR@44915: expected command, found IDENT -ERROR@44916: expected command, found R_PAREN -ERROR@44985: expected SEMICOLON -ERROR@44986: expected command, found L_PAREN -ERROR@44987: expected command, found IDENT -ERROR@44988: expected command, found COMMA -ERROR@44990: expected command, found IDENT -ERROR@44991: expected command, found R_PAREN -ERROR@47687: expected name -ERROR@47687: expected SEMICOLON -ERROR@50389: expected DEFAULT_KW -ERROR@50389: expected SEMICOLON -ERROR@50389: expected command, found DOT -ERROR@50390: expected command, found IDENT -ERROR@50401: expected command, found FOR_KW -ERROR@50412: expected L_PAREN -ERROR@50421: expected SEMICOLON -ERROR@50422: expected command, found TO_KW -ERROR@50425: expected command, found L_PAREN -ERROR@50426: expected command, found INT_NUMBER -ERROR@50428: expected command, found R_PAREN + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_random.snap b/crates/squawk_parser/tests/snapshots/tests__regression_random.snap new file mode 100644 index 00000000..47d85318 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_random.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/random.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_rangetypes.snap b/crates/squawk_parser/tests/snapshots/tests__regression_rangetypes.snap new file mode 100644 index 00000000..97482e3a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_rangetypes.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/rangetypes.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_regex.snap b/crates/squawk_parser/tests/snapshots/tests__regression_regex.snap new file mode 100644 index 00000000..bf16f50c --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_regex.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/regex.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_regproc.snap b/crates/squawk_parser/tests/snapshots/tests__regression_regproc.snap new file mode 100644 index 00000000..31581214 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_regproc.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/regproc.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_reindex_catalog.snap b/crates/squawk_parser/tests/snapshots/tests__regression_reindex_catalog.snap new file mode 100644 index 00000000..2f7aecc8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_reindex_catalog.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/reindex_catalog.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_reloptions.snap b/crates/squawk_parser/tests/snapshots/tests__regression_reloptions.snap new file mode 100644 index 00000000..3de13819 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_reloptions.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/reloptions.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_replica_identity.snap b/crates/squawk_parser/tests/snapshots/tests__regression_replica_identity.snap new file mode 100644 index 00000000..4cf96936 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_replica_identity.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/replica_identity.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_roleattributes.snap b/crates/squawk_parser/tests/snapshots/tests__regression_roleattributes.snap new file mode 100644 index 00000000..182a0d53 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_roleattributes.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/roleattributes.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_rowsecurity.snap b/crates/squawk_parser/tests/snapshots/tests__regression_rowsecurity.snap new file mode 100644 index 00000000..025972aa --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_rowsecurity.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/rowsecurity.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_rowtypes.snap b/crates/squawk_parser/tests/snapshots/tests__regression_rowtypes.snap new file mode 100644 index 00000000..d13b9eda --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_rowtypes.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/rowtypes.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_sanity_check.snap b/crates/squawk_parser/tests/snapshots/tests__regression_sanity_check.snap new file mode 100644 index 00000000..0509a9d8 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_sanity_check.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/sanity_check.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_security_label.snap b/crates/squawk_parser/tests/snapshots/tests__regression_security_label.snap new file mode 100644 index 00000000..d6f8e4ef --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_security_label.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/security_label.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select.snap new file mode 100644 index 00000000..4856410b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_distinct.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_distinct.snap new file mode 100644 index 00000000..eb2c7e96 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_distinct.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_distinct.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_distinct_on.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_distinct_on.snap new file mode 100644 index 00000000..d4a7366b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_distinct_on.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_distinct_on.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_having.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_having.snap new file mode 100644 index 00000000..92fc04bc --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_having.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_having.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_implicit.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_implicit.snap new file mode 100644 index 00000000..9e944fa0 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_implicit.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_implicit.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_into.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_into.snap new file mode 100644 index 00000000..1038d155 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_into.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_into.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_parallel.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_parallel.snap new file mode 100644 index 00000000..69e89f88 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_parallel.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_parallel.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_select_views.snap b/crates/squawk_parser/tests/snapshots/tests__regression_select_views.snap new file mode 100644 index 00000000..849544c4 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_select_views.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/select_views.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_sequence.snap b/crates/squawk_parser/tests/snapshots/tests__regression_sequence.snap new file mode 100644 index 00000000..d7be38ef --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_sequence.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/sequence.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_spgist.snap b/crates/squawk_parser/tests/snapshots/tests__regression_spgist.snap new file mode 100644 index 00000000..613e56db --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_spgist.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/spgist.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_stats.snap b/crates/squawk_parser/tests/snapshots/tests__regression_stats.snap new file mode 100644 index 00000000..378b9d33 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_stats.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/stats.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_stats_ext.snap b/crates/squawk_parser/tests/snapshots/tests__regression_stats_ext.snap new file mode 100644 index 00000000..e54e1a6e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_stats_ext.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/stats_ext.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_stats_import.snap b/crates/squawk_parser/tests/snapshots/tests__regression_stats_import.snap new file mode 100644 index 00000000..4a3bdbc3 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_stats_import.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/stats_import.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_strings.snap b/crates/squawk_parser/tests/snapshots/tests__regression_strings.snap index 3e7fcfc8..6b8a7cc7 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_strings.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_strings.snap @@ -51,10 +51,3 @@ ERROR@18721: missing comma ERROR@18775: missing comma ERROR@18827: missing comma ERROR@18882: missing comma -ERROR@19062: missing comma -ERROR@19146: missing comma -ERROR@19233: missing comma -ERROR@19320: missing comma -ERROR@19409: missing comma -ERROR@20324: missing comma -ERROR@20418: missing comma diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_subscription.snap b/crates/squawk_parser/tests/snapshots/tests__regression_subscription.snap new file mode 100644 index 00000000..6594608f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_subscription.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/subscription.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_suite_errors.snap b/crates/squawk_parser/tests/snapshots/tests__regression_suite_errors.snap index 2bc6f965..87c7eedc 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_suite_errors.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_suite_errors.snap @@ -3,27 +3,23 @@ source: crates/squawk_parser/tests/tests.rs expression: "out.join(\"\\n\")" --- tests/snapshots/tests__regression_errors.snap:286 -tests/snapshots/tests__regression_foreign_data.snap:51 -tests/snapshots/tests__regression_foreign_key.snap:24 +tests/snapshots/tests__regression_foreign_key.snap:6 tests/snapshots/tests__regression_groupingsets.snap:97 tests/snapshots/tests__regression_horology.snap:173 tests/snapshots/tests__regression_inherit.snap:30 -tests/snapshots/tests__regression_insert_conflict.snap:253 tests/snapshots/tests__regression_join.snap:20 tests/snapshots/tests__regression_merge.snap:250 tests/snapshots/tests__regression_partition_prune.snap:326 tests/snapshots/tests__regression_privileges.snap:84 -tests/snapshots/tests__regression_publication.snap:71 tests/snapshots/tests__regression_rangefuncs.snap:281 tests/snapshots/tests__regression_returning.snap:230 tests/snapshots/tests__regression_rules.snap:59 tests/snapshots/tests__regression_sqljson.snap:1068 tests/snapshots/tests__regression_sqljson_jsontable.snap:185 tests/snapshots/tests__regression_sqljson_queryfuncs.snap:51 -tests/snapshots/tests__regression_strings.snap:56 +tests/snapshots/tests__regression_strings.snap:49 tests/snapshots/tests__regression_subselect.snap:44 tests/snapshots/tests__regression_timestamp.snap:65 -tests/snapshots/tests__regression_timestamptz.snap:5 tests/snapshots/tests__regression_transactions.snap:114 tests/snapshots/tests__regression_tuplesort.snap:188 tests/snapshots/tests__regression_union.snap:15 diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_sysviews.snap b/crates/squawk_parser/tests/snapshots/tests__regression_sysviews.snap new file mode 100644 index 00000000..b2e70679 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_sysviews.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/sysviews.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tablesample.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tablesample.snap new file mode 100644 index 00000000..f6f0a108 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tablesample.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tablesample.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tablespace.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tablespace.snap new file mode 100644 index 00000000..7f7b01a6 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tablespace.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tablespace.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_temp.snap b/crates/squawk_parser/tests/snapshots/tests__regression_temp.snap new file mode 100644 index 00000000..1394119f --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_temp.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/temp.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_test_setup.snap b/crates/squawk_parser/tests/snapshots/tests__regression_test_setup.snap new file mode 100644 index 00000000..72223f94 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_test_setup.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/test_setup.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_text.snap b/crates/squawk_parser/tests/snapshots/tests__regression_text.snap new file mode 100644 index 00000000..1989c3ed --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_text.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/text.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tid.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tid.snap new file mode 100644 index 00000000..22830d98 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tid.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tid.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tidrangescan.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tidrangescan.snap new file mode 100644 index 00000000..4c129155 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tidrangescan.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tidrangescan.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tidscan.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tidscan.snap new file mode 100644 index 00000000..6fc7afc2 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tidscan.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tidscan.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_time.snap b/crates/squawk_parser/tests/snapshots/tests__regression_time.snap new file mode 100644 index 00000000..63fb8519 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_time.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/time.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_timestamptz.snap b/crates/squawk_parser/tests/snapshots/tests__regression_timestamptz.snap index 9b056a5d..9dca6868 100644 --- a/crates/squawk_parser/tests/snapshots/tests__regression_timestamptz.snap +++ b/crates/squawk_parser/tests/snapshots/tests__regression_timestamptz.snap @@ -2,8 +2,4 @@ source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/regression_suite/timestamptz.sql --- -ERROR@28897: expected COMMA -ERROR@28900: expected COMMA -ERROR@29074: expected COMMA -ERROR@29077: expected COMMA -ERROR@29280: missing comma + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_timetz.snap b/crates/squawk_parser/tests/snapshots/tests__regression_timetz.snap new file mode 100644 index 00000000..20210efd --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_timetz.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/timetz.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_triggers.snap b/crates/squawk_parser/tests/snapshots/tests__regression_triggers.snap new file mode 100644 index 00000000..b8445aaa --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_triggers.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/triggers.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_truncate.snap b/crates/squawk_parser/tests/snapshots/tests__regression_truncate.snap new file mode 100644 index 00000000..059e59eb --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_truncate.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/truncate.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tsdicts.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tsdicts.snap new file mode 100644 index 00000000..5cba2250 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tsdicts.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tsdicts.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tsearch.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tsearch.snap new file mode 100644 index 00000000..ec1e1bf5 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tsearch.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tsearch.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tsrf.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tsrf.snap new file mode 100644 index 00000000..b6fd194a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tsrf.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tsrf.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_tstypes.snap b/crates/squawk_parser/tests/snapshots/tests__regression_tstypes.snap new file mode 100644 index 00000000..959495b7 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_tstypes.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/tstypes.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_txid.snap b/crates/squawk_parser/tests/snapshots/tests__regression_txid.snap new file mode 100644 index 00000000..5b507673 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_txid.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/txid.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_type_sanity.snap b/crates/squawk_parser/tests/snapshots/tests__regression_type_sanity.snap new file mode 100644 index 00000000..6c466e77 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_type_sanity.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/type_sanity.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_typed_table.snap b/crates/squawk_parser/tests/snapshots/tests__regression_typed_table.snap new file mode 100644 index 00000000..99c7ee5e --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_typed_table.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/typed_table.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_unicode.snap b/crates/squawk_parser/tests/snapshots/tests__regression_unicode.snap new file mode 100644 index 00000000..25306f23 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_unicode.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/unicode.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_updatable_views.snap b/crates/squawk_parser/tests/snapshots/tests__regression_updatable_views.snap new file mode 100644 index 00000000..8b983a9b --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_updatable_views.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/updatable_views.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_uuid.snap b/crates/squawk_parser/tests/snapshots/tests__regression_uuid.snap new file mode 100644 index 00000000..4987033a --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_uuid.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/uuid.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_vacuum.snap b/crates/squawk_parser/tests/snapshots/tests__regression_vacuum.snap new file mode 100644 index 00000000..253d48fb --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_vacuum.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/vacuum.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_vacuum_parallel.snap b/crates/squawk_parser/tests/snapshots/tests__regression_vacuum_parallel.snap new file mode 100644 index 00000000..97339610 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_vacuum_parallel.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/vacuum_parallel.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_varchar.snap b/crates/squawk_parser/tests/snapshots/tests__regression_varchar.snap new file mode 100644 index 00000000..8a040257 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_varchar.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/varchar.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_without_overlaps.snap b/crates/squawk_parser/tests/snapshots/tests__regression_without_overlaps.snap new file mode 100644 index 00000000..d14803ea --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_without_overlaps.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/without_overlaps.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_write_parallel.snap b/crates/squawk_parser/tests/snapshots/tests__regression_write_parallel.snap new file mode 100644 index 00000000..00a1bd90 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_write_parallel.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/write_parallel.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_xid.snap b/crates/squawk_parser/tests/snapshots/tests__regression_xid.snap new file mode 100644 index 00000000..1cd36325 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_xid.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/xid.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__regression_xmlmap.snap b/crates/squawk_parser/tests/snapshots/tests__regression_xmlmap.snap new file mode 100644 index 00000000..160dcfd1 --- /dev/null +++ b/crates/squawk_parser/tests/snapshots/tests__regression_xmlmap.snap @@ -0,0 +1,5 @@ +--- +source: crates/squawk_parser/tests/tests.rs +input_file: crates/squawk_parser/tests/data/regression_suite/xmlmap.sql +--- + diff --git a/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap b/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap index cfbed6c7..24203d78 100644 --- a/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap +++ b/crates/squawk_parser/tests/snapshots/tests__truncate_ok.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/ok/truncate.sql -snapshot_kind: text --- SOURCE_FILE COMMENT "-- pg_grammar" diff --git a/crates/squawk_parser/tests/snapshots/tests__values_err.snap b/crates/squawk_parser/tests/snapshots/tests__values_err.snap index 23c7be95..bf96e74a 100644 --- a/crates/squawk_parser/tests/snapshots/tests__values_err.snap +++ b/crates/squawk_parser/tests/snapshots/tests__values_err.snap @@ -1,7 +1,6 @@ --- source: crates/squawk_parser/tests/tests.rs input_file: crates/squawk_parser/tests/data/err/values.sql -snapshot_kind: text --- SOURCE_FILE WHITESPACE "\n" diff --git a/crates/squawk_parser/tests/tests.rs b/crates/squawk_parser/tests/tests.rs index dc4ca561..2ee8a92d 100644 --- a/crates/squawk_parser/tests/tests.rs +++ b/crates/squawk_parser/tests/tests.rs @@ -94,14 +94,14 @@ fn regression_suite(fixture: Fixture<&str>) { let (_parsed, errors) = parse_text(content); - if !errors.is_empty() { - with_settings!({ - omit_expression => true, - input_file => input_file - }, { - assert_snapshot!(format!("regression_{}", test_name), errors.join("")); - }); - } + let snapshot_name = format!("regression_{}", test_name); + + with_settings!({ + omit_expression => true, + input_file => input_file + }, { + assert_snapshot!(snapshot_name, errors.join("")); + }); } // Trying to burn down the errors in the postgres regression suite diff --git a/crates/squawk_syntax/src/ast/generated/nodes.rs b/crates/squawk_syntax/src/ast/generated/nodes.rs index 6c3f3a9f..9efe479c 100644 --- a/crates/squawk_syntax/src/ast/generated/nodes.rs +++ b/crates/squawk_syntax/src/ast/generated/nodes.rs @@ -6014,6 +6014,25 @@ impl OperatorCall { } } +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct OptionsList { + pub(crate) syntax: SyntaxNode, +} +impl OptionsList { + #[inline] + pub fn l_paren_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::L_PAREN) + } + #[inline] + pub fn r_paren_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::R_PAREN) + } + #[inline] + pub fn option_token(&self) -> Option { + support::token(&self.syntax, SyntaxKind::OPTION_KW) + } +} + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct OrReplace { pub(crate) syntax: SyntaxNode, @@ -8298,6 +8317,7 @@ pub enum AlterTableAction { NoInherit(NoInherit), NotOf(NotOf), OfType(OfType), + OptionsList(OptionsList), OwnerTo(OwnerTo), RenameColumn(RenameColumn), RenameConstraint(RenameConstraint), @@ -13806,6 +13826,24 @@ impl AstNode for OperatorCall { &self.syntax } } +impl AstNode for OptionsList { + #[inline] + fn can_cast(kind: SyntaxKind) -> bool { + kind == SyntaxKind::OPTIONS_LIST + } + #[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 OrReplace { #[inline] fn can_cast(kind: SyntaxKind) -> bool { @@ -16393,6 +16431,7 @@ impl AstNode for AlterTableAction { | SyntaxKind::NO_INHERIT | SyntaxKind::NOT_OF | SyntaxKind::OF_TYPE + | SyntaxKind::OPTIONS_LIST | SyntaxKind::OWNER_TO | SyntaxKind::RENAME_COLUMN | SyntaxKind::RENAME_CONSTRAINT @@ -16456,6 +16495,7 @@ impl AstNode for AlterTableAction { SyntaxKind::NO_INHERIT => AlterTableAction::NoInherit(NoInherit { syntax }), SyntaxKind::NOT_OF => AlterTableAction::NotOf(NotOf { syntax }), SyntaxKind::OF_TYPE => AlterTableAction::OfType(OfType { syntax }), + SyntaxKind::OPTIONS_LIST => AlterTableAction::OptionsList(OptionsList { syntax }), SyntaxKind::OWNER_TO => AlterTableAction::OwnerTo(OwnerTo { syntax }), SyntaxKind::RENAME_COLUMN => AlterTableAction::RenameColumn(RenameColumn { syntax }), SyntaxKind::RENAME_CONSTRAINT => { @@ -16521,6 +16561,7 @@ impl AstNode for AlterTableAction { AlterTableAction::NoInherit(it) => &it.syntax, AlterTableAction::NotOf(it) => &it.syntax, AlterTableAction::OfType(it) => &it.syntax, + AlterTableAction::OptionsList(it) => &it.syntax, AlterTableAction::OwnerTo(it) => &it.syntax, AlterTableAction::RenameColumn(it) => &it.syntax, AlterTableAction::RenameConstraint(it) => &it.syntax, @@ -16689,6 +16730,12 @@ impl From for AlterTableAction { AlterTableAction::OfType(node) } } +impl From for AlterTableAction { + #[inline] + fn from(node: OptionsList) -> AlterTableAction { + AlterTableAction::OptionsList(node) + } +} impl From for AlterTableAction { #[inline] fn from(node: OwnerTo) -> AlterTableAction { diff --git a/crates/squawk_syntax/src/postgresql.ungram b/crates/squawk_syntax/src/postgresql.ungram index 71009d82..4d9f15cd 100644 --- a/crates/squawk_syntax/src/postgresql.ungram +++ b/crates/squawk_syntax/src/postgresql.ungram @@ -426,6 +426,11 @@ AlterTableAction = | RenameColumn | AlterConstraint | AlterColumn +| OptionsList + +OptionsList = + 'option' '(' ')' + RelationName = 'only' ( '(' Path ')' | Path ) 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 9c90d36d..5013c596 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 @@ -2,7 +2,7 @@ source: crates/squawk_syntax/src/test.rs input_file: crates/squawk_syntax/test_data/validation/validate_string_continuation.sql --- -SOURCE_FILE@0..157 +SOURCE_FILE@0..233 SELECT@0..18 SELECT_CLAUSE@0..18 SELECT_KW@0..6 "select" @@ -60,9 +60,40 @@ SOURCE_FILE@0..157 WHITESPACE@147..148 "\n" STRING@148..155 "'world'" SEMICOLON@155..156 ";" - WHITESPACE@156..157 "\n" + WHITESPACE@156..158 "\n\n" + SELECT@158..177 + SELECT_CLAUSE@158..177 + SELECT_KW@158..164 "select" + WHITESPACE@164..165 " " + TARGET_LIST@165..177 + TARGET@165..177 + LITERAL@165..177 + STRING@165..170 "'foo'" + WHITESPACE@170..172 " \n" + STRING@172..177 "'bar'" + SEMICOLON@177..178 ";" + WHITESPACE@178..179 "\n" + COMMENT@179..204 "-- ^ has new line so ..." + WHITESPACE@204..206 "\n\n" + SELECT@206..231 + SELECT_CLAUSE@206..231 + SELECT_KW@206..212 "select" + WHITESPACE@212..213 " " + TARGET_LIST@213..231 + TARGET@213..231 + LITERAL@213..231 + STRING@213..218 "'foo'" + WHITESPACE@218..219 " " + STRING@219..224 "'bar'" + WHITESPACE@224..225 " " + STRING@225..231 "'buzz'" + SEMICOLON@231..232 ";" + WHITESPACE@232..233 "\n" +ERROR@12:13 "Expected new line or comma between string literals" ERROR@33:46 "Comments between string literals are not allowed." ERROR@69:82 "Comments between string literals are not allowed." ERROR@89:110 "Comments between string literals are not allowed." ERROR@137:147 "Comments between string literals are not allowed." +ERROR@218:219 "Expected new line or comma between string literals" +ERROR@224:225 "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 027e6f23..df64c5ef 100644 --- a/crates/squawk_syntax/src/validation.rs +++ b/crates/squawk_syntax/src/validation.rs @@ -6,7 +6,7 @@ use crate::ast::AstNode; use crate::{ast, match_ast, syntax_error::SyntaxError, SyntaxNode}; -use rowan::TextRange; +use rowan::{TextRange, TextSize}; use squawk_parser::SyntaxKind::*; pub(crate) fn validate(root: &SyntaxNode, errors: &mut Vec) { for node in root.descendants() { @@ -25,46 +25,55 @@ pub(crate) fn validate(root: &SyntaxNode, errors: &mut Vec) { } enum LookingFor { - OpeningString, - Comment, - ClosingString, + OpenString, + CloseString(TextSize, bool), } fn validate_literal(lit: ast::Literal, acc: &mut Vec) { - let mut state = LookingFor::OpeningString; + let mut state = LookingFor::OpenString; let mut maybe_errors = vec![]; - let message = "Comments between string literals are not allowed."; + + // Checking for string continuation issues, like comments between string + // literals or missing new lines. for e in lit.syntax().children_with_tokens() { match e { rowan::NodeOrToken::Node(_) => { // not sure when this would occur - state = LookingFor::OpeningString; + state = LookingFor::OpenString; } rowan::NodeOrToken::Token(token) => { - if token.kind() == WHITESPACE { - continue; - } match state { - LookingFor::OpeningString => { + LookingFor::OpenString => { if token.kind() == STRING { - state = LookingFor::Comment; + state = LookingFor::CloseString(token.text_range().end(), false); } } - LookingFor::Comment => { - if token.kind() == COMMENT { - state = LookingFor::ClosingString; - maybe_errors.push(SyntaxError::new(message, token.text_range())); + LookingFor::CloseString(text_range_end, seen_new_line) => match token.kind() { + WHITESPACE => { + let seen_new_line = token.text().contains("\n"); + state = LookingFor::CloseString(text_range_end, seen_new_line); } - } - LookingFor::ClosingString => { - if token.kind() == STRING { + COMMENT => { + maybe_errors.push(SyntaxError::new( + "Comments between string literals are not allowed.", + token.text_range(), + )); + } + STRING => { + // avoid warning twice for the same two string literals, so we check maybe_errors + if !seen_new_line && maybe_errors.is_empty() { + maybe_errors.push(SyntaxError::new( + "Expected new line or comma between string literals", + TextRange::new(text_range_end, token.text_range().start()), + )); + } acc.append(&mut maybe_errors); - state = LookingFor::Comment; - } else if token.kind() == COMMENT { - maybe_errors.push(SyntaxError::new(message, token.text_range())); - } else { - state = LookingFor::OpeningString; + state = LookingFor::CloseString(token.text_range().end(), false); } - } + _ => { + maybe_errors.clear(); + state = LookingFor::OpenString; + } + }, } } } diff --git a/crates/squawk_syntax/test_data/validation/validate_string_continuation.sql b/crates/squawk_syntax/test_data/validation/validate_string_continuation.sql index 53c0ecd5..bbe8cfcd 100644 --- a/crates/squawk_syntax/test_data/validation/validate_string_continuation.sql +++ b/crates/squawk_syntax/test_data/validation/validate_string_continuation.sql @@ -4,3 +4,9 @@ select 'hello' /* comment */ 'bar' /* another comment */ ' world'; select 'hello' -- comment 'world'; + +select 'foo' +'bar'; +-- ^ has new line so okay + +select 'foo' 'bar' 'buzz';