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/ok/analyze.sql
---
SOURCE_FILE
  COMMENT "-- simple"
  WHITESPACE "\n"
  ANALYZE
    ANALYZE_KW "analyze"
    SEMICOLON ";"
  WHITESPACE "\n"
  ANALYZE
    ANALYSE_KW "analyse"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- full"
  WHITESPACE "\n"
  ANALYZE
    ANALYZE_KW "analyze"
    WHITESPACE " "
    VERBOSE_KW "verbose"
    WHITESPACE " "
    TABLE_AND_COLUMNS_LIST
      TABLE_AND_COLUMNS
        TABLE_RELATION_NAME
          TABLE_NAME_REF
            PATH_REF
              PATH_REF
                PATH_SEGMENT_REF
                  IDENT "foo"
              DOT "."
              PATH_SEGMENT_REF
                IDENT "bar"
      COMMA ","
      WHITESPACE " "
      TABLE_AND_COLUMNS
        TABLE_RELATION_NAME
          TABLE_NAME_REF
            PATH_REF
              PATH_REF
                PATH_SEGMENT_REF
                  IDENT "foo"
              DOT "."
              PATH_SEGMENT_REF
                IDENT "bar"
        COLUMN_REF_LIST
          L_PAREN "("
          COLUMN_NAME_REF
            IDENT "a"
          COMMA ","
          WHITESPACE " "
          COLUMN_NAME_REF
            IDENT "b"
          COMMA ","
          WHITESPACE " "
          COLUMN_NAME_REF
            IDENT "c"
          R_PAREN ")"
      COMMA ","
      WHITESPACE " "
      TABLE_AND_COLUMNS
        TABLE_RELATION_NAME
          TABLE_NAME_REF
            PATH_REF
              PATH_SEGMENT_REF
                IDENT "foo"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- full_parens"
  WHITESPACE "\n"
  ANALYZE
    ANALYZE_KW "analyze"
    WHITESPACE " "
    OPTION_ITEM_LIST
      L_PAREN "("
      OPTION_ITEM
        OPTION_ITEM_KEY
          VERBOSE_KW "verbose"
        WHITESPACE " "
        OPTION_ITEM_VALUE
          LITERAL
            FALSE_KW "false"
      COMMA ","
      WHITESPACE " "
      OPTION_ITEM
        OPTION_ITEM_KEY
          IDENT "skip_locked"
      COMMA ","
      WHITESPACE " "
      OPTION_ITEM
        OPTION_ITEM_KEY
          IDENT "buffer_usage_limit"
        WHITESPACE " "
        OPTION_ITEM_VALUE
          LITERAL
            INT_NUMBER "10"
      R_PAREN ")"
    WHITESPACE " "
    TABLE_AND_COLUMNS_LIST
      TABLE_AND_COLUMNS
        TABLE_RELATION_NAME
          TABLE_NAME_REF
            PATH_REF
              PATH_REF
                PATH_SEGMENT_REF
                  IDENT "foo"
              DOT "."
              PATH_SEGMENT_REF
                IDENT "bar"
        COLUMN_REF_LIST
          L_PAREN "("
          COLUMN_NAME_REF
            IDENT "a"
          COMMA ","
          WHITESPACE " "
          COLUMN_NAME_REF
            IDENT "b"
          COMMA ","
          WHITESPACE " "
          COLUMN_NAME_REF
            IDENT "c"
          R_PAREN ")"
    SEMICOLON ";"
  WHITESPACE "\n"
  ANALYZE
    ANALYZE_KW "analyze"
    WHITESPACE " "
    OPTION_ITEM_LIST
      L_PAREN "("
      OPTION_ITEM
        OPTION_ITEM_KEY
          VERBOSE_KW "verbose"
        WHITESPACE " "
        OPTION_ITEM_VALUE
          OPTION_ITEM_VALUE_NAME
            NO_KW "no"
      COMMA ","
      WHITESPACE " "
      OPTION_ITEM
        OPTION_ITEM_KEY
          IDENT "skip_locked"
        WHITESPACE " "
        OPTION_ITEM_VALUE
          LITERAL
            STRING "'on'"
      R_PAREN ")"
    WHITESPACE " "
    TABLE_AND_COLUMNS_LIST
      TABLE_AND_COLUMNS
        TABLE_RELATION_NAME
          TABLE_NAME_REF
            PATH_REF
              PATH_SEGMENT_REF
                IDENT "foo"
    SEMICOLON ";"
  WHITESPACE "\n\n"