squawk-parser 2.29.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/drop_operator.sql
---
SOURCE_FILE
  COMMENT "-- simple"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    CARET "^"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INTEGER_KW "integer"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INTEGER_KW "integer"
    R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- schema"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    PATH
      PATH
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "foo"
        DOT "."
        PATH_SEGMENT
          NAME_REF
            IDENT "foo"
      DOT "."
      PATH_SEGMENT
    CARET "^"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "f"
        DOT "."
        PATH_SEGMENT
          NAME_REF
            SMALLINT_KW "smallint"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "bar"
        DOT "."
        PATH_SEGMENT
          NAME_REF
            SMALLINT_KW "smallint"
    R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- unary"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    CUSTOM_OP
      TILDE "~"
    WHITESPACE " "
    L_PAREN "("
    NONE_KW "none"
    COMMA ","
    WHITESPACE " "
    BIT_TYPE
      BIT_KW "bit"
    R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- multiple"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    CUSTOM_OP
      TILDE "~"
    WHITESPACE " "
    L_PAREN "("
    NONE_KW "none"
    COMMA ","
    WHITESPACE " "
    BIT_TYPE
      BIT_KW "bit"
    R_PAREN ")"
    COMMA ","
    WHITESPACE " "
    CARET "^"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INTEGER_KW "integer"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INTEGER_KW "integer"
    R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- full"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    IF_EXISTS
      IF_KW "if"
      WHITESPACE " "
      EXISTS_KW "exists"
    WHITESPACE " "
    CUSTOM_OP
      POUND "#"
    WHITESPACE " "
    L_PAREN "("
    NONE_KW "NONE"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            BIGINT_KW "bigint"
    R_PAREN ")"
    COMMA ","
    WHITESPACE " "
    CUSTOM_OP
      AT "@"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            TEXT_KW "text"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            TEXT_KW "text"
    R_PAREN ")"
    COMMA ","
    WHITESPACE " "
    CUSTOM_OP
      POUND "#"
      POUND "#"
    WHITESPACE " "
    L_PAREN "("
    NONE_KW "none"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INTEGER_KW "integer"
    R_PAREN ")"
    WHITESPACE " "
    CASCADE_KW "cascade"
  SEMICOLON ";"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    IF_EXISTS
      IF_KW "if"
      WHITESPACE " "
      EXISTS_KW "exists"
    WHITESPACE " "
    CUSTOM_OP
      BANG "!"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INT_KW "int"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INT_KW "int"
    R_PAREN ")"
    WHITESPACE " "
    RESTRICT_KW "restrict"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- non_default_operator"
  WHITESPACE "\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    IF_EXISTS
      IF_KW "if"
      WHITESPACE " "
      EXISTS_KW "exists"
    WHITESPACE " "
    CUSTOM_OP
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
      BANG "!"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INT_KW "int"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INT_KW "int"
    R_PAREN ")"
    WHITESPACE " "
    RESTRICT_KW "restrict"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  DROP_OPERATOR
    DROP_KW "drop"
    WHITESPACE " "
    OPERATOR_KW "operator"
    WHITESPACE " "
    PATH
      PATH
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "bar"
        DOT "."
        PATH_SEGMENT
          NAME_REF
            IDENT "bar"
      DOT "."
      PATH_SEGMENT
    CUSTOM_OP
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
      AT "@"
    WHITESPACE " "
    L_PAREN "("
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INT_KW "int"
    COMMA ","
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            INT_KW "int"
    R_PAREN ")"
    WHITESPACE " "
    RESTRICT_KW "restrict"
  SEMICOLON ";"
  WHITESPACE "\n\n"