[
  {
    "type": "add_column",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definition",
          "named": true
        },
        {
          "type": "column_position",
          "named": true
        },
        {
          "type": "keyword_add",
          "named": true
        },
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        }
      ]
    }
  },
  {
    "type": "add_constraint",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "constraint",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_add",
          "named": true
        },
        {
          "type": "keyword_constraint",
          "named": true
        }
      ]
    }
  },
  {
    "type": "all_fields",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_column",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      },
      "key": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "statistics": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "+",
            "named": false
          },
          {
            "type": "-",
            "named": false
          }
        ]
      },
      "type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "array_size_definition",
            "named": true
          },
          {
            "type": "bigint",
            "named": true
          },
          {
            "type": "binary",
            "named": true
          },
          {
            "type": "bit",
            "named": true
          },
          {
            "type": "char",
            "named": true
          },
          {
            "type": "datetimeoffset",
            "named": true
          },
          {
            "type": "decimal",
            "named": true
          },
          {
            "type": "double",
            "named": true
          },
          {
            "type": "enum",
            "named": true
          },
          {
            "type": "float",
            "named": true
          },
          {
            "type": "int",
            "named": true
          },
          {
            "type": "keyword_bigserial",
            "named": true
          },
          {
            "type": "keyword_boolean",
            "named": true
          },
          {
            "type": "keyword_box2d",
            "named": true
          },
          {
            "type": "keyword_box3d",
            "named": true
          },
          {
            "type": "keyword_bytea",
            "named": true
          },
          {
            "type": "keyword_date",
            "named": true
          },
          {
            "type": "keyword_datetime",
            "named": true
          },
          {
            "type": "keyword_datetime2",
            "named": true
          },
          {
            "type": "keyword_geography",
            "named": true
          },
          {
            "type": "keyword_geometry",
            "named": true
          },
          {
            "type": "keyword_image",
            "named": true
          },
          {
            "type": "keyword_inet",
            "named": true
          },
          {
            "type": "keyword_interval",
            "named": true
          },
          {
            "type": "keyword_json",
            "named": true
          },
          {
            "type": "keyword_jsonb",
            "named": true
          },
          {
            "type": "keyword_money",
            "named": true
          },
          {
            "type": "keyword_name",
            "named": true
          },
          {
            "type": "keyword_oid",
            "named": true
          },
          {
            "type": "keyword_regclass",
            "named": true
          },
          {
            "type": "keyword_regnamespace",
            "named": true
          },
          {
            "type": "keyword_regproc",
            "named": true
          },
          {
            "type": "keyword_regtype",
            "named": true
          },
          {
            "type": "keyword_serial",
            "named": true
          },
          {
            "type": "keyword_smalldatetime",
            "named": true
          },
          {
            "type": "keyword_smallmoney",
            "named": true
          },
          {
            "type": "keyword_smallserial",
            "named": true
          },
          {
            "type": "keyword_string",
            "named": true
          },
          {
            "type": "keyword_text",
            "named": true
          },
          {
            "type": "keyword_timestamptz",
            "named": true
          },
          {
            "type": "keyword_uuid",
            "named": true
          },
          {
            "type": "keyword_xml",
            "named": true
          },
          {
            "type": "mediumint",
            "named": true
          },
          {
            "type": "nchar",
            "named": true
          },
          {
            "type": "numeric",
            "named": true
          },
          {
            "type": "nvarchar",
            "named": true
          },
          {
            "type": "object_reference",
            "named": true
          },
          {
            "type": "smallint",
            "named": true
          },
          {
            "type": "time",
            "named": true
          },
          {
            "type": "timestamp",
            "named": true
          },
          {
            "type": "tinyint",
            "named": true
          },
          {
            "type": "varbinary",
            "named": true
          },
          {
            "type": "varchar",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_compression",
          "named": true
        },
        {
          "type": "keyword_data",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_extended",
          "named": true
        },
        {
          "type": "keyword_external",
          "named": true
        },
        {
          "type": "keyword_main",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_plain",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_statistics",
          "named": true
        },
        {
          "type": "keyword_storage",
          "named": true
        },
        {
          "type": "keyword_type",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_database",
    "named": true,
    "fields": {
      "configuration_parameter": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "change_ownership",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_database",
          "named": true
        },
        {
          "type": "keyword_reset",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_tablespace",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "set_configuration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_index",
    "named": true,
    "fields": {
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_index",
          "named": true
        },
        {
          "type": "keyword_reset",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_statistics",
          "named": true
        },
        {
          "type": "keyword_tablespace",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_materialized_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "change_ownership",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "set_schema",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_policy",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_check",
          "named": true
        },
        {
          "type": "keyword_current_role",
          "named": true
        },
        {
          "type": "keyword_current_user",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_policy",
          "named": true
        },
        {
          "type": "keyword_public",
          "named": true
        },
        {
          "type": "keyword_session_user",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_using",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_role",
    "named": true,
    "fields": {
      "connection_limit": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "option": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "password": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "valid_until": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_connection",
          "named": true
        },
        {
          "type": "keyword_database",
          "named": true
        },
        {
          "type": "keyword_encrypted",
          "named": true
        },
        {
          "type": "keyword_group",
          "named": true
        },
        {
          "type": "keyword_in",
          "named": true
        },
        {
          "type": "keyword_limit",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_password",
          "named": true
        },
        {
          "type": "keyword_reset",
          "named": true
        },
        {
          "type": "keyword_role",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_until",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_valid",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "set_configuration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_schema",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_owner",
          "named": true
        },
        {
          "type": "keyword_rename",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_sequence",
    "named": true,
    "fields": {
      "cache": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "custom_type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      },
      "restart": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "start": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "change_ownership",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_cache",
          "named": true
        },
        {
          "type": "keyword_cycle",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_increment",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_logged",
          "named": true
        },
        {
          "type": "keyword_maxvalue",
          "named": true
        },
        {
          "type": "keyword_minvalue",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_none",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_owned",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_restart",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_sequence",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_start",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_unlogged",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_table",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "add_column",
          "named": true
        },
        {
          "type": "add_constraint",
          "named": true
        },
        {
          "type": "alter_column",
          "named": true
        },
        {
          "type": "change_column",
          "named": true
        },
        {
          "type": "change_ownership",
          "named": true
        },
        {
          "type": "drop_column",
          "named": true
        },
        {
          "type": "drop_constraint",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_disable",
          "named": true
        },
        {
          "type": "keyword_enable",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_force",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_level",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_only",
          "named": true
        },
        {
          "type": "keyword_row",
          "named": true
        },
        {
          "type": "keyword_security",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "modify_column",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "rename_column",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "set_schema",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_type",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "change_ownership",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_add",
          "named": true
        },
        {
          "type": "keyword_after",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_attribute",
          "named": true
        },
        {
          "type": "keyword_before",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_collate",
          "named": true
        },
        {
          "type": "keyword_data",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_rename",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_type",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_value",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "set_schema",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alter_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "change_ownership",
          "named": true
        },
        {
          "type": "keyword_alter",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "rename_column",
          "named": true
        },
        {
          "type": "rename_object",
          "named": true
        },
        {
          "type": "set_schema",
          "named": true
        }
      ]
    }
  },
  {
    "type": "array",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "cte",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_array",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_show",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tables",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_unload",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "set_operation",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "array_size_definition",
    "named": true,
    "fields": {
      "size": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "keyword_array",
          "named": true
        }
      ]
    }
  },
  {
    "type": "assignment",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "field",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "assignment_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "between_expression",
    "named": true,
    "fields": {
      "high": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "low": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "keyword_between",
            "named": true
          },
          {
            "type": "keyword_not",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_and",
          "named": true
        }
      ]
    }
  },
  {
    "type": "bigint",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_bigint",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "binary",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_binary",
          "named": true
        }
      ]
    }
  },
  {
    "type": "binary_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "!=",
            "named": false
          },
          {
            "type": "%",
            "named": false
          },
          {
            "type": "*",
            "named": false
          },
          {
            "type": "+",
            "named": false
          },
          {
            "type": "-",
            "named": false
          },
          {
            "type": "/",
            "named": false
          },
          {
            "type": "<",
            "named": false
          },
          {
            "type": "<=",
            "named": false
          },
          {
            "type": "<>",
            "named": false
          },
          {
            "type": "=",
            "named": false
          },
          {
            "type": ">",
            "named": false
          },
          {
            "type": ">=",
            "named": false
          },
          {
            "type": "^",
            "named": false
          },
          {
            "type": "distinct_from",
            "named": true
          },
          {
            "type": "is_not",
            "named": true
          },
          {
            "type": "keyword_and",
            "named": true
          },
          {
            "type": "keyword_in",
            "named": true
          },
          {
            "type": "keyword_is",
            "named": true
          },
          {
            "type": "keyword_like",
            "named": true
          },
          {
            "type": "keyword_or",
            "named": true
          },
          {
            "type": "keyword_rlike",
            "named": true
          },
          {
            "type": "not_distinct_from",
            "named": true
          },
          {
            "type": "not_in",
            "named": true
          },
          {
            "type": "not_like",
            "named": true
          },
          {
            "type": "not_rlike",
            "named": true
          },
          {
            "type": "not_similar_to",
            "named": true
          },
          {
            "type": "op_other",
            "named": true
          },
          {
            "type": "similar_to",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "bit",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_bit",
          "named": true
        },
        {
          "type": "keyword_varying",
          "named": true
        }
      ]
    }
  },
  {
    "type": "block",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_begin",
          "named": true
        },
        {
          "type": "keyword_end",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "case",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_case",
          "named": true
        },
        {
          "type": "keyword_else",
          "named": true
        },
        {
          "type": "keyword_end",
          "named": true
        },
        {
          "type": "keyword_then",
          "named": true
        },
        {
          "type": "keyword_when",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "cast",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "keyword_cast",
            "named": true
          }
        ]
      },
      "parameter": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "change_column",
    "named": true,
    "fields": {
      "old_name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definition",
          "named": true
        },
        {
          "type": "column_position",
          "named": true
        },
        {
          "type": "keyword_change",
          "named": true
        },
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        }
      ]
    }
  },
  {
    "type": "change_ownership",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_owner",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        }
      ]
    }
  },
  {
    "type": "char",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_char",
          "named": true
        }
      ]
    }
  },
  {
    "type": "column",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "direction",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "column_definition",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "array_size_definition",
            "named": true
          },
          {
            "type": "bigint",
            "named": true
          },
          {
            "type": "binary",
            "named": true
          },
          {
            "type": "bit",
            "named": true
          },
          {
            "type": "char",
            "named": true
          },
          {
            "type": "datetimeoffset",
            "named": true
          },
          {
            "type": "decimal",
            "named": true
          },
          {
            "type": "double",
            "named": true
          },
          {
            "type": "enum",
            "named": true
          },
          {
            "type": "float",
            "named": true
          },
          {
            "type": "int",
            "named": true
          },
          {
            "type": "keyword_bigserial",
            "named": true
          },
          {
            "type": "keyword_boolean",
            "named": true
          },
          {
            "type": "keyword_box2d",
            "named": true
          },
          {
            "type": "keyword_box3d",
            "named": true
          },
          {
            "type": "keyword_bytea",
            "named": true
          },
          {
            "type": "keyword_date",
            "named": true
          },
          {
            "type": "keyword_datetime",
            "named": true
          },
          {
            "type": "keyword_datetime2",
            "named": true
          },
          {
            "type": "keyword_geography",
            "named": true
          },
          {
            "type": "keyword_geometry",
            "named": true
          },
          {
            "type": "keyword_image",
            "named": true
          },
          {
            "type": "keyword_inet",
            "named": true
          },
          {
            "type": "keyword_interval",
            "named": true
          },
          {
            "type": "keyword_json",
            "named": true
          },
          {
            "type": "keyword_jsonb",
            "named": true
          },
          {
            "type": "keyword_money",
            "named": true
          },
          {
            "type": "keyword_name",
            "named": true
          },
          {
            "type": "keyword_oid",
            "named": true
          },
          {
            "type": "keyword_regclass",
            "named": true
          },
          {
            "type": "keyword_regnamespace",
            "named": true
          },
          {
            "type": "keyword_regproc",
            "named": true
          },
          {
            "type": "keyword_regtype",
            "named": true
          },
          {
            "type": "keyword_serial",
            "named": true
          },
          {
            "type": "keyword_smalldatetime",
            "named": true
          },
          {
            "type": "keyword_smallmoney",
            "named": true
          },
          {
            "type": "keyword_smallserial",
            "named": true
          },
          {
            "type": "keyword_string",
            "named": true
          },
          {
            "type": "keyword_text",
            "named": true
          },
          {
            "type": "keyword_timestamptz",
            "named": true
          },
          {
            "type": "keyword_uuid",
            "named": true
          },
          {
            "type": "keyword_xml",
            "named": true
          },
          {
            "type": "mediumint",
            "named": true
          },
          {
            "type": "nchar",
            "named": true
          },
          {
            "type": "numeric",
            "named": true
          },
          {
            "type": "nvarchar",
            "named": true
          },
          {
            "type": "object_reference",
            "named": true
          },
          {
            "type": "smallint",
            "named": true
          },
          {
            "type": "time",
            "named": true
          },
          {
            "type": "timestamp",
            "named": true
          },
          {
            "type": "tinyint",
            "named": true
          },
          {
            "type": "varbinary",
            "named": true
          },
          {
            "type": "varchar",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "direction",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_action",
          "named": true
        },
        {
          "type": "keyword_always",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_auto_increment",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_check",
          "named": true
        },
        {
          "type": "keyword_comment",
          "named": true
        },
        {
          "type": "keyword_constraint",
          "named": true
        },
        {
          "type": "keyword_current_timestamp",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_delete",
          "named": true
        },
        {
          "type": "keyword_generated",
          "named": true
        },
        {
          "type": "keyword_key",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_primary",
          "named": true
        },
        {
          "type": "keyword_references",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_stored",
          "named": true
        },
        {
          "type": "keyword_unique",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "keyword_virtual",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "column_definitions",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definition",
          "named": true
        },
        {
          "type": "constraints",
          "named": true
        }
      ]
    }
  },
  {
    "type": "column_position",
    "named": true,
    "fields": {
      "col_name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_after",
          "named": true
        },
        {
          "type": "keyword_first",
          "named": true
        }
      ]
    }
  },
  {
    "type": "command",
    "named": false,
    "fields": {}
  },
  {
    "type": "comment_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "function_arguments",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_comment",
          "named": true
        },
        {
          "type": "keyword_database",
          "named": true
        },
        {
          "type": "keyword_extension",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_index",
          "named": true
        },
        {
          "type": "keyword_is",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_role",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_sequence",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tablespace",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_type",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "composite_field",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "field",
          "named": true
        },
        {
          "type": "keyword_hash",
          "named": true
        }
      ]
    }
  },
  {
    "type": "constraint",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_action",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_check",
          "named": true
        },
        {
          "type": "keyword_constraint",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_delete",
          "named": true
        },
        {
          "type": "keyword_distinct",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_foreign",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_index",
          "named": true
        },
        {
          "type": "keyword_key",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_nulls",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_primary",
          "named": true
        },
        {
          "type": "keyword_references",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_unique",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "ordered_columns",
          "named": true
        }
      ]
    }
  },
  {
    "type": "constraints",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "constraint",
          "named": true
        }
      ]
    }
  },
  {
    "type": "covering_columns",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "index_fields",
          "named": true
        },
        {
          "type": "keyword_include",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_database",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_database",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_extension",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_extension",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_version",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_function",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "column_definitions",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "function_arguments",
          "named": true
        },
        {
          "type": "function_body",
          "named": true
        },
        {
          "type": "function_cost",
          "named": true
        },
        {
          "type": "function_language",
          "named": true
        },
        {
          "type": "function_leakproof",
          "named": true
        },
        {
          "type": "function_rows",
          "named": true
        },
        {
          "type": "function_safety",
          "named": true
        },
        {
          "type": "function_security",
          "named": true
        },
        {
          "type": "function_strictness",
          "named": true
        },
        {
          "type": "function_support",
          "named": true
        },
        {
          "type": "function_volatility",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_or",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_replace",
          "named": true
        },
        {
          "type": "keyword_returns",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_setof",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_index",
    "named": true,
    "fields": {
      "column": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "covering_columns",
          "named": true
        },
        {
          "type": "index_fields",
          "named": true
        },
        {
          "type": "keyword_brin",
          "named": true
        },
        {
          "type": "keyword_btree",
          "named": true
        },
        {
          "type": "keyword_concurrently",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_gin",
          "named": true
        },
        {
          "type": "keyword_gist",
          "named": true
        },
        {
          "type": "keyword_hash",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_index",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_only",
          "named": true
        },
        {
          "type": "keyword_spgist",
          "named": true
        },
        {
          "type": "keyword_unique",
          "named": true
        },
        {
          "type": "keyword_using",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "tablespace",
          "named": true
        },
        {
          "type": "tablet_split",
          "named": true
        },
        {
          "type": "where",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_materialized_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "create_query",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_data",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_or",
          "named": true
        },
        {
          "type": "keyword_replace",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_policy",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_check",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_current_role",
          "named": true
        },
        {
          "type": "keyword_current_user",
          "named": true
        },
        {
          "type": "keyword_delete",
          "named": true
        },
        {
          "type": "keyword_for",
          "named": true
        },
        {
          "type": "keyword_insert",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_permissive",
          "named": true
        },
        {
          "type": "keyword_policy",
          "named": true
        },
        {
          "type": "keyword_public",
          "named": true
        },
        {
          "type": "keyword_restrictive",
          "named": true
        },
        {
          "type": "keyword_select",
          "named": true
        },
        {
          "type": "keyword_session_user",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "keyword_using",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_procedure",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "function_arguments",
          "named": true
        },
        {
          "type": "function_language",
          "named": true
        },
        {
          "type": "function_safety",
          "named": true
        },
        {
          "type": "function_security",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_definer",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_or",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_replace",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "procedure_body",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_query",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "cte",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_show",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tables",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_unload",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "set_operation",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_role",
    "named": true,
    "fields": {
      "connection_limit": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "option": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "password": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "valid_until": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_admin",
          "named": true
        },
        {
          "type": "keyword_connection",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_encrypted",
          "named": true
        },
        {
          "type": "keyword_group",
          "named": true
        },
        {
          "type": "keyword_in",
          "named": true
        },
        {
          "type": "keyword_limit",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_password",
          "named": true
        },
        {
          "type": "keyword_role",
          "named": true
        },
        {
          "type": "keyword_until",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_valid",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_schema",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_authorization",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_sequence",
    "named": true,
    "fields": {
      "cache": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "custom_type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      },
      "increment": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "start": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_cache",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_cycle",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_increment",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_maxvalue",
          "named": true
        },
        {
          "type": "keyword_minvalue",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_none",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_owned",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_sequence",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_start",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_temp",
          "named": true
        },
        {
          "type": "keyword_temporary",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_unlogged",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_table",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definitions",
          "named": true
        },
        {
          "type": "create_query",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_external",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_oids",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tblproperties",
          "named": true
        },
        {
          "type": "keyword_temp",
          "named": true
        },
        {
          "type": "keyword_temporary",
          "named": true
        },
        {
          "type": "keyword_unlogged",
          "named": true
        },
        {
          "type": "keyword_without",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "row_format",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "storage_location",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "stored_as",
          "named": true
        },
        {
          "type": "table_option",
          "named": true
        },
        {
          "type": "table_partition",
          "named": true
        },
        {
          "type": "table_sort",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_trigger",
    "named": true,
    "fields": {
      "parameter": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "term",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_after",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_before",
          "named": true
        },
        {
          "type": "keyword_constraint",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_deferrable",
          "named": true
        },
        {
          "type": "keyword_deferred",
          "named": true
        },
        {
          "type": "keyword_definer",
          "named": true
        },
        {
          "type": "keyword_delete",
          "named": true
        },
        {
          "type": "keyword_each",
          "named": true
        },
        {
          "type": "keyword_execute",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_follows",
          "named": true
        },
        {
          "type": "keyword_for",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_immediate",
          "named": true
        },
        {
          "type": "keyword_initially",
          "named": true
        },
        {
          "type": "keyword_insert",
          "named": true
        },
        {
          "type": "keyword_instead",
          "named": true
        },
        {
          "type": "keyword_new",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_of",
          "named": true
        },
        {
          "type": "keyword_old",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_or",
          "named": true
        },
        {
          "type": "keyword_precedes",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_referencing",
          "named": true
        },
        {
          "type": "keyword_replace",
          "named": true
        },
        {
          "type": "keyword_row",
          "named": true
        },
        {
          "type": "keyword_statement",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_temp",
          "named": true
        },
        {
          "type": "keyword_temporary",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_truncate",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "keyword_when",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_type",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definitions",
          "named": true
        },
        {
          "type": "enum_elements",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_collate",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_enum",
          "named": true
        },
        {
          "type": "keyword_range",
          "named": true
        },
        {
          "type": "keyword_type",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "create_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "create_query",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_cascaded",
          "named": true
        },
        {
          "type": "keyword_check",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_local",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_option",
          "named": true
        },
        {
          "type": "keyword_or",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_replace",
          "named": true
        },
        {
          "type": "keyword_temp",
          "named": true
        },
        {
          "type": "keyword_temporary",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "cross_join",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_cross",
          "named": true
        },
        {
          "type": "keyword_join",
          "named": true
        },
        {
          "type": "keyword_ordinality",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "relation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "cte",
    "named": true,
    "fields": {
      "argument": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "datetimeoffset",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_datetimeoffset",
          "named": true
        }
      ]
    }
  },
  {
    "type": "decimal",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "scale": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_decimal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "delete",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "index_hint",
          "named": true
        },
        {
          "type": "keyword_delete",
          "named": true
        }
      ]
    }
  },
  {
    "type": "direction",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_asc",
          "named": true
        },
        {
          "type": "keyword_desc",
          "named": true
        }
      ]
    }
  },
  {
    "type": "distinct_from",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_distinct",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_is",
          "named": true
        }
      ]
    }
  },
  {
    "type": "double",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "scale": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "keyword_double",
          "named": true
        },
        {
          "type": "keyword_precision",
          "named": true
        },
        {
          "type": "keyword_real",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_column",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_constraint",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_constraint",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_database",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_database",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_force",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_extension",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_extension",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_function",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_index",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_concurrently",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_index",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_materialized_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_procedure",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_role",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_group",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_role",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_schema",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_sequence",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_sequence",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_table",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_type",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "drop_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_drop",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enum",
    "named": true,
    "fields": {
      "value": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_enum",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enum_elements",
    "named": true,
    "fields": {
      "enum_element": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "exists",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        }
      ]
    }
  },
  {
    "type": "field",
    "named": true,
    "fields": {
      "column": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "expression": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "(",
            "named": false
          },
          {
            "type": ")",
            "named": false
          },
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "function": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "invocation",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "opclass": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "opclass_parameters": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "(",
            "named": false
          },
          {
            "type": ")",
            "named": false
          },
          {
            "type": ",",
            "named": false
          },
          {
            "type": "term",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "direction",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_collate",
          "named": true
        },
        {
          "type": "keyword_first",
          "named": true
        },
        {
          "type": "keyword_hash",
          "named": true
        },
        {
          "type": "keyword_last",
          "named": true
        },
        {
          "type": "keyword_nulls",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "filename",
    "named": false,
    "fields": {}
  },
  {
    "type": "filter_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_filter",
          "named": true
        },
        {
          "type": "where",
          "named": true
        }
      ]
    }
  },
  {
    "type": "float",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "scale": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_float",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "frame_definition",
    "named": true,
    "fields": {
      "end": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "start": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_current",
          "named": true
        },
        {
          "type": "keyword_following",
          "named": true
        },
        {
          "type": "keyword_preceding",
          "named": true
        },
        {
          "type": "keyword_row",
          "named": true
        },
        {
          "type": "keyword_unbounded",
          "named": true
        }
      ]
    }
  },
  {
    "type": "from",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "cross_join",
          "named": true
        },
        {
          "type": "group_by",
          "named": true
        },
        {
          "type": "having",
          "named": true
        },
        {
          "type": "index_hint",
          "named": true
        },
        {
          "type": "join",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_only",
          "named": true
        },
        {
          "type": "lateral_cross_join",
          "named": true
        },
        {
          "type": "lateral_join",
          "named": true
        },
        {
          "type": "limit",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "order_by",
          "named": true
        },
        {
          "type": "relation",
          "named": true
        },
        {
          "type": "where",
          "named": true
        },
        {
          "type": "window_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_argument",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_in",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_inout",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_out",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_variadic",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_arguments",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "function_argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_body",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "dollar_quote",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "function_declaration",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_atomic",
          "named": true
        },
        {
          "type": "keyword_begin",
          "named": true
        },
        {
          "type": "keyword_declare",
          "named": true
        },
        {
          "type": "keyword_end",
          "named": true
        },
        {
          "type": "keyword_return",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "var_declarations",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_cost",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_cost",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_declaration",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_language",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_language",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_leakproof",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_leakproof",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_rows",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_rows",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_safety",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_parallel",
          "named": true
        },
        {
          "type": "keyword_restricted",
          "named": true
        },
        {
          "type": "keyword_safe",
          "named": true
        },
        {
          "type": "keyword_unsafe",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_security",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_definer",
          "named": true
        },
        {
          "type": "keyword_external",
          "named": true
        },
        {
          "type": "keyword_invoker",
          "named": true
        },
        {
          "type": "keyword_security",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_strictness",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_called",
          "named": true
        },
        {
          "type": "keyword_input",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_returns",
          "named": true
        },
        {
          "type": "keyword_strict",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_support",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_support",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_volatility",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_immutable",
          "named": true
        },
        {
          "type": "keyword_stable",
          "named": true
        },
        {
          "type": "keyword_volatile",
          "named": true
        }
      ]
    }
  },
  {
    "type": "group_by",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_group",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "having",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_having",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "identifier",
    "named": true,
    "fields": {}
  },
  {
    "type": "index_fields",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "composite_field",
          "named": true
        },
        {
          "type": "field",
          "named": true
        }
      ]
    }
  },
  {
    "type": "index_hint",
    "named": true,
    "fields": {
      "index_name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_for",
          "named": true
        },
        {
          "type": "keyword_force",
          "named": true
        },
        {
          "type": "keyword_ignore",
          "named": true
        },
        {
          "type": "keyword_index",
          "named": true
        },
        {
          "type": "keyword_join",
          "named": true
        },
        {
          "type": "keyword_use",
          "named": true
        }
      ]
    }
  },
  {
    "type": "insert",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "assignment_list",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "cte",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_conflict",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_delayed",
          "named": true
        },
        {
          "type": "keyword_do",
          "named": true
        },
        {
          "type": "keyword_duplicate",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_high_priority",
          "named": true
        },
        {
          "type": "keyword_ignore",
          "named": true
        },
        {
          "type": "keyword_insert",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_key",
          "named": true
        },
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_low_priority",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_nothing",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_overwrite",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_replace",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_show",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tables",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_unload",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_values",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "set_operation",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "table_partition",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "where",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "int",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_int",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interval",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_interval",
          "named": true
        }
      ]
    }
  },
  {
    "type": "invocation",
    "named": true,
    "fields": {
      "parameter": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "term",
            "named": true
          }
        ]
      },
      "unit": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "filter_expression",
          "named": true
        },
        {
          "type": "keyword_distinct",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_separator",
          "named": true
        },
        {
          "type": "limit",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "order_by",
          "named": true
        },
        {
          "type": "term",
          "named": true
        }
      ]
    }
  },
  {
    "type": "is_not",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_is",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        }
      ]
    }
  },
  {
    "type": "join",
    "named": true,
    "fields": {
      "predicate": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "index_hint",
          "named": true
        },
        {
          "type": "join",
          "named": true
        },
        {
          "type": "keyword_full",
          "named": true
        },
        {
          "type": "keyword_inner",
          "named": true
        },
        {
          "type": "keyword_join",
          "named": true
        },
        {
          "type": "keyword_left",
          "named": true
        },
        {
          "type": "keyword_natural",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_outer",
          "named": true
        },
        {
          "type": "keyword_right",
          "named": true
        },
        {
          "type": "keyword_using",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "relation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "keyword_bigint",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_bigserial",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_char",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_character",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_int",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_like",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_mediumint",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_real",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_rlike",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_serial",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_smallint",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_smallserial",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_tinyint",
    "named": true,
    "fields": {}
  },
  {
    "type": "keyword_varchar",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "keyword_varying",
          "named": true
        }
      ]
    }
  },
  {
    "type": "lateral_cross_join",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_cross",
          "named": true
        },
        {
          "type": "keyword_join",
          "named": true
        },
        {
          "type": "keyword_lateral",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        }
      ]
    }
  },
  {
    "type": "lateral_join",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_false",
          "named": true
        },
        {
          "type": "keyword_inner",
          "named": true
        },
        {
          "type": "keyword_join",
          "named": true
        },
        {
          "type": "keyword_lateral",
          "named": true
        },
        {
          "type": "keyword_left",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_outer",
          "named": true
        },
        {
          "type": "keyword_true",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "limit",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_limit",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "offset",
          "named": true
        }
      ]
    }
  },
  {
    "type": "list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "column",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_false",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_true",
          "named": true
        }
      ]
    }
  },
  {
    "type": "mediumint",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_mediumint",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "modify_column",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definition",
          "named": true
        },
        {
          "type": "column_position",
          "named": true
        },
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_modify",
          "named": true
        }
      ]
    }
  },
  {
    "type": "nchar",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_nchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "not_distinct_from",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_distinct",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_is",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        }
      ]
    }
  },
  {
    "type": "not_in",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_in",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        }
      ]
    }
  },
  {
    "type": "not_like",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        }
      ]
    }
  },
  {
    "type": "not_rlike",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_rlike",
          "named": true
        }
      ]
    }
  },
  {
    "type": "not_similar_to",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_similar",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        }
      ]
    }
  },
  {
    "type": "numeric",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "scale": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_numeric",
          "named": true
        }
      ]
    }
  },
  {
    "type": "nvarchar",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_nvarchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "object_id",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_object_id",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "object_reference",
    "named": true,
    "fields": {
      "database": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "schema": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "offset",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_offset",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "order_by",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_order",
          "named": true
        },
        {
          "type": "order_target",
          "named": true
        }
      ]
    }
  },
  {
    "type": "order_target",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "direction",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_first",
          "named": true
        },
        {
          "type": "keyword_last",
          "named": true
        },
        {
          "type": "keyword_nulls",
          "named": true
        },
        {
          "type": "keyword_using",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ordered_columns",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "partition_by",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_partition",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "procedure_body",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "dollar_quote",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "function_declaration",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_atomic",
          "named": true
        },
        {
          "type": "keyword_begin",
          "named": true
        },
        {
          "type": "keyword_declare",
          "named": true
        },
        {
          "type": "keyword_end",
          "named": true
        },
        {
          "type": "keyword_return",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "var_declarations",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "program",
    "named": true,
    "root": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "transaction",
          "named": true
        }
      ]
    }
  },
  {
    "type": "refresh_materialized_view",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_concurrently",
          "named": true
        },
        {
          "type": "keyword_data",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_refresh",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "relation",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "values",
          "named": true
        }
      ]
    }
  },
  {
    "type": "rename_column",
    "named": true,
    "fields": {
      "new_name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "old_name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_column",
          "named": true
        },
        {
          "type": "keyword_rename",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        }
      ]
    }
  },
  {
    "type": "rename_object",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_rename",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "reset_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_authorization",
          "named": true
        },
        {
          "type": "keyword_reset",
          "named": true
        },
        {
          "type": "keyword_role",
          "named": true
        },
        {
          "type": "keyword_session",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "returning",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_returning",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "row_format",
    "named": true,
    "fields": {
      "escaped_char": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "fields_terminated_char": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "row_terminated_char": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_delimited",
          "named": true
        },
        {
          "type": "keyword_escaped",
          "named": true
        },
        {
          "type": "keyword_fields",
          "named": true
        },
        {
          "type": "keyword_format",
          "named": true
        },
        {
          "type": "keyword_lines",
          "named": true
        },
        {
          "type": "keyword_row",
          "named": true
        },
        {
          "type": "keyword_terminated",
          "named": true
        }
      ]
    }
  },
  {
    "type": "select",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_distinct",
          "named": true
        },
        {
          "type": "keyword_select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "select_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "term",
          "named": true
        }
      ]
    }
  },
  {
    "type": "set_configuration",
    "named": true,
    "fields": {
      "option": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameter": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "keyword_current",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "set_operation",
    "named": true,
    "fields": {
      "operation": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "keyword_all",
            "named": true
          },
          {
            "type": "keyword_except",
            "named": true
          },
          {
            "type": "keyword_intersect",
            "named": true
          },
          {
            "type": "keyword_union",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "from",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "set_schema",
    "named": true,
    "fields": {
      "schema": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        }
      ]
    }
  },
  {
    "type": "set_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_authorization",
          "named": true
        },
        {
          "type": "keyword_characteristics",
          "named": true
        },
        {
          "type": "keyword_committed",
          "named": true
        },
        {
          "type": "keyword_constraints",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_deferrable",
          "named": true
        },
        {
          "type": "keyword_deferred",
          "named": true
        },
        {
          "type": "keyword_immediate",
          "named": true
        },
        {
          "type": "keyword_isolation",
          "named": true
        },
        {
          "type": "keyword_level",
          "named": true
        },
        {
          "type": "keyword_local",
          "named": true
        },
        {
          "type": "keyword_names",
          "named": true
        },
        {
          "type": "keyword_none",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_off",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_only",
          "named": true
        },
        {
          "type": "keyword_read",
          "named": true
        },
        {
          "type": "keyword_repeatable",
          "named": true
        },
        {
          "type": "keyword_role",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_serializable",
          "named": true
        },
        {
          "type": "keyword_session",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_snapshot",
          "named": true
        },
        {
          "type": "keyword_time",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_transaction",
          "named": true
        },
        {
          "type": "keyword_uncommitted",
          "named": true
        },
        {
          "type": "keyword_write",
          "named": true
        },
        {
          "type": "keyword_zone",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        }
      ]
    }
  },
  {
    "type": "similar_to",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_similar",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        }
      ]
    }
  },
  {
    "type": "smallint",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_smallint",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "statement",
    "named": true,
    "fields": {
      "alias": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "predicate": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "timeout": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "alter_database",
          "named": true
        },
        {
          "type": "alter_index",
          "named": true
        },
        {
          "type": "alter_materialized_view",
          "named": true
        },
        {
          "type": "alter_policy",
          "named": true
        },
        {
          "type": "alter_role",
          "named": true
        },
        {
          "type": "alter_schema",
          "named": true
        },
        {
          "type": "alter_sequence",
          "named": true
        },
        {
          "type": "alter_table",
          "named": true
        },
        {
          "type": "alter_type",
          "named": true
        },
        {
          "type": "alter_view",
          "named": true
        },
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "column",
          "named": true
        },
        {
          "type": "comment_statement",
          "named": true
        },
        {
          "type": "create_database",
          "named": true
        },
        {
          "type": "create_extension",
          "named": true
        },
        {
          "type": "create_function",
          "named": true
        },
        {
          "type": "create_index",
          "named": true
        },
        {
          "type": "create_materialized_view",
          "named": true
        },
        {
          "type": "create_policy",
          "named": true
        },
        {
          "type": "create_procedure",
          "named": true
        },
        {
          "type": "create_role",
          "named": true
        },
        {
          "type": "create_schema",
          "named": true
        },
        {
          "type": "create_sequence",
          "named": true
        },
        {
          "type": "create_table",
          "named": true
        },
        {
          "type": "create_trigger",
          "named": true
        },
        {
          "type": "create_type",
          "named": true
        },
        {
          "type": "create_view",
          "named": true
        },
        {
          "type": "cte",
          "named": true
        },
        {
          "type": "delete",
          "named": true
        },
        {
          "type": "drop_database",
          "named": true
        },
        {
          "type": "drop_extension",
          "named": true
        },
        {
          "type": "drop_function",
          "named": true
        },
        {
          "type": "drop_index",
          "named": true
        },
        {
          "type": "drop_materialized_view",
          "named": true
        },
        {
          "type": "drop_procedure",
          "named": true
        },
        {
          "type": "drop_role",
          "named": true
        },
        {
          "type": "drop_schema",
          "named": true
        },
        {
          "type": "drop_sequence",
          "named": true
        },
        {
          "type": "drop_table",
          "named": true
        },
        {
          "type": "drop_type",
          "named": true
        },
        {
          "type": "drop_view",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "insert",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_analyze",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_bin_pack",
          "named": true
        },
        {
          "type": "keyword_binary",
          "named": true
        },
        {
          "type": "keyword_cache",
          "named": true
        },
        {
          "type": "keyword_cascade",
          "named": true
        },
        {
          "type": "keyword_columns",
          "named": true
        },
        {
          "type": "keyword_compute",
          "named": true
        },
        {
          "type": "keyword_copy",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_csv",
          "named": true
        },
        {
          "type": "keyword_data",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_delimiter",
          "named": true
        },
        {
          "type": "keyword_encoding",
          "named": true
        },
        {
          "type": "keyword_escape",
          "named": true
        },
        {
          "type": "keyword_exists",
          "named": true
        },
        {
          "type": "keyword_explain",
          "named": true
        },
        {
          "type": "keyword_false",
          "named": true
        },
        {
          "type": "keyword_for",
          "named": true
        },
        {
          "type": "keyword_force_not_null",
          "named": true
        },
        {
          "type": "keyword_force_null",
          "named": true
        },
        {
          "type": "keyword_force_quote",
          "named": true
        },
        {
          "type": "keyword_format",
          "named": true
        },
        {
          "type": "keyword_freeze",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_full",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_header",
          "named": true
        },
        {
          "type": "keyword_if",
          "named": true
        },
        {
          "type": "keyword_incremental",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_local",
          "named": true
        },
        {
          "type": "keyword_match",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_merge",
          "named": true
        },
        {
          "type": "keyword_metadata",
          "named": true
        },
        {
          "type": "keyword_noscan",
          "named": true
        },
        {
          "type": "keyword_nowait",
          "named": true
        },
        {
          "type": "keyword_null",
          "named": true
        },
        {
          "type": "keyword_on",
          "named": true
        },
        {
          "type": "keyword_only",
          "named": true
        },
        {
          "type": "keyword_optimize",
          "named": true
        },
        {
          "type": "keyword_parallel",
          "named": true
        },
        {
          "type": "keyword_partition",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_program",
          "named": true
        },
        {
          "type": "keyword_quote",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_rename",
          "named": true
        },
        {
          "type": "keyword_restrict",
          "named": true
        },
        {
          "type": "keyword_rewrite",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_show",
          "named": true
        },
        {
          "type": "keyword_statistics",
          "named": true
        },
        {
          "type": "keyword_stats",
          "named": true
        },
        {
          "type": "keyword_stdin",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tables",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_true",
          "named": true
        },
        {
          "type": "keyword_truncate",
          "named": true
        },
        {
          "type": "keyword_unload",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_using",
          "named": true
        },
        {
          "type": "keyword_vacuum",
          "named": true
        },
        {
          "type": "keyword_verbose",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_wait",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "refresh_materialized_view",
          "named": true
        },
        {
          "type": "reset_statement",
          "named": true
        },
        {
          "type": "returning",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "set_operation",
          "named": true
        },
        {
          "type": "set_statement",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "table_option",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "update",
          "named": true
        },
        {
          "type": "when_clause",
          "named": true
        },
        {
          "type": "where",
          "named": true
        },
        {
          "type": "while_statement",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "storage_location",
    "named": true,
    "fields": {
      "path": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "pool": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_cached",
          "named": true
        },
        {
          "type": "keyword_in",
          "named": true
        },
        {
          "type": "keyword_location",
          "named": true
        },
        {
          "type": "keyword_replication",
          "named": true
        },
        {
          "type": "keyword_uncached",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        }
      ]
    }
  },
  {
    "type": "storage_parameters",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "stored_as",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_avro",
          "named": true
        },
        {
          "type": "keyword_csv",
          "named": true
        },
        {
          "type": "keyword_jsonfile",
          "named": true
        },
        {
          "type": "keyword_orc",
          "named": true
        },
        {
          "type": "keyword_parquet",
          "named": true
        },
        {
          "type": "keyword_rcfile",
          "named": true
        },
        {
          "type": "keyword_sequencefile",
          "named": true
        },
        {
          "type": "keyword_stored",
          "named": true
        },
        {
          "type": "keyword_textfile",
          "named": true
        }
      ]
    }
  },
  {
    "type": "subquery",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "cte",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_show",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tables",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_unload",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "set_operation",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "subscript",
    "named": true,
    "fields": {
      "expression": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "lower": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "subscript": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "upper": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "table_option",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "keyword_default",
            "named": true
          },
          {
            "type": "keyword_engine",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_character",
          "named": true
        },
        {
          "type": "keyword_collate",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        }
      ]
    }
  },
  {
    "type": "table_partition",
    "named": true,
    "fields": {
      "key": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "column_definitions",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_hash",
          "named": true
        },
        {
          "type": "keyword_partition",
          "named": true
        },
        {
          "type": "keyword_partitioned",
          "named": true
        },
        {
          "type": "keyword_range",
          "named": true
        }
      ]
    }
  },
  {
    "type": "table_sort",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_by",
          "named": true
        },
        {
          "type": "keyword_sort",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tablespace",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_tablespace",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tablet_split",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_split",
          "named": true
        },
        {
          "type": "keyword_tablets",
          "named": true
        }
      ]
    }
  },
  {
    "type": "term",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "all_fields",
            "named": true
          },
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "keyword_as",
          "named": true
        }
      ]
    }
  },
  {
    "type": "time",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_time",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "keyword_without",
          "named": true
        },
        {
          "type": "keyword_zone",
          "named": true
        }
      ]
    }
  },
  {
    "type": "timestamp",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_time",
          "named": true
        },
        {
          "type": "keyword_timestamp",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "keyword_without",
          "named": true
        },
        {
          "type": "keyword_zone",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tinyint",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_tinyint",
          "named": true
        },
        {
          "type": "keyword_unsigned",
          "named": true
        },
        {
          "type": "keyword_zerofill",
          "named": true
        }
      ]
    }
  },
  {
    "type": "transaction",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_begin",
          "named": true
        },
        {
          "type": "keyword_commit",
          "named": true
        },
        {
          "type": "keyword_rollback",
          "named": true
        },
        {
          "type": "keyword_transaction",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_expression",
    "named": true,
    "fields": {
      "operand": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "bang",
            "named": true
          },
          {
            "type": "keyword_all",
            "named": true
          },
          {
            "type": "keyword_any",
            "named": true
          },
          {
            "type": "keyword_not",
            "named": true
          },
          {
            "type": "keyword_some",
            "named": true
          },
          {
            "type": "op_unary_other",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "update",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "join",
          "named": true
        },
        {
          "type": "keyword_only",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "relation",
          "named": true
        },
        {
          "type": "where",
          "named": true
        }
      ]
    }
  },
  {
    "type": "values",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_values",
          "named": true
        },
        {
          "type": "list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "var_declaration",
    "named": true,
    "fields": {
      "custom_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "object_reference",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array_size_definition",
          "named": true
        },
        {
          "type": "bigint",
          "named": true
        },
        {
          "type": "binary",
          "named": true
        },
        {
          "type": "bit",
          "named": true
        },
        {
          "type": "char",
          "named": true
        },
        {
          "type": "datetimeoffset",
          "named": true
        },
        {
          "type": "decimal",
          "named": true
        },
        {
          "type": "double",
          "named": true
        },
        {
          "type": "enum",
          "named": true
        },
        {
          "type": "float",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "int",
          "named": true
        },
        {
          "type": "keyword_bigserial",
          "named": true
        },
        {
          "type": "keyword_boolean",
          "named": true
        },
        {
          "type": "keyword_box2d",
          "named": true
        },
        {
          "type": "keyword_box3d",
          "named": true
        },
        {
          "type": "keyword_bytea",
          "named": true
        },
        {
          "type": "keyword_date",
          "named": true
        },
        {
          "type": "keyword_datetime",
          "named": true
        },
        {
          "type": "keyword_datetime2",
          "named": true
        },
        {
          "type": "keyword_default",
          "named": true
        },
        {
          "type": "keyword_geography",
          "named": true
        },
        {
          "type": "keyword_geometry",
          "named": true
        },
        {
          "type": "keyword_image",
          "named": true
        },
        {
          "type": "keyword_inet",
          "named": true
        },
        {
          "type": "keyword_interval",
          "named": true
        },
        {
          "type": "keyword_json",
          "named": true
        },
        {
          "type": "keyword_jsonb",
          "named": true
        },
        {
          "type": "keyword_money",
          "named": true
        },
        {
          "type": "keyword_name",
          "named": true
        },
        {
          "type": "keyword_oid",
          "named": true
        },
        {
          "type": "keyword_regclass",
          "named": true
        },
        {
          "type": "keyword_regnamespace",
          "named": true
        },
        {
          "type": "keyword_regproc",
          "named": true
        },
        {
          "type": "keyword_regtype",
          "named": true
        },
        {
          "type": "keyword_serial",
          "named": true
        },
        {
          "type": "keyword_smalldatetime",
          "named": true
        },
        {
          "type": "keyword_smallmoney",
          "named": true
        },
        {
          "type": "keyword_smallserial",
          "named": true
        },
        {
          "type": "keyword_string",
          "named": true
        },
        {
          "type": "keyword_text",
          "named": true
        },
        {
          "type": "keyword_timestamptz",
          "named": true
        },
        {
          "type": "keyword_uuid",
          "named": true
        },
        {
          "type": "keyword_xml",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "mediumint",
          "named": true
        },
        {
          "type": "nchar",
          "named": true
        },
        {
          "type": "numeric",
          "named": true
        },
        {
          "type": "nvarchar",
          "named": true
        },
        {
          "type": "smallint",
          "named": true
        },
        {
          "type": "time",
          "named": true
        },
        {
          "type": "timestamp",
          "named": true
        },
        {
          "type": "tinyint",
          "named": true
        },
        {
          "type": "varbinary",
          "named": true
        },
        {
          "type": "varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "var_declarations",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "keyword_declare",
          "named": true
        },
        {
          "type": "var_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "varbinary",
    "named": true,
    "fields": {
      "precision": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_varbinary",
          "named": true
        }
      ]
    }
  },
  {
    "type": "varchar",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "literal",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_varchar",
          "named": true
        }
      ]
    }
  },
  {
    "type": "when_clause",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "predicate": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "cte",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "from",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_all",
          "named": true
        },
        {
          "type": "keyword_and",
          "named": true
        },
        {
          "type": "keyword_create",
          "named": true
        },
        {
          "type": "keyword_delete",
          "named": true
        },
        {
          "type": "keyword_from",
          "named": true
        },
        {
          "type": "keyword_function",
          "named": true
        },
        {
          "type": "keyword_insert",
          "named": true
        },
        {
          "type": "keyword_into",
          "named": true
        },
        {
          "type": "keyword_like",
          "named": true
        },
        {
          "type": "keyword_matched",
          "named": true
        },
        {
          "type": "keyword_materialized",
          "named": true
        },
        {
          "type": "keyword_not",
          "named": true
        },
        {
          "type": "keyword_procedure",
          "named": true
        },
        {
          "type": "keyword_recursive",
          "named": true
        },
        {
          "type": "keyword_schema",
          "named": true
        },
        {
          "type": "keyword_set",
          "named": true
        },
        {
          "type": "keyword_show",
          "named": true
        },
        {
          "type": "keyword_table",
          "named": true
        },
        {
          "type": "keyword_tables",
          "named": true
        },
        {
          "type": "keyword_then",
          "named": true
        },
        {
          "type": "keyword_to",
          "named": true
        },
        {
          "type": "keyword_trigger",
          "named": true
        },
        {
          "type": "keyword_unload",
          "named": true
        },
        {
          "type": "keyword_update",
          "named": true
        },
        {
          "type": "keyword_user",
          "named": true
        },
        {
          "type": "keyword_values",
          "named": true
        },
        {
          "type": "keyword_view",
          "named": true
        },
        {
          "type": "keyword_when",
          "named": true
        },
        {
          "type": "keyword_with",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "object_reference",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "select",
          "named": true
        },
        {
          "type": "select_expression",
          "named": true
        },
        {
          "type": "set_operation",
          "named": true
        },
        {
          "type": "storage_parameters",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "where",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "where",
    "named": true,
    "fields": {
      "predicate": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array",
            "named": true
          },
          {
            "type": "between_expression",
            "named": true
          },
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "case",
            "named": true
          },
          {
            "type": "cast",
            "named": true
          },
          {
            "type": "exists",
            "named": true
          },
          {
            "type": "field",
            "named": true
          },
          {
            "type": "interval",
            "named": true
          },
          {
            "type": "invocation",
            "named": true
          },
          {
            "type": "list",
            "named": true
          },
          {
            "type": "literal",
            "named": true
          },
          {
            "type": "object_id",
            "named": true
          },
          {
            "type": "parameter",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "subquery",
            "named": true
          },
          {
            "type": "subscript",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          },
          {
            "type": "window_function",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "keyword_where",
          "named": true
        }
      ]
    }
  },
  {
    "type": "while_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "array",
          "named": true
        },
        {
          "type": "between_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "case",
          "named": true
        },
        {
          "type": "cast",
          "named": true
        },
        {
          "type": "exists",
          "named": true
        },
        {
          "type": "field",
          "named": true
        },
        {
          "type": "interval",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_begin",
          "named": true
        },
        {
          "type": "keyword_end",
          "named": true
        },
        {
          "type": "keyword_while",
          "named": true
        },
        {
          "type": "list",
          "named": true
        },
        {
          "type": "literal",
          "named": true
        },
        {
          "type": "object_id",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "subquery",
          "named": true
        },
        {
          "type": "subscript",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        },
        {
          "type": "window_function",
          "named": true
        }
      ]
    }
  },
  {
    "type": "window_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "keyword_as",
          "named": true
        },
        {
          "type": "keyword_window",
          "named": true
        },
        {
          "type": "window_specification",
          "named": true
        }
      ]
    }
  },
  {
    "type": "window_frame",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "frame_definition",
          "named": true
        },
        {
          "type": "keyword_and",
          "named": true
        },
        {
          "type": "keyword_between",
          "named": true
        },
        {
          "type": "keyword_current",
          "named": true
        },
        {
          "type": "keyword_exclude",
          "named": true
        },
        {
          "type": "keyword_group",
          "named": true
        },
        {
          "type": "keyword_groups",
          "named": true
        },
        {
          "type": "keyword_no",
          "named": true
        },
        {
          "type": "keyword_others",
          "named": true
        },
        {
          "type": "keyword_range",
          "named": true
        },
        {
          "type": "keyword_row",
          "named": true
        },
        {
          "type": "keyword_rows",
          "named": true
        },
        {
          "type": "keyword_ties",
          "named": true
        }
      ]
    }
  },
  {
    "type": "window_function",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "invocation",
          "named": true
        },
        {
          "type": "keyword_over",
          "named": true
        },
        {
          "type": "window_specification",
          "named": true
        }
      ]
    }
  },
  {
    "type": "window_specification",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "order_by",
          "named": true
        },
        {
          "type": "partition_by",
          "named": true
        },
        {
          "type": "window_frame",
          "named": true
        }
      ]
    }
  },
  {
    "type": "!=",
    "named": false
  },
  {
    "type": "%",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": "*",
    "named": false
  },
  {
    "type": "+",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": "-",
    "named": false
  },
  {
    "type": ".",
    "named": false
  },
  {
    "type": "/",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ":=",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "<=",
    "named": false
  },
  {
    "type": "<>",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": ">=",
    "named": false
  },
  {
    "type": "@",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "^",
    "named": false
  },
  {
    "type": "`",
    "named": false
  },
  {
    "type": "bang",
    "named": true
  },
  {
    "type": "comment",
    "named": true,
    "extra": true
  },
  {
    "type": "dollar_quote",
    "named": true
  },
  {
    "type": "keyword_action",
    "named": true
  },
  {
    "type": "keyword_add",
    "named": true
  },
  {
    "type": "keyword_admin",
    "named": true
  },
  {
    "type": "keyword_after",
    "named": true
  },
  {
    "type": "keyword_all",
    "named": true
  },
  {
    "type": "keyword_alter",
    "named": true
  },
  {
    "type": "keyword_always",
    "named": true
  },
  {
    "type": "keyword_analyze",
    "named": true
  },
  {
    "type": "keyword_and",
    "named": true
  },
  {
    "type": "keyword_any",
    "named": true
  },
  {
    "type": "keyword_array",
    "named": true
  },
  {
    "type": "keyword_as",
    "named": true
  },
  {
    "type": "keyword_asc",
    "named": true
  },
  {
    "type": "keyword_atomic",
    "named": true
  },
  {
    "type": "keyword_attribute",
    "named": true
  },
  {
    "type": "keyword_authorization",
    "named": true
  },
  {
    "type": "keyword_auto_increment",
    "named": true
  },
  {
    "type": "keyword_avro",
    "named": true
  },
  {
    "type": "keyword_before",
    "named": true
  },
  {
    "type": "keyword_begin",
    "named": true
  },
  {
    "type": "keyword_between",
    "named": true
  },
  {
    "type": "keyword_bin_pack",
    "named": true
  },
  {
    "type": "keyword_binary",
    "named": true
  },
  {
    "type": "keyword_bit",
    "named": true
  },
  {
    "type": "keyword_boolean",
    "named": true
  },
  {
    "type": "keyword_box2d",
    "named": true
  },
  {
    "type": "keyword_box3d",
    "named": true
  },
  {
    "type": "keyword_brin",
    "named": true
  },
  {
    "type": "keyword_btree",
    "named": true
  },
  {
    "type": "keyword_by",
    "named": true
  },
  {
    "type": "keyword_bytea",
    "named": true
  },
  {
    "type": "keyword_cache",
    "named": true
  },
  {
    "type": "keyword_cached",
    "named": true
  },
  {
    "type": "keyword_called",
    "named": true
  },
  {
    "type": "keyword_cascade",
    "named": true
  },
  {
    "type": "keyword_cascaded",
    "named": true
  },
  {
    "type": "keyword_case",
    "named": true
  },
  {
    "type": "keyword_cast",
    "named": true
  },
  {
    "type": "keyword_change",
    "named": true
  },
  {
    "type": "keyword_characteristics",
    "named": true
  },
  {
    "type": "keyword_check",
    "named": true
  },
  {
    "type": "keyword_collate",
    "named": true
  },
  {
    "type": "keyword_column",
    "named": true
  },
  {
    "type": "keyword_columns",
    "named": true
  },
  {
    "type": "keyword_comment",
    "named": true
  },
  {
    "type": "keyword_commit",
    "named": true
  },
  {
    "type": "keyword_committed",
    "named": true
  },
  {
    "type": "keyword_compression",
    "named": true
  },
  {
    "type": "keyword_compute",
    "named": true
  },
  {
    "type": "keyword_concurrently",
    "named": true
  },
  {
    "type": "keyword_conflict",
    "named": true
  },
  {
    "type": "keyword_connection",
    "named": true
  },
  {
    "type": "keyword_constraint",
    "named": true
  },
  {
    "type": "keyword_constraints",
    "named": true
  },
  {
    "type": "keyword_copy",
    "named": true
  },
  {
    "type": "keyword_cost",
    "named": true
  },
  {
    "type": "keyword_create",
    "named": true
  },
  {
    "type": "keyword_cross",
    "named": true
  },
  {
    "type": "keyword_csv",
    "named": true
  },
  {
    "type": "keyword_current",
    "named": true
  },
  {
    "type": "keyword_current_role",
    "named": true
  },
  {
    "type": "keyword_current_timestamp",
    "named": true
  },
  {
    "type": "keyword_current_user",
    "named": true
  },
  {
    "type": "keyword_cycle",
    "named": true
  },
  {
    "type": "keyword_data",
    "named": true
  },
  {
    "type": "keyword_database",
    "named": true
  },
  {
    "type": "keyword_date",
    "named": true
  },
  {
    "type": "keyword_datetime",
    "named": true
  },
  {
    "type": "keyword_datetime2",
    "named": true
  },
  {
    "type": "keyword_datetimeoffset",
    "named": true
  },
  {
    "type": "keyword_decimal",
    "named": true
  },
  {
    "type": "keyword_declare",
    "named": true
  },
  {
    "type": "keyword_default",
    "named": true
  },
  {
    "type": "keyword_deferrable",
    "named": true
  },
  {
    "type": "keyword_deferred",
    "named": true
  },
  {
    "type": "keyword_definer",
    "named": true
  },
  {
    "type": "keyword_delayed",
    "named": true
  },
  {
    "type": "keyword_delete",
    "named": true
  },
  {
    "type": "keyword_delimited",
    "named": true
  },
  {
    "type": "keyword_delimiter",
    "named": true
  },
  {
    "type": "keyword_desc",
    "named": true
  },
  {
    "type": "keyword_disable",
    "named": true
  },
  {
    "type": "keyword_distinct",
    "named": true
  },
  {
    "type": "keyword_do",
    "named": true
  },
  {
    "type": "keyword_double",
    "named": true
  },
  {
    "type": "keyword_drop",
    "named": true
  },
  {
    "type": "keyword_duplicate",
    "named": true
  },
  {
    "type": "keyword_each",
    "named": true
  },
  {
    "type": "keyword_else",
    "named": true
  },
  {
    "type": "keyword_enable",
    "named": true
  },
  {
    "type": "keyword_encoding",
    "named": true
  },
  {
    "type": "keyword_encrypted",
    "named": true
  },
  {
    "type": "keyword_end",
    "named": true
  },
  {
    "type": "keyword_engine",
    "named": true
  },
  {
    "type": "keyword_enum",
    "named": true
  },
  {
    "type": "keyword_escape",
    "named": true
  },
  {
    "type": "keyword_escaped",
    "named": true
  },
  {
    "type": "keyword_except",
    "named": true
  },
  {
    "type": "keyword_exclude",
    "named": true
  },
  {
    "type": "keyword_execute",
    "named": true
  },
  {
    "type": "keyword_exists",
    "named": true
  },
  {
    "type": "keyword_explain",
    "named": true
  },
  {
    "type": "keyword_extended",
    "named": true
  },
  {
    "type": "keyword_extension",
    "named": true
  },
  {
    "type": "keyword_external",
    "named": true
  },
  {
    "type": "keyword_false",
    "named": true
  },
  {
    "type": "keyword_fields",
    "named": true
  },
  {
    "type": "keyword_filter",
    "named": true
  },
  {
    "type": "keyword_first",
    "named": true
  },
  {
    "type": "keyword_float",
    "named": true
  },
  {
    "type": "keyword_following",
    "named": true
  },
  {
    "type": "keyword_follows",
    "named": true
  },
  {
    "type": "keyword_for",
    "named": true
  },
  {
    "type": "keyword_force",
    "named": true
  },
  {
    "type": "keyword_force_not_null",
    "named": true
  },
  {
    "type": "keyword_force_null",
    "named": true
  },
  {
    "type": "keyword_force_quote",
    "named": true
  },
  {
    "type": "keyword_foreign",
    "named": true
  },
  {
    "type": "keyword_format",
    "named": true
  },
  {
    "type": "keyword_freeze",
    "named": true
  },
  {
    "type": "keyword_from",
    "named": true
  },
  {
    "type": "keyword_full",
    "named": true
  },
  {
    "type": "keyword_function",
    "named": true
  },
  {
    "type": "keyword_generated",
    "named": true
  },
  {
    "type": "keyword_geography",
    "named": true
  },
  {
    "type": "keyword_geometry",
    "named": true
  },
  {
    "type": "keyword_gin",
    "named": true
  },
  {
    "type": "keyword_gist",
    "named": true
  },
  {
    "type": "keyword_group",
    "named": true
  },
  {
    "type": "keyword_groups",
    "named": true
  },
  {
    "type": "keyword_hash",
    "named": true
  },
  {
    "type": "keyword_having",
    "named": true
  },
  {
    "type": "keyword_header",
    "named": true
  },
  {
    "type": "keyword_high_priority",
    "named": true
  },
  {
    "type": "keyword_if",
    "named": true
  },
  {
    "type": "keyword_ignore",
    "named": true
  },
  {
    "type": "keyword_image",
    "named": true
  },
  {
    "type": "keyword_immediate",
    "named": true
  },
  {
    "type": "keyword_immutable",
    "named": true
  },
  {
    "type": "keyword_in",
    "named": true
  },
  {
    "type": "keyword_include",
    "named": true
  },
  {
    "type": "keyword_increment",
    "named": true
  },
  {
    "type": "keyword_incremental",
    "named": true
  },
  {
    "type": "keyword_index",
    "named": true
  },
  {
    "type": "keyword_inet",
    "named": true
  },
  {
    "type": "keyword_initially",
    "named": true
  },
  {
    "type": "keyword_inner",
    "named": true
  },
  {
    "type": "keyword_inout",
    "named": true
  },
  {
    "type": "keyword_input",
    "named": true
  },
  {
    "type": "keyword_insert",
    "named": true
  },
  {
    "type": "keyword_instead",
    "named": true
  },
  {
    "type": "keyword_intersect",
    "named": true
  },
  {
    "type": "keyword_interval",
    "named": true
  },
  {
    "type": "keyword_into",
    "named": true
  },
  {
    "type": "keyword_invoker",
    "named": true
  },
  {
    "type": "keyword_is",
    "named": true
  },
  {
    "type": "keyword_isolation",
    "named": true
  },
  {
    "type": "keyword_join",
    "named": true
  },
  {
    "type": "keyword_json",
    "named": true
  },
  {
    "type": "keyword_jsonb",
    "named": true
  },
  {
    "type": "keyword_jsonfile",
    "named": true
  },
  {
    "type": "keyword_key",
    "named": true
  },
  {
    "type": "keyword_language",
    "named": true
  },
  {
    "type": "keyword_last",
    "named": true
  },
  {
    "type": "keyword_lateral",
    "named": true
  },
  {
    "type": "keyword_leakproof",
    "named": true
  },
  {
    "type": "keyword_left",
    "named": true
  },
  {
    "type": "keyword_level",
    "named": true
  },
  {
    "type": "keyword_limit",
    "named": true
  },
  {
    "type": "keyword_lines",
    "named": true
  },
  {
    "type": "keyword_local",
    "named": true
  },
  {
    "type": "keyword_location",
    "named": true
  },
  {
    "type": "keyword_logged",
    "named": true
  },
  {
    "type": "keyword_low_priority",
    "named": true
  },
  {
    "type": "keyword_main",
    "named": true
  },
  {
    "type": "keyword_match",
    "named": true
  },
  {
    "type": "keyword_matched",
    "named": true
  },
  {
    "type": "keyword_materialized",
    "named": true
  },
  {
    "type": "keyword_maxvalue",
    "named": true
  },
  {
    "type": "keyword_merge",
    "named": true
  },
  {
    "type": "keyword_metadata",
    "named": true
  },
  {
    "type": "keyword_minvalue",
    "named": true
  },
  {
    "type": "keyword_modify",
    "named": true
  },
  {
    "type": "keyword_money",
    "named": true
  },
  {
    "type": "keyword_name",
    "named": true
  },
  {
    "type": "keyword_names",
    "named": true
  },
  {
    "type": "keyword_natural",
    "named": true
  },
  {
    "type": "keyword_nchar",
    "named": true
  },
  {
    "type": "keyword_new",
    "named": true
  },
  {
    "type": "keyword_no",
    "named": true
  },
  {
    "type": "keyword_none",
    "named": true
  },
  {
    "type": "keyword_noscan",
    "named": true
  },
  {
    "type": "keyword_not",
    "named": true
  },
  {
    "type": "keyword_nothing",
    "named": true
  },
  {
    "type": "keyword_nowait",
    "named": true
  },
  {
    "type": "keyword_null",
    "named": true
  },
  {
    "type": "keyword_nulls",
    "named": true
  },
  {
    "type": "keyword_numeric",
    "named": true
  },
  {
    "type": "keyword_nvarchar",
    "named": true
  },
  {
    "type": "keyword_object_id",
    "named": true
  },
  {
    "type": "keyword_of",
    "named": true
  },
  {
    "type": "keyword_off",
    "named": true
  },
  {
    "type": "keyword_offset",
    "named": true
  },
  {
    "type": "keyword_oid",
    "named": true
  },
  {
    "type": "keyword_oids",
    "named": true
  },
  {
    "type": "keyword_old",
    "named": true
  },
  {
    "type": "keyword_on",
    "named": true
  },
  {
    "type": "keyword_only",
    "named": true
  },
  {
    "type": "keyword_optimize",
    "named": true
  },
  {
    "type": "keyword_option",
    "named": true
  },
  {
    "type": "keyword_or",
    "named": true
  },
  {
    "type": "keyword_orc",
    "named": true
  },
  {
    "type": "keyword_order",
    "named": true
  },
  {
    "type": "keyword_ordinality",
    "named": true
  },
  {
    "type": "keyword_others",
    "named": true
  },
  {
    "type": "keyword_out",
    "named": true
  },
  {
    "type": "keyword_outer",
    "named": true
  },
  {
    "type": "keyword_over",
    "named": true
  },
  {
    "type": "keyword_overwrite",
    "named": true
  },
  {
    "type": "keyword_owned",
    "named": true
  },
  {
    "type": "keyword_owner",
    "named": true
  },
  {
    "type": "keyword_parallel",
    "named": true
  },
  {
    "type": "keyword_parquet",
    "named": true
  },
  {
    "type": "keyword_partition",
    "named": true
  },
  {
    "type": "keyword_partitioned",
    "named": true
  },
  {
    "type": "keyword_password",
    "named": true
  },
  {
    "type": "keyword_permissive",
    "named": true
  },
  {
    "type": "keyword_plain",
    "named": true
  },
  {
    "type": "keyword_policy",
    "named": true
  },
  {
    "type": "keyword_precedes",
    "named": true
  },
  {
    "type": "keyword_preceding",
    "named": true
  },
  {
    "type": "keyword_precision",
    "named": true
  },
  {
    "type": "keyword_primary",
    "named": true
  },
  {
    "type": "keyword_procedure",
    "named": true
  },
  {
    "type": "keyword_program",
    "named": true
  },
  {
    "type": "keyword_public",
    "named": true
  },
  {
    "type": "keyword_quote",
    "named": true
  },
  {
    "type": "keyword_range",
    "named": true
  },
  {
    "type": "keyword_rcfile",
    "named": true
  },
  {
    "type": "keyword_read",
    "named": true
  },
  {
    "type": "keyword_recursive",
    "named": true
  },
  {
    "type": "keyword_references",
    "named": true
  },
  {
    "type": "keyword_referencing",
    "named": true
  },
  {
    "type": "keyword_refresh",
    "named": true
  },
  {
    "type": "keyword_regclass",
    "named": true
  },
  {
    "type": "keyword_regnamespace",
    "named": true
  },
  {
    "type": "keyword_regproc",
    "named": true
  },
  {
    "type": "keyword_regtype",
    "named": true
  },
  {
    "type": "keyword_rename",
    "named": true
  },
  {
    "type": "keyword_repeatable",
    "named": true
  },
  {
    "type": "keyword_replace",
    "named": true
  },
  {
    "type": "keyword_replication",
    "named": true
  },
  {
    "type": "keyword_reset",
    "named": true
  },
  {
    "type": "keyword_restart",
    "named": true
  },
  {
    "type": "keyword_restrict",
    "named": true
  },
  {
    "type": "keyword_restricted",
    "named": true
  },
  {
    "type": "keyword_restrictive",
    "named": true
  },
  {
    "type": "keyword_return",
    "named": true
  },
  {
    "type": "keyword_returning",
    "named": true
  },
  {
    "type": "keyword_returns",
    "named": true
  },
  {
    "type": "keyword_rewrite",
    "named": true
  },
  {
    "type": "keyword_right",
    "named": true
  },
  {
    "type": "keyword_role",
    "named": true
  },
  {
    "type": "keyword_rollback",
    "named": true
  },
  {
    "type": "keyword_row",
    "named": true
  },
  {
    "type": "keyword_rows",
    "named": true
  },
  {
    "type": "keyword_safe",
    "named": true
  },
  {
    "type": "keyword_schema",
    "named": true
  },
  {
    "type": "keyword_security",
    "named": true
  },
  {
    "type": "keyword_select",
    "named": true
  },
  {
    "type": "keyword_separator",
    "named": true
  },
  {
    "type": "keyword_sequence",
    "named": true
  },
  {
    "type": "keyword_sequencefile",
    "named": true
  },
  {
    "type": "keyword_serializable",
    "named": true
  },
  {
    "type": "keyword_session",
    "named": true
  },
  {
    "type": "keyword_session_user",
    "named": true
  },
  {
    "type": "keyword_set",
    "named": true
  },
  {
    "type": "keyword_setof",
    "named": true
  },
  {
    "type": "keyword_show",
    "named": true
  },
  {
    "type": "keyword_similar",
    "named": true
  },
  {
    "type": "keyword_smalldatetime",
    "named": true
  },
  {
    "type": "keyword_smallmoney",
    "named": true
  },
  {
    "type": "keyword_snapshot",
    "named": true
  },
  {
    "type": "keyword_some",
    "named": true
  },
  {
    "type": "keyword_sort",
    "named": true
  },
  {
    "type": "keyword_spgist",
    "named": true
  },
  {
    "type": "keyword_split",
    "named": true
  },
  {
    "type": "keyword_stable",
    "named": true
  },
  {
    "type": "keyword_start",
    "named": true
  },
  {
    "type": "keyword_statement",
    "named": true
  },
  {
    "type": "keyword_statistics",
    "named": true
  },
  {
    "type": "keyword_stats",
    "named": true
  },
  {
    "type": "keyword_stdin",
    "named": true
  },
  {
    "type": "keyword_storage",
    "named": true
  },
  {
    "type": "keyword_stored",
    "named": true
  },
  {
    "type": "keyword_strict",
    "named": true
  },
  {
    "type": "keyword_string",
    "named": true
  },
  {
    "type": "keyword_support",
    "named": true
  },
  {
    "type": "keyword_table",
    "named": true
  },
  {
    "type": "keyword_tables",
    "named": true
  },
  {
    "type": "keyword_tablespace",
    "named": true
  },
  {
    "type": "keyword_tablets",
    "named": true
  },
  {
    "type": "keyword_tblproperties",
    "named": true
  },
  {
    "type": "keyword_temp",
    "named": true
  },
  {
    "type": "keyword_temporary",
    "named": true
  },
  {
    "type": "keyword_terminated",
    "named": true
  },
  {
    "type": "keyword_text",
    "named": true
  },
  {
    "type": "keyword_textfile",
    "named": true
  },
  {
    "type": "keyword_then",
    "named": true
  },
  {
    "type": "keyword_ties",
    "named": true
  },
  {
    "type": "keyword_time",
    "named": true
  },
  {
    "type": "keyword_timestamp",
    "named": true
  },
  {
    "type": "keyword_timestamptz",
    "named": true
  },
  {
    "type": "keyword_to",
    "named": true
  },
  {
    "type": "keyword_transaction",
    "named": true
  },
  {
    "type": "keyword_trigger",
    "named": true
  },
  {
    "type": "keyword_true",
    "named": true
  },
  {
    "type": "keyword_truncate",
    "named": true
  },
  {
    "type": "keyword_type",
    "named": true
  },
  {
    "type": "keyword_unbounded",
    "named": true
  },
  {
    "type": "keyword_uncached",
    "named": true
  },
  {
    "type": "keyword_uncommitted",
    "named": true
  },
  {
    "type": "keyword_union",
    "named": true
  },
  {
    "type": "keyword_unique",
    "named": true
  },
  {
    "type": "keyword_unload",
    "named": true
  },
  {
    "type": "keyword_unlogged",
    "named": true
  },
  {
    "type": "keyword_unsafe",
    "named": true
  },
  {
    "type": "keyword_unsigned",
    "named": true
  },
  {
    "type": "keyword_until",
    "named": true
  },
  {
    "type": "keyword_update",
    "named": true
  },
  {
    "type": "keyword_use",
    "named": true
  },
  {
    "type": "keyword_user",
    "named": true
  },
  {
    "type": "keyword_using",
    "named": true
  },
  {
    "type": "keyword_uuid",
    "named": true
  },
  {
    "type": "keyword_vacuum",
    "named": true
  },
  {
    "type": "keyword_valid",
    "named": true
  },
  {
    "type": "keyword_value",
    "named": true
  },
  {
    "type": "keyword_values",
    "named": true
  },
  {
    "type": "keyword_varbinary",
    "named": true
  },
  {
    "type": "keyword_variadic",
    "named": true
  },
  {
    "type": "keyword_varying",
    "named": true
  },
  {
    "type": "keyword_verbose",
    "named": true
  },
  {
    "type": "keyword_version",
    "named": true
  },
  {
    "type": "keyword_view",
    "named": true
  },
  {
    "type": "keyword_virtual",
    "named": true
  },
  {
    "type": "keyword_volatile",
    "named": true
  },
  {
    "type": "keyword_wait",
    "named": true
  },
  {
    "type": "keyword_when",
    "named": true
  },
  {
    "type": "keyword_where",
    "named": true
  },
  {
    "type": "keyword_while",
    "named": true
  },
  {
    "type": "keyword_window",
    "named": true
  },
  {
    "type": "keyword_with",
    "named": true
  },
  {
    "type": "keyword_without",
    "named": true
  },
  {
    "type": "keyword_write",
    "named": true
  },
  {
    "type": "keyword_xml",
    "named": true
  },
  {
    "type": "keyword_zerofill",
    "named": true
  },
  {
    "type": "keyword_zone",
    "named": true
  },
  {
    "type": "marginalia",
    "named": true,
    "extra": true
  },
  {
    "type": "op_other",
    "named": true
  },
  {
    "type": "op_unary_other",
    "named": true
  },
  {
    "type": "parameter",
    "named": true
  }
]