squawk-parser 2.65.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/err/set.sql
---
SOURCE_FILE
  COMMENT "-- zone_value is a single value, not a list"
  WHITESPACE "\n"
  SET
    SET_KW "set"
    WHITESPACE " "
    SET_TIME_ZONE
      TIME_KW "time"
      WHITESPACE " "
      ZONE_KW "zone"
      WHITESPACE " "
      LITERAL
        STRING "'a'"
  ERROR
    COMMA ","
  WHITESPACE " "
  ERROR
    STRING "'b'"
  EMPTY_STMT
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- zone_value doesn't allow arbitrary expressions"
  WHITESPACE "\n"
  SET
    SET_KW "set"
    WHITESPACE " "
    SET_TIME_ZONE
      TIME_KW "time"
      WHITESPACE " "
      ZONE_KW "zone"
      WHITESPACE " "
      CONFIG_VALUE_NAME
        IDENT "now"
  ERROR
    L_PAREN "("
  ERROR
    R_PAREN ")"
  EMPTY_STMT
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- zone_value doesn't accept NULL"
  WHITESPACE "\n"
  SET
    SET_KW "set"
    WHITESPACE " "
    SET_TIME_ZONE
      TIME_KW "time"
      WHITESPACE " "
      ZONE_KW "zone"
  WHITESPACE " "
  ERROR
    NULL_KW "null"
  EMPTY_STMT
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- configuration value lists cannot have a trailing comma"
  WHITESPACE "\n"
  SET
    SET_KW "set"
    WHITESPACE " "
    SET_CONFIG
      CONFIG_PARAMETER_REF
        PATH_REF
          PATH_SEGMENT_REF
            IDENT "s"
      TO_CONFIG_VALUE
        EQ "="
        LITERAL
          STRING "''"
        COMMA ","
        CONFIG_VALUE_NAME
          IDENT "F"
        COMMA ","
        LITERAL
          STRING "''''"
        COMMA ","
    SEMICOLON ";"
  WHITESPACE "\n\n"
  SET
    SET_KW "set"
    WHITESPACE " "
    SET_CONFIG
      CONFIG_PARAMETER_REF
        PATH_REF
          PATH_SEGMENT_REF
            IDENT "c"
      TO_CONFIG_VALUE
        EQ "="
        LITERAL
          STRING "''"
        COMMA ","
    SEMICOLON ";"
  WHITESPACE "\n\n"
  SET
    SET_KW "set"
    WHITESPACE " "
    SET_CONFIG
      CONFIG_PARAMETER_REF
        PATH_REF
          PATH_SEGMENT_REF
            IDENT "m"
      TO_CONFIG_VALUE
        EQ "="
        LITERAL
          INT_NUMBER "2"
        COMMA ","
  WHITESPACE "\n"
---
error[syntax-error]: expected command, found COMMA
  ╭▸ 
2 │ set time zone 'a', 'b';
  ╰╴                 ━
error[syntax-error]: expected command, found STRING
  ╭▸ 
2 │ set time zone 'a', 'b';
  ╰╴                   ━
error[syntax-error]: expected command, found L_PAREN
  ╭▸ 
5 │ set time zone now();
  ╰╴                 ━
error[syntax-error]: expected command, found R_PAREN
  ╭▸ 
5 │ set time zone now();
  ╰╴                  ━
error[syntax-error]: expected time zone value, got NULL_KW
  ╭▸ 
8 │ set time zone null;
  ╰╴             ━
error[syntax-error]: expected command, found NULL_KW
  ╭▸ 
8 │ set time zone null;
  ╰╴              ━
error[syntax-error]: expected config value after comma
   ╭▸ 
11 │ set s='',F,'''',;
   ╰╴                ━
error[syntax-error]: expected config value after comma
   ╭▸ 
13 │ set c='',;
   ╰╴         ━
error[syntax-error]: expected config value after comma
   ╭▸ 
15 │ set m=2,
   ╰╴        ━