squawk-parser 2.63.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/err/create_domain.sql
---
SOURCE_FILE
  COMMENT "-- missing trailing inherit"
  WHITESPACE "\n"
  CREATE_DOMAIN
    CREATE_KW "create"
    WHITESPACE " "
    DOMAIN_KW "domain"
    WHITESPACE " "
    DOMAIN
      PATH
        PATH_SEGMENT
          IDENT "d"
    WHITESPACE " "
    AS_KW "as"
    WHITESPACE " "
    PATH_TYPE
      PATH_REF
        PATH_SEGMENT_REF
          INT_KW "int"
    WHITESPACE " "
    CHECK_CONSTRAINT
      CHECK_KW "check"
      WHITESPACE " "
      L_PAREN "("
      BIN_EXPR
        NAME_REF
          IDENT "v"
        WHITESPACE " "
        R_ANGLE ">"
        WHITESPACE " "
        LITERAL
          INT_NUMBER "0"
      R_PAREN ")"
      WHITESPACE " "
      NO_INHERIT
        NO_KW "no"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- constraint options after a missing constraint body"
  WHITESPACE "\n"
  ALTER_DOMAIN
    ALTER_KW "alter"
    WHITESPACE " "
    DOMAIN_KW "domain"
    WHITESPACE " "
    DOMAIN_REF
      PATH_REF
        PATH_SEGMENT_REF
          IDENT "d"
    WHITESPACE " "
    ADD_CONSTRAINT
      ADD_KW "add"
      WHITESPACE " "
      CONSTRAINT_NAME_CLAUSE
        CONSTRAINT_KW "constraint"
        WHITESPACE " "
        CONSTRAINT_NAME
          IDENT "c"
      WHITESPACE " "
      DEFERRABLE_CONSTRAINT_OPTION
        DEFERRABLE_KW "deferrable"
      WHITESPACE " "
      INITIALLY_DEFERRED_CONSTRAINT_OPTION
        INITIALLY_KW "initially"
        WHITESPACE " "
        DEFERRED_KW "deferred"
    SEMICOLON ";"
  WHITESPACE "\n"
---
error[syntax-error]: expected INHERIT_KW
  ╭▸ 
2 │ create domain d as int check (v > 0) no;
  ╰╴                                       ━
error[syntax-error]: expected NOT NULL or CHECK constraint
  ╭▸ 
5 │ alter domain d add constraint c deferrable initially deferred;
  ╰╴                               ━