squawk-parser 2.60.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/create_transform.sql
---
SOURCE_FILE
  COMMENT "-- simple"
  WHITESPACE "\n"
  CREATE_TRANSFORM
    CREATE_KW "create"
    WHITESPACE " "
    TRANSFORM_KW "transform"
    WHITESPACE " "
    FOR_KW "for"
    WHITESPACE " "
    PATH_TYPE
      PATH_REF
        PATH_SEGMENT_REF
          NAME_REF
            IDENT "t"
    WHITESPACE " "
    LANGUAGE_KW "language"
    WHITESPACE " "
    LANGUAGE_REF
      NAME_REF
        IDENT "l"
    WHITESPACE " "
    L_PAREN "("
    WHITESPACE "\n  "
    TRANSFORM_FROM_FUNC
      FROM_KW "from"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "t"
    COMMA ","
    WHITESPACE "\n  "
    TRANSFORM_TO_FUNC
      TO_KW "to"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "g"
    WHITESPACE "\n"
    R_PAREN ")"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- full"
  WHITESPACE "\n"
  CREATE_TRANSFORM
    CREATE_KW "create"
    WHITESPACE " "
    OR_REPLACE
      OR_KW "or"
      WHITESPACE " "
      REPLACE_KW "replace"
    WHITESPACE " "
    TRANSFORM_KW "transform"
    WHITESPACE " "
    FOR_KW "for"
    WHITESPACE " "
    PATH_TYPE
      PATH_REF
        PATH_REF
          PATH_SEGMENT_REF
            NAME_REF
              IDENT "foo"
        DOT "."
        PATH_SEGMENT_REF
          NAME_REF
            IDENT "t"
      ARG_LIST
        L_PAREN "("
        ARG
          LITERAL
            INT_NUMBER "10231"
        R_PAREN ")"
    WHITESPACE " "
    LANGUAGE_KW "language"
    WHITESPACE " "
    LANGUAGE_REF
      NAME_REF
        IDENT "l"
    WHITESPACE " "
    L_PAREN "("
    WHITESPACE "\n  "
    TRANSFORM_FROM_FUNC
      FROM_KW "from"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_REF
              PATH_REF
                PATH_SEGMENT_REF
                  NAME_REF
                    IDENT "bar"
              DOT "."
              PATH_SEGMENT_REF
                NAME_REF
                  IDENT "foo"
            DOT "."
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "f"
        PARAM_LIST
          L_PAREN "("
          PARAM
            NAME
              IDENT "a"
            WHITESPACE " "
            PATH_TYPE
              PATH_REF
                PATH_SEGMENT_REF
                  NAME_REF
                    TEXT_KW "text"
          R_PAREN ")"
    COMMA ","
    WHITESPACE "\n  "
    TRANSFORM_TO_FUNC
      TO_KW "to"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "g"
    WHITESPACE "\n"
    R_PAREN ")"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- from only"
  WHITESPACE "\n"
  CREATE_TRANSFORM
    CREATE_KW "create"
    WHITESPACE " "
    TRANSFORM_KW "transform"
    WHITESPACE " "
    FOR_KW "for"
    WHITESPACE " "
    PATH_TYPE
      PATH_REF
        PATH_SEGMENT_REF
          NAME_REF
            IDENT "only_from"
    WHITESPACE " "
    LANGUAGE_KW "language"
    WHITESPACE " "
    LANGUAGE_REF
      NAME_REF
        IDENT "l"
    WHITESPACE " "
    L_PAREN "("
    WHITESPACE "\n  "
    TRANSFORM_FROM_FUNC
      FROM_KW "from"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "t"
    WHITESPACE "\n"
    R_PAREN ")"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- to only"
  WHITESPACE "\n"
  CREATE_TRANSFORM
    CREATE_KW "create"
    WHITESPACE " "
    TRANSFORM_KW "transform"
    WHITESPACE " "
    FOR_KW "for"
    WHITESPACE " "
    PATH_TYPE
      PATH_REF
        PATH_SEGMENT_REF
          NAME_REF
            IDENT "only_to"
    WHITESPACE " "
    LANGUAGE_KW "language"
    WHITESPACE " "
    LANGUAGE_REF
      NAME_REF
        IDENT "l"
    WHITESPACE " "
    L_PAREN "("
    WHITESPACE "\n  "
    TRANSFORM_TO_FUNC
      TO_KW "to"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "g"
    WHITESPACE "\n"
    R_PAREN ")"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- reverse order"
  WHITESPACE "\n"
  CREATE_TRANSFORM
    CREATE_KW "create"
    WHITESPACE " "
    TRANSFORM_KW "transform"
    WHITESPACE " "
    FOR_KW "for"
    WHITESPACE " "
    PATH_TYPE
      PATH_REF
        PATH_SEGMENT_REF
          NAME_REF
            IDENT "reverse_order"
    WHITESPACE " "
    LANGUAGE_KW "language"
    WHITESPACE " "
    LANGUAGE_REF
      NAME_REF
        IDENT "l"
    WHITESPACE " "
    L_PAREN "("
    WHITESPACE "\n  "
    TRANSFORM_TO_FUNC
      TO_KW "to"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "g"
    COMMA ","
    WHITESPACE "\n  "
    TRANSFORM_FROM_FUNC
      FROM_KW "from"
      WHITESPACE " "
      SQL_KW "sql"
      WHITESPACE " "
      WITH_KW "with"
      WHITESPACE " "
      FUNCTION_KW "function"
      WHITESPACE " "
      FUNCTION_SIG
        FUNCTION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              NAME_REF
                IDENT "t"
    WHITESPACE "\n"
    R_PAREN ")"
    SEMICOLON ";"
  WHITESPACE "\n\n"