squawk-parser 2.61.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/create_cast.sql
---
SOURCE_FILE
  COMMENT "-- simple"
  WHITESPACE "\n"
  CREATE_CAST
    CREATE_KW "create"
    WHITESPACE " "
    CAST_KW "cast"
    WHITESPACE " "
    CAST_SIG
      L_PAREN "("
      PATH_TYPE
        PATH_REF
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "t"
      WHITESPACE " "
      AS_KW "as"
      WHITESPACE " "
      PATH_TYPE
        PATH_REF
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "u"
      R_PAREN ")"
    WHITESPACE "\n  "
    WITHOUT_FUNCTION
      WITHOUT_KW "without"
      WHITESPACE " "
      FUNCTION_KW "function"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- inout"
  WHITESPACE "\n"
  CREATE_CAST
    CREATE_KW "create"
    WHITESPACE " "
    CAST_KW "cast"
    WHITESPACE " "
    CAST_SIG
      L_PAREN "("
      PATH_TYPE
        PATH_REF
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "t"
      WHITESPACE " "
      AS_KW "as"
      WHITESPACE " "
      PATH_TYPE
        PATH_REF
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "u"
      R_PAREN ")"
    WHITESPACE "\n  "
    WITH_INOUT
      WITH_KW "with"
      WHITESPACE " "
      INOUT_KW "inout"
    WHITESPACE "\n  "
    AS_KW "as"
    WHITESPACE " "
    IMPLICIT_KW "implicit"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- full"
  WHITESPACE "\n"
  CREATE_CAST
    CREATE_KW "create"
    WHITESPACE " "
    CAST_KW "cast"
    WHITESPACE " "
    CAST_SIG
      L_PAREN "("
      PATH_TYPE
        PATH_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "foo"
          DOT "."
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "t"
      WHITESPACE " "
      AS_KW "as"
      WHITESPACE " "
      PATH_TYPE
        PATH_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "bar"
          DOT "."
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "u"
      R_PAREN ")"
    WHITESPACE "\n  "
    WITH_FUNCTION
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_REF
              PATH_SEGMENT_REF
                NAME_REF
                  IDENT "foo"
            DOT "."
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "bar"
        PARAM_LIST
          L_PAREN "("
          PARAM
            PARAM_IN
              IN_KW "in"
            WHITESPACE " "
            PARAM_NAME
              IDENT "a"
            WHITESPACE " "
            PATH_TYPE
              PATH_REF
                PATH_SEGMENT_REF
                  NAME_REF
                    TEXT_KW "text"
          COMMA ","
          WHITESPACE " "
          PARAM
            PARAM_OUT
              OUT_KW "out"
            WHITESPACE " "
            PARAM_NAME
              IDENT "b"
            WHITESPACE " "
            PATH_TYPE
              PATH_REF
                PATH_SEGMENT_REF
                  NAME_REF
                    BIGINT_KW "bigint"
          COMMA ","
          WHITESPACE " "
          PARAM
            PATH_TYPE
              PATH_REF
                PATH_SEGMENT_REF
                  NAME_REF
                    TEXT_KW "text"
          R_PAREN ")"
    WHITESPACE "\n  "
    AS_KW "as"
    WHITESPACE " "
    ASSIGNMENT_KW "assignment"
    SEMICOLON ";"
  WHITESPACE "\n\n"