---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/create_property_graph.sql
---
SOURCE_FILE
  COMMENT "-- all the temps"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      TEMPORARY_KW "temporary"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      TEMP_KW "temp"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      LOCAL_KW "local"
      WHITESPACE " "
      TEMPORARY_KW "temporary"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      LOCAL_KW "local"
      WHITESPACE " "
      TEMP_KW "temp"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      GLOBAL_KW "global"
      WHITESPACE " "
      TEMPORARY_KW "temporary"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      GLOBAL_KW "global"
      WHITESPACE " "
      TEMP_KW "temp"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    UNLOGGED
      UNLOGGED_KW "unlogged"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "f"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    TEMP
      TEMP_KW "temp"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "foo"
      DOT "."
      PATH_SEGMENT
        NAME
          IDENT "bar"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- vertex & table edges"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "foo"
      DOT "."
      PATH_SEGMENT
        NAME
          IDENT "bar"
    WHITESPACE "\n  "
    VERTEX_TABLES
      VERTEX_KW "vertex"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      VERTEX_TABLE_DEF
        PATH
          PATH
            PATH_SEGMENT
              NAME_REF
                IDENT "buzz"
          DOT "."
          PATH_SEGMENT
            NAME_REF
              IDENT "boo"
        WHITESPACE " "
        AS_KW "as"
        WHITESPACE " "
        NAME
          IDENT "foo"
        WHITESPACE " "
        KEY_KW "key"
        WHITESPACE " "
        COLUMN_LIST
          L_PAREN "("
          COLUMN
            NAME_REF
              IDENT "a"
          COMMA ","
          WHITESPACE " "
          COLUMN
            NAME_REF
              IDENT "b"
          R_PAREN ")"
        WHITESPACE " "
        NO_PROPERTIES
          NO_KW "no"
          WHITESPACE " "
          PROPERTIES_KW "properties"
      R_PAREN ")"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      EDGE_TABLE_DEF
        PATH
          PATH
            PATH_SEGMENT
              NAME_REF
                IDENT "foo"
          DOT "."
          PATH_SEGMENT
            NAME_REF
              IDENT "bar"
        WHITESPACE " "
        AS_KW "as"
        WHITESPACE " "
        NAME
          IDENT "z"
        WHITESPACE " "
        KEY_KW "key"
        WHITESPACE " "
        COLUMN_LIST
          L_PAREN "("
          COLUMN
            NAME_REF
              IDENT "x"
          COMMA ","
          WHITESPACE " "
          COLUMN
            NAME_REF
              IDENT "y"
          R_PAREN ")"
        WHITESPACE "\n    "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          KEY_KW "key"
          WHITESPACE " "
          COLUMN_LIST
            L_PAREN "("
            COLUMN
              NAME_REF
                IDENT "a"
            COMMA ","
            WHITESPACE " "
            COLUMN
              NAME_REF
                IDENT "b"
            R_PAREN ")"
          WHITESPACE " "
          REFERENCES_TABLE
            REFERENCES_KW "references"
            WHITESPACE " "
            NAME_REF
              IDENT "k"
            WHITESPACE " "
            COLUMN_LIST
              L_PAREN "("
              COLUMN
                NAME_REF
                  IDENT "t"
              COMMA ","
              WHITESPACE " "
              COLUMN
                NAME_REF
                  IDENT "y"
              R_PAREN ")"
        WHITESPACE "\n    "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          KEY_KW "key"
          WHITESPACE " "
          COLUMN_LIST
            L_PAREN "("
            COLUMN
              NAME_REF
                IDENT "q"
            COMMA ","
            WHITESPACE " "
            COLUMN
              NAME_REF
                IDENT "t"
            R_PAREN ")"
          WHITESPACE " "
          REFERENCES_TABLE
            REFERENCES_KW "references"
            WHITESPACE " "
            NAME_REF
              IDENT "a"
            WHITESPACE " "
            COLUMN_LIST
              L_PAREN "("
              COLUMN
                NAME_REF
                  IDENT "r"
              COMMA ","
              WHITESPACE " "
              COLUMN
                NAME_REF
                  IDENT "j"
              R_PAREN ")"
        WHITESPACE "\n    "
        ALL_PROPERTIES
          PROPERTIES_KW "properties"
          WHITESPACE " "
          ALL_KW "all"
          WHITESPACE " "
          COLUMNS_KW "columns"
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "g"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "e"
        WHITESPACE "\n    "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "s"
        WHITESPACE "\n    "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "d"
        WHITESPACE "\n    "
        NO_PROPERTIES
          NO_KW "no"
          WHITESPACE " "
          PROPERTIES_KW "properties"
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "g"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "e"
        WHITESPACE "\n    "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "s"
        WHITESPACE "\n    "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "d"
        WHITESPACE "\n    "
        PROPERTIES
          PROPERTIES_KW "properties"
          WHITESPACE " "
          EXPR_AS_NAME_LIST
            L_PAREN "("
            EXPR_AS_NAME
              NAME_REF
                IDENT "a"
              WHITESPACE " "
              AS_KW "as"
              WHITESPACE " "
              NAME
                IDENT "k"
            COMMA ","
            WHITESPACE " "
            EXPR_AS_NAME
              NAME_REF
                IDENT "f"
              WHITESPACE " "
              AS_KW "as"
              WHITESPACE " "
              NAME
                IDENT "y"
            R_PAREN ")"
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- vertex & table edges abbr"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "foo"
      DOT "."
      PATH_SEGMENT
        NAME
          IDENT "bar"
    WHITESPACE "\n  "
    VERTEX_TABLES
      VERTEX_KW "vertex"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      VERTEX_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "boo"
      R_PAREN ")"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      WHITESPACE "\n    "
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "bar"
        WHITESPACE "\n      "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "z"
        WHITESPACE "\n      "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "y"
      WHITESPACE "\n  "
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- vertex tables only"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "foo"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      WHITESPACE "\n    "
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "e"
        WHITESPACE "\n      "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "z"
        WHITESPACE "\n      "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "y"
      WHITESPACE "\n  "
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- edge tables only"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH_SEGMENT
        NAME
          IDENT "bar"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      WHITESPACE "\n    "
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "e"
        WHITESPACE "\n      "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "z"
        WHITESPACE "\n      "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "y"
      WHITESPACE "\n  "
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n\n"
  COMMENT "-- vertex & table multiple tables"
  WHITESPACE "\n"
  CREATE_PROPERTY_GRAPH
    CREATE_KW "create"
    WHITESPACE " "
    PROPERTY_KW "property"
    WHITESPACE " "
    GRAPH_KW "graph"
    WHITESPACE " "
    PATH
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "foo"
      DOT "."
      PATH_SEGMENT
        NAME
          IDENT "bar"
    WHITESPACE "\n  "
    VERTEX_TABLES
      VERTEX_KW "vertex"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      VERTEX_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "boo"
      COMMA ","
      WHITESPACE " "
      VERTEX_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "buzz"
      R_PAREN ")"
    WHITESPACE "\n  "
    EDGE_TABLES
      EDGE_KW "edge"
      WHITESPACE " "
      TABLES_KW "tables"
      WHITESPACE " "
      L_PAREN "("
      WHITESPACE "\n    "
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "bar"
        WHITESPACE "\n      "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "z"
        WHITESPACE "\n      "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "y"
      COMMA ","
      WHITESPACE "\n    "
      EDGE_TABLE_DEF
        PATH
          PATH_SEGMENT
            NAME_REF
              IDENT "foo"
        WHITESPACE "\n      "
        SOURCE_VERTEX_TABLE
          SOURCE_KW "source"
          WHITESPACE " "
          NAME_REF
            IDENT "z"
        WHITESPACE "\n      "
        DEST_VERTEX_TABLE
          DESTINATION_KW "destination"
          WHITESPACE " "
          NAME_REF
            IDENT "y"
      WHITESPACE "\n  "
      R_PAREN ")"
  SEMICOLON ";"
  WHITESPACE "\n"
