squawk-parser 2.63.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/lock.sql
---
SOURCE_FILE
  COMMENT "-- simple"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- table_names"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    TABLE_KW "table"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
      COMMA ","
      WHITESPACE " "
      RELATION_NAME
        ONLY_KW "only"
        WHITESPACE " "
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "b"
      COMMA ","
      WHITESPACE " "
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "c"
        WHITESPACE " "
        STAR "*"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- lock_mode"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      ACCESS_SHARE
        ACCESS_KW "access"
        WHITESPACE " "
        SHARE_KW "share"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      ROW_SHARE
        ROW_KW "row"
        WHITESPACE " "
        SHARE_KW "share"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      ROW_EXCLUSIVE
        ROW_KW "row"
        WHITESPACE " "
        EXCLUSIVE_KW "exclusive"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      SHARE_UPDATE_EXCLUSIVE
        SHARE_KW "share"
        WHITESPACE " "
        UPDATE_KW "update"
        WHITESPACE " "
        EXCLUSIVE_KW "exclusive"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      SHARE
        SHARE_KW "share"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      SHARE_ROW_EXCLUSIVE
        SHARE_KW "share"
        WHITESPACE " "
        ROW_KW "row"
        WHITESPACE " "
        EXCLUSIVE_KW "exclusive"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      EXCLUSIVE
        EXCLUSIVE_KW "exclusive"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      ACCESS_EXCLUSIVE
        ACCESS_KW "access"
        WHITESPACE " "
        EXCLUSIVE_KW "exclusive"
      WHITESPACE " "
      MODE_KW "mode"
    SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- all"
  WHITESPACE "\n"
  LOCK
    LOCK_KW "lock"
    WHITESPACE " "
    TABLE_KW "table"
    WHITESPACE " "
    RELATION_LIST
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "t"
      COMMA ","
      WHITESPACE " "
      RELATION_NAME
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "a"
        WHITESPACE " "
        STAR "*"
      COMMA ","
      WHITESPACE " "
      RELATION_NAME
        ONLY_KW "only"
        WHITESPACE " "
        RELATION_NAME_REF
          PATH_REF
            PATH_SEGMENT_REF
              IDENT "c"
    WHITESPACE " "
    LOCK_MODE_CLAUSE
      IN_KW "in"
      WHITESPACE " "
      ROW_EXCLUSIVE
        ROW_KW "row"
        WHITESPACE " "
        EXCLUSIVE_KW "exclusive"
      WHITESPACE " "
      MODE_KW "mode"
    WHITESPACE " "
    NOWAIT
      NOWAIT_KW "nowait"
    SEMICOLON ";"
  WHITESPACE "\n\n"