squawk-parser 2.48.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/create_subscription.sql
---
SOURCE_FILE
  COMMENT "-- simple"
  WHITESPACE "\n"
  CREATE_SUBSCRIPTION
    CREATE_KW "create"
    WHITESPACE " "
    SUBSCRIPTION_KW "subscription"
    WHITESPACE " "
    NAME
      IDENT "s"
    WHITESPACE "\n  "
    CONNECTION_KW "connection"
    WHITESPACE " "
    LITERAL
      STRING "''"
    WHITESPACE "\n  "
    PUBLICATION_KW "publication"
    WHITESPACE " "
    NAME_REF
      IDENT "a"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- full"
  WHITESPACE "\n"
  CREATE_SUBSCRIPTION
    CREATE_KW "create"
    WHITESPACE " "
    SUBSCRIPTION_KW "subscription"
    WHITESPACE " "
    NAME
      IDENT "s"
    WHITESPACE "\n  "
    CONNECTION_KW "connection"
    WHITESPACE " "
    LITERAL
      STRING "'host=10.0.0.1 port=5432 user=u dbname=d'"
    WHITESPACE "\n  "
    PUBLICATION_KW "publication"
    WHITESPACE " "
    NAME_REF
      IDENT "a"
    COMMA ","
    WHITESPACE " "
    NAME_REF
      IDENT "b"
    COMMA ","
    WHITESPACE " "
    NAME_REF
      IDENT "c"
    WHITESPACE "\n  "
    WITH_PARAMS
      WITH_KW "with"
      WHITESPACE " "
      ATTRIBUTE_LIST
        L_PAREN "("
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "connect"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              FALSE_KW "false"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "create_slot"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              TRUE_KW "true"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "enabled"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              FALSE_KW "false"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "slot_name"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              STRING "'bar'"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            BINARY_KW "binary"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              TRUE_KW "true"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "copy_data"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              TRUE_KW "true"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "synchronous_commit"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              OFF_KW "off"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "two_phase"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              FALSE_KW "false"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "disable_on_error"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              TRUE_KW "true"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "password_required"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              FALSE_KW "false"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "run_as_owner"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              TRUE_KW "true"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "origin"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              STRING "'foo'"
        COMMA ","
        WHITESPACE "\n    "
        ATTRIBUTE_OPTION
          NAME
            IDENT "failover"
          WHITESPACE " "
          EQ "="
          WHITESPACE " "
          ATTRIBUTE_VALUE
            LITERAL
              FALSE_KW "false"
        WHITESPACE "\n  "
        R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"