// This file is autogenerated by ./scripts/generate_protobuf_and_funcs.rb syntax = "proto3"; package pg_query; message ParseResult { int32 version = 1; repeated RawStmt stmts = 2; } message ScanResult { int32 version = 1; repeated ScanToken tokens = 2; } message Node { oneof node { Alias alias = 1 [json_name="Alias"]; RangeVar range_var = 2 [json_name="RangeVar"]; TableFunc table_func = 3 [json_name="TableFunc"]; Var var = 4 [json_name="Var"]; Param param = 5 [json_name="Param"]; Aggref aggref = 6 [json_name="Aggref"]; GroupingFunc grouping_func = 7 [json_name="GroupingFunc"]; WindowFunc window_func = 8 [json_name="WindowFunc"]; SubscriptingRef subscripting_ref = 9 [json_name="SubscriptingRef"]; FuncExpr func_expr = 10 [json_name="FuncExpr"]; NamedArgExpr named_arg_expr = 11 [json_name="NamedArgExpr"]; OpExpr op_expr = 12 [json_name="OpExpr"]; DistinctExpr distinct_expr = 13 [json_name="DistinctExpr"]; NullIfExpr null_if_expr = 14 [json_name="NullIfExpr"]; ScalarArrayOpExpr scalar_array_op_expr = 15 [json_name="ScalarArrayOpExpr"]; BoolExpr bool_expr = 16 [json_name="BoolExpr"]; SubLink sub_link = 17 [json_name="SubLink"]; SubPlan sub_plan = 18 [json_name="SubPlan"]; AlternativeSubPlan alternative_sub_plan = 19 [json_name="AlternativeSubPlan"]; FieldSelect field_select = 20 [json_name="FieldSelect"]; FieldStore field_store = 21 [json_name="FieldStore"]; RelabelType relabel_type = 22 [json_name="RelabelType"]; CoerceViaIO coerce_via_io = 23 [json_name="CoerceViaIO"]; ArrayCoerceExpr array_coerce_expr = 24 [json_name="ArrayCoerceExpr"]; ConvertRowtypeExpr convert_rowtype_expr = 25 [json_name="ConvertRowtypeExpr"]; CollateExpr collate_expr = 26 [json_name="CollateExpr"]; CaseExpr case_expr = 27 [json_name="CaseExpr"]; CaseWhen case_when = 28 [json_name="CaseWhen"]; CaseTestExpr case_test_expr = 29 [json_name="CaseTestExpr"]; ArrayExpr array_expr = 30 [json_name="ArrayExpr"]; RowExpr row_expr = 31 [json_name="RowExpr"]; RowCompareExpr row_compare_expr = 32 [json_name="RowCompareExpr"]; CoalesceExpr coalesce_expr = 33 [json_name="CoalesceExpr"]; MinMaxExpr min_max_expr = 34 [json_name="MinMaxExpr"]; SQLValueFunction sqlvalue_function = 35 [json_name="SQLValueFunction"]; XmlExpr xml_expr = 36 [json_name="XmlExpr"]; NullTest null_test = 37 [json_name="NullTest"]; BooleanTest boolean_test = 38 [json_name="BooleanTest"]; CoerceToDomain coerce_to_domain = 39 [json_name="CoerceToDomain"]; CoerceToDomainValue coerce_to_domain_value = 40 [json_name="CoerceToDomainValue"]; SetToDefault set_to_default = 41 [json_name="SetToDefault"]; CurrentOfExpr current_of_expr = 42 [json_name="CurrentOfExpr"]; NextValueExpr next_value_expr = 43 [json_name="NextValueExpr"]; InferenceElem inference_elem = 44 [json_name="InferenceElem"]; TargetEntry target_entry = 45 [json_name="TargetEntry"]; RangeTblRef range_tbl_ref = 46 [json_name="RangeTblRef"]; JoinExpr join_expr = 47 [json_name="JoinExpr"]; FromExpr from_expr = 48 [json_name="FromExpr"]; OnConflictExpr on_conflict_expr = 49 [json_name="OnConflictExpr"]; IntoClause into_clause = 50 [json_name="IntoClause"]; MergeAction merge_action = 51 [json_name="MergeAction"]; RawStmt raw_stmt = 52 [json_name="RawStmt"]; Query query = 53 [json_name="Query"]; InsertStmt insert_stmt = 54 [json_name="InsertStmt"]; DeleteStmt delete_stmt = 55 [json_name="DeleteStmt"]; UpdateStmt update_stmt = 56 [json_name="UpdateStmt"]; MergeStmt merge_stmt = 57 [json_name="MergeStmt"]; SelectStmt select_stmt = 58 [json_name="SelectStmt"]; ReturnStmt return_stmt = 59 [json_name="ReturnStmt"]; PLAssignStmt plassign_stmt = 60 [json_name="PLAssignStmt"]; AlterTableStmt alter_table_stmt = 61 [json_name="AlterTableStmt"]; AlterTableCmd alter_table_cmd = 62 [json_name="AlterTableCmd"]; AlterDomainStmt alter_domain_stmt = 63 [json_name="AlterDomainStmt"]; SetOperationStmt set_operation_stmt = 64 [json_name="SetOperationStmt"]; GrantStmt grant_stmt = 65 [json_name="GrantStmt"]; GrantRoleStmt grant_role_stmt = 66 [json_name="GrantRoleStmt"]; AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 67 [json_name="AlterDefaultPrivilegesStmt"]; ClosePortalStmt close_portal_stmt = 68 [json_name="ClosePortalStmt"]; ClusterStmt cluster_stmt = 69 [json_name="ClusterStmt"]; CopyStmt copy_stmt = 70 [json_name="CopyStmt"]; CreateStmt create_stmt = 71 [json_name="CreateStmt"]; DefineStmt define_stmt = 72 [json_name="DefineStmt"]; DropStmt drop_stmt = 73 [json_name="DropStmt"]; TruncateStmt truncate_stmt = 74 [json_name="TruncateStmt"]; CommentStmt comment_stmt = 75 [json_name="CommentStmt"]; FetchStmt fetch_stmt = 76 [json_name="FetchStmt"]; IndexStmt index_stmt = 77 [json_name="IndexStmt"]; CreateFunctionStmt create_function_stmt = 78 [json_name="CreateFunctionStmt"]; AlterFunctionStmt alter_function_stmt = 79 [json_name="AlterFunctionStmt"]; DoStmt do_stmt = 80 [json_name="DoStmt"]; RenameStmt rename_stmt = 81 [json_name="RenameStmt"]; RuleStmt rule_stmt = 82 [json_name="RuleStmt"]; NotifyStmt notify_stmt = 83 [json_name="NotifyStmt"]; ListenStmt listen_stmt = 84 [json_name="ListenStmt"]; UnlistenStmt unlisten_stmt = 85 [json_name="UnlistenStmt"]; TransactionStmt transaction_stmt = 86 [json_name="TransactionStmt"]; ViewStmt view_stmt = 87 [json_name="ViewStmt"]; LoadStmt load_stmt = 88 [json_name="LoadStmt"]; CreateDomainStmt create_domain_stmt = 89 [json_name="CreateDomainStmt"]; CreatedbStmt createdb_stmt = 90 [json_name="CreatedbStmt"]; DropdbStmt dropdb_stmt = 91 [json_name="DropdbStmt"]; VacuumStmt vacuum_stmt = 92 [json_name="VacuumStmt"]; ExplainStmt explain_stmt = 93 [json_name="ExplainStmt"]; CreateTableAsStmt create_table_as_stmt = 94 [json_name="CreateTableAsStmt"]; CreateSeqStmt create_seq_stmt = 95 [json_name="CreateSeqStmt"]; AlterSeqStmt alter_seq_stmt = 96 [json_name="AlterSeqStmt"]; VariableSetStmt variable_set_stmt = 97 [json_name="VariableSetStmt"]; VariableShowStmt variable_show_stmt = 98 [json_name="VariableShowStmt"]; DiscardStmt discard_stmt = 99 [json_name="DiscardStmt"]; CreateTrigStmt create_trig_stmt = 100 [json_name="CreateTrigStmt"]; CreatePLangStmt create_plang_stmt = 101 [json_name="CreatePLangStmt"]; CreateRoleStmt create_role_stmt = 102 [json_name="CreateRoleStmt"]; AlterRoleStmt alter_role_stmt = 103 [json_name="AlterRoleStmt"]; DropRoleStmt drop_role_stmt = 104 [json_name="DropRoleStmt"]; LockStmt lock_stmt = 105 [json_name="LockStmt"]; ConstraintsSetStmt constraints_set_stmt = 106 [json_name="ConstraintsSetStmt"]; ReindexStmt reindex_stmt = 107 [json_name="ReindexStmt"]; CheckPointStmt check_point_stmt = 108 [json_name="CheckPointStmt"]; CreateSchemaStmt create_schema_stmt = 109 [json_name="CreateSchemaStmt"]; AlterDatabaseStmt alter_database_stmt = 110 [json_name="AlterDatabaseStmt"]; AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 111 [json_name="AlterDatabaseRefreshCollStmt"]; AlterDatabaseSetStmt alter_database_set_stmt = 112 [json_name="AlterDatabaseSetStmt"]; AlterRoleSetStmt alter_role_set_stmt = 113 [json_name="AlterRoleSetStmt"]; CreateConversionStmt create_conversion_stmt = 114 [json_name="CreateConversionStmt"]; CreateCastStmt create_cast_stmt = 115 [json_name="CreateCastStmt"]; CreateOpClassStmt create_op_class_stmt = 116 [json_name="CreateOpClassStmt"]; CreateOpFamilyStmt create_op_family_stmt = 117 [json_name="CreateOpFamilyStmt"]; AlterOpFamilyStmt alter_op_family_stmt = 118 [json_name="AlterOpFamilyStmt"]; PrepareStmt prepare_stmt = 119 [json_name="PrepareStmt"]; ExecuteStmt execute_stmt = 120 [json_name="ExecuteStmt"]; DeallocateStmt deallocate_stmt = 121 [json_name="DeallocateStmt"]; DeclareCursorStmt declare_cursor_stmt = 122 [json_name="DeclareCursorStmt"]; CreateTableSpaceStmt create_table_space_stmt = 123 [json_name="CreateTableSpaceStmt"]; DropTableSpaceStmt drop_table_space_stmt = 124 [json_name="DropTableSpaceStmt"]; AlterObjectDependsStmt alter_object_depends_stmt = 125 [json_name="AlterObjectDependsStmt"]; AlterObjectSchemaStmt alter_object_schema_stmt = 126 [json_name="AlterObjectSchemaStmt"]; AlterOwnerStmt alter_owner_stmt = 127 [json_name="AlterOwnerStmt"]; AlterOperatorStmt alter_operator_stmt = 128 [json_name="AlterOperatorStmt"]; AlterTypeStmt alter_type_stmt = 129 [json_name="AlterTypeStmt"]; DropOwnedStmt drop_owned_stmt = 130 [json_name="DropOwnedStmt"]; ReassignOwnedStmt reassign_owned_stmt = 131 [json_name="ReassignOwnedStmt"]; CompositeTypeStmt composite_type_stmt = 132 [json_name="CompositeTypeStmt"]; CreateEnumStmt create_enum_stmt = 133 [json_name="CreateEnumStmt"]; CreateRangeStmt create_range_stmt = 134 [json_name="CreateRangeStmt"]; AlterEnumStmt alter_enum_stmt = 135 [json_name="AlterEnumStmt"]; AlterTSDictionaryStmt alter_tsdictionary_stmt = 136 [json_name="AlterTSDictionaryStmt"]; AlterTSConfigurationStmt alter_tsconfiguration_stmt = 137 [json_name="AlterTSConfigurationStmt"]; CreateFdwStmt create_fdw_stmt = 138 [json_name="CreateFdwStmt"]; AlterFdwStmt alter_fdw_stmt = 139 [json_name="AlterFdwStmt"]; CreateForeignServerStmt create_foreign_server_stmt = 140 [json_name="CreateForeignServerStmt"]; AlterForeignServerStmt alter_foreign_server_stmt = 141 [json_name="AlterForeignServerStmt"]; CreateUserMappingStmt create_user_mapping_stmt = 142 [json_name="CreateUserMappingStmt"]; AlterUserMappingStmt alter_user_mapping_stmt = 143 [json_name="AlterUserMappingStmt"]; DropUserMappingStmt drop_user_mapping_stmt = 144 [json_name="DropUserMappingStmt"]; AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 145 [json_name="AlterTableSpaceOptionsStmt"]; AlterTableMoveAllStmt alter_table_move_all_stmt = 146 [json_name="AlterTableMoveAllStmt"]; SecLabelStmt sec_label_stmt = 147 [json_name="SecLabelStmt"]; CreateForeignTableStmt create_foreign_table_stmt = 148 [json_name="CreateForeignTableStmt"]; ImportForeignSchemaStmt import_foreign_schema_stmt = 149 [json_name="ImportForeignSchemaStmt"]; CreateExtensionStmt create_extension_stmt = 150 [json_name="CreateExtensionStmt"]; AlterExtensionStmt alter_extension_stmt = 151 [json_name="AlterExtensionStmt"]; AlterExtensionContentsStmt alter_extension_contents_stmt = 152 [json_name="AlterExtensionContentsStmt"]; CreateEventTrigStmt create_event_trig_stmt = 153 [json_name="CreateEventTrigStmt"]; AlterEventTrigStmt alter_event_trig_stmt = 154 [json_name="AlterEventTrigStmt"]; RefreshMatViewStmt refresh_mat_view_stmt = 155 [json_name="RefreshMatViewStmt"]; ReplicaIdentityStmt replica_identity_stmt = 156 [json_name="ReplicaIdentityStmt"]; AlterSystemStmt alter_system_stmt = 157 [json_name="AlterSystemStmt"]; CreatePolicyStmt create_policy_stmt = 158 [json_name="CreatePolicyStmt"]; AlterPolicyStmt alter_policy_stmt = 159 [json_name="AlterPolicyStmt"]; CreateTransformStmt create_transform_stmt = 160 [json_name="CreateTransformStmt"]; CreateAmStmt create_am_stmt = 161 [json_name="CreateAmStmt"]; CreatePublicationStmt create_publication_stmt = 162 [json_name="CreatePublicationStmt"]; AlterPublicationStmt alter_publication_stmt = 163 [json_name="AlterPublicationStmt"]; CreateSubscriptionStmt create_subscription_stmt = 164 [json_name="CreateSubscriptionStmt"]; AlterSubscriptionStmt alter_subscription_stmt = 165 [json_name="AlterSubscriptionStmt"]; DropSubscriptionStmt drop_subscription_stmt = 166 [json_name="DropSubscriptionStmt"]; CreateStatsStmt create_stats_stmt = 167 [json_name="CreateStatsStmt"]; AlterCollationStmt alter_collation_stmt = 168 [json_name="AlterCollationStmt"]; CallStmt call_stmt = 169 [json_name="CallStmt"]; AlterStatsStmt alter_stats_stmt = 170 [json_name="AlterStatsStmt"]; A_Expr a_expr = 171 [json_name="A_Expr"]; ColumnRef column_ref = 172 [json_name="ColumnRef"]; ParamRef param_ref = 173 [json_name="ParamRef"]; FuncCall func_call = 174 [json_name="FuncCall"]; A_Star a_star = 175 [json_name="A_Star"]; A_Indices a_indices = 176 [json_name="A_Indices"]; A_Indirection a_indirection = 177 [json_name="A_Indirection"]; A_ArrayExpr a_array_expr = 178 [json_name="A_ArrayExpr"]; ResTarget res_target = 179 [json_name="ResTarget"]; MultiAssignRef multi_assign_ref = 180 [json_name="MultiAssignRef"]; TypeCast type_cast = 181 [json_name="TypeCast"]; CollateClause collate_clause = 182 [json_name="CollateClause"]; SortBy sort_by = 183 [json_name="SortBy"]; WindowDef window_def = 184 [json_name="WindowDef"]; RangeSubselect range_subselect = 185 [json_name="RangeSubselect"]; RangeFunction range_function = 186 [json_name="RangeFunction"]; RangeTableSample range_table_sample = 187 [json_name="RangeTableSample"]; RangeTableFunc range_table_func = 188 [json_name="RangeTableFunc"]; RangeTableFuncCol range_table_func_col = 189 [json_name="RangeTableFuncCol"]; TypeName type_name = 190 [json_name="TypeName"]; ColumnDef column_def = 191 [json_name="ColumnDef"]; IndexElem index_elem = 192 [json_name="IndexElem"]; StatsElem stats_elem = 193 [json_name="StatsElem"]; Constraint constraint = 194 [json_name="Constraint"]; DefElem def_elem = 195 [json_name="DefElem"]; RangeTblEntry range_tbl_entry = 196 [json_name="RangeTblEntry"]; RangeTblFunction range_tbl_function = 197 [json_name="RangeTblFunction"]; TableSampleClause table_sample_clause = 198 [json_name="TableSampleClause"]; WithCheckOption with_check_option = 199 [json_name="WithCheckOption"]; SortGroupClause sort_group_clause = 200 [json_name="SortGroupClause"]; GroupingSet grouping_set = 201 [json_name="GroupingSet"]; WindowClause window_clause = 202 [json_name="WindowClause"]; ObjectWithArgs object_with_args = 203 [json_name="ObjectWithArgs"]; AccessPriv access_priv = 204 [json_name="AccessPriv"]; CreateOpClassItem create_op_class_item = 205 [json_name="CreateOpClassItem"]; TableLikeClause table_like_clause = 206 [json_name="TableLikeClause"]; FunctionParameter function_parameter = 207 [json_name="FunctionParameter"]; LockingClause locking_clause = 208 [json_name="LockingClause"]; RowMarkClause row_mark_clause = 209 [json_name="RowMarkClause"]; XmlSerialize xml_serialize = 210 [json_name="XmlSerialize"]; WithClause with_clause = 211 [json_name="WithClause"]; InferClause infer_clause = 212 [json_name="InferClause"]; OnConflictClause on_conflict_clause = 213 [json_name="OnConflictClause"]; CTESearchClause ctesearch_clause = 214 [json_name="CTESearchClause"]; CTECycleClause ctecycle_clause = 215 [json_name="CTECycleClause"]; CommonTableExpr common_table_expr = 216 [json_name="CommonTableExpr"]; MergeWhenClause merge_when_clause = 217 [json_name="MergeWhenClause"]; RoleSpec role_spec = 218 [json_name="RoleSpec"]; TriggerTransition trigger_transition = 219 [json_name="TriggerTransition"]; PartitionElem partition_elem = 220 [json_name="PartitionElem"]; PartitionSpec partition_spec = 221 [json_name="PartitionSpec"]; PartitionBoundSpec partition_bound_spec = 222 [json_name="PartitionBoundSpec"]; PartitionRangeDatum partition_range_datum = 223 [json_name="PartitionRangeDatum"]; PartitionCmd partition_cmd = 224 [json_name="PartitionCmd"]; VacuumRelation vacuum_relation = 225 [json_name="VacuumRelation"]; PublicationObjSpec publication_obj_spec = 226 [json_name="PublicationObjSpec"]; PublicationTable publication_table = 227 [json_name="PublicationTable"]; InlineCodeBlock inline_code_block = 228 [json_name="InlineCodeBlock"]; CallContext call_context = 229 [json_name="CallContext"]; Integer integer = 230 [json_name="Integer"]; Float float = 231 [json_name="Float"]; Boolean boolean = 232 [json_name="Boolean"]; String string = 233 [json_name="String"]; BitString bit_string = 234 [json_name="BitString"]; List list = 235 [json_name="List"]; IntList int_list = 236 [json_name="IntList"]; OidList oid_list = 237 [json_name="OidList"]; A_Const a_const = 238 [json_name="A_Const"]; } } message Integer { int32 ival = 1; /* machine integer */ } message Float { string fval = 1; /* string */ } message Boolean { bool boolval = 1; } message String { string sval = 1; /* string */ } message BitString { string bsval = 1; /* string */ } message List { repeated Node items = 1; } message OidList { repeated Node items = 1; } message IntList { repeated Node items = 1; } message A_Const { oneof val { Integer ival = 1; Float fval = 2; Boolean boolval = 3; String sval = 4; BitString bsval = 5; } bool isnull = 10; int32 location = 11; } message Alias { string aliasname = 1 [json_name="aliasname"]; repeated Node colnames = 2 [json_name="colnames"]; } message RangeVar { string catalogname = 1 [json_name="catalogname"]; string schemaname = 2 [json_name="schemaname"]; string relname = 3 [json_name="relname"]; bool inh = 4 [json_name="inh"]; string relpersistence = 5 [json_name="relpersistence"]; Alias alias = 6 [json_name="alias"]; int32 location = 7 [json_name="location"]; } message TableFunc { repeated Node ns_uris = 1 [json_name="ns_uris"]; repeated Node ns_names = 2 [json_name="ns_names"]; Node docexpr = 3 [json_name="docexpr"]; Node rowexpr = 4 [json_name="rowexpr"]; repeated Node colnames = 5 [json_name="colnames"]; repeated Node coltypes = 6 [json_name="coltypes"]; repeated Node coltypmods = 7 [json_name="coltypmods"]; repeated Node colcollations = 8 [json_name="colcollations"]; repeated Node colexprs = 9 [json_name="colexprs"]; repeated Node coldefexprs = 10 [json_name="coldefexprs"]; repeated uint64 notnulls = 11 [json_name="notnulls"]; int32 ordinalitycol = 12 [json_name="ordinalitycol"]; int32 location = 13 [json_name="location"]; } message Var { Node xpr = 1 [json_name="xpr"]; int32 varno = 2 [json_name="varno"]; int32 varattno = 3 [json_name="varattno"]; uint32 vartype = 4 [json_name="vartype"]; int32 vartypmod = 5 [json_name="vartypmod"]; uint32 varcollid = 6 [json_name="varcollid"]; uint32 varlevelsup = 7 [json_name="varlevelsup"]; uint32 varnosyn = 8 [json_name="varnosyn"]; int32 varattnosyn = 9 [json_name="varattnosyn"]; int32 location = 10 [json_name="location"]; } message Param { Node xpr = 1 [json_name="xpr"]; ParamKind paramkind = 2 [json_name="paramkind"]; int32 paramid = 3 [json_name="paramid"]; uint32 paramtype = 4 [json_name="paramtype"]; int32 paramtypmod = 5 [json_name="paramtypmod"]; uint32 paramcollid = 6 [json_name="paramcollid"]; int32 location = 7 [json_name="location"]; } message Aggref { Node xpr = 1 [json_name="xpr"]; uint32 aggfnoid = 2 [json_name="aggfnoid"]; uint32 aggtype = 3 [json_name="aggtype"]; uint32 aggcollid = 4 [json_name="aggcollid"]; uint32 inputcollid = 5 [json_name="inputcollid"]; uint32 aggtranstype = 6 [json_name="aggtranstype"]; repeated Node aggargtypes = 7 [json_name="aggargtypes"]; repeated Node aggdirectargs = 8 [json_name="aggdirectargs"]; repeated Node args = 9 [json_name="args"]; repeated Node aggorder = 10 [json_name="aggorder"]; repeated Node aggdistinct = 11 [json_name="aggdistinct"]; Node aggfilter = 12 [json_name="aggfilter"]; bool aggstar = 13 [json_name="aggstar"]; bool aggvariadic = 14 [json_name="aggvariadic"]; string aggkind = 15 [json_name="aggkind"]; uint32 agglevelsup = 16 [json_name="agglevelsup"]; AggSplit aggsplit = 17 [json_name="aggsplit"]; int32 aggno = 18 [json_name="aggno"]; int32 aggtransno = 19 [json_name="aggtransno"]; int32 location = 20 [json_name="location"]; } message GroupingFunc { Node xpr = 1 [json_name="xpr"]; repeated Node args = 2 [json_name="args"]; repeated Node refs = 3 [json_name="refs"]; repeated Node cols = 4 [json_name="cols"]; uint32 agglevelsup = 5 [json_name="agglevelsup"]; int32 location = 6 [json_name="location"]; } message WindowFunc { Node xpr = 1 [json_name="xpr"]; uint32 winfnoid = 2 [json_name="winfnoid"]; uint32 wintype = 3 [json_name="wintype"]; uint32 wincollid = 4 [json_name="wincollid"]; uint32 inputcollid = 5 [json_name="inputcollid"]; repeated Node args = 6 [json_name="args"]; Node aggfilter = 7 [json_name="aggfilter"]; uint32 winref = 8 [json_name="winref"]; bool winstar = 9 [json_name="winstar"]; bool winagg = 10 [json_name="winagg"]; int32 location = 11 [json_name="location"]; } message SubscriptingRef { Node xpr = 1 [json_name="xpr"]; uint32 refcontainertype = 2 [json_name="refcontainertype"]; uint32 refelemtype = 3 [json_name="refelemtype"]; uint32 refrestype = 4 [json_name="refrestype"]; int32 reftypmod = 5 [json_name="reftypmod"]; uint32 refcollid = 6 [json_name="refcollid"]; repeated Node refupperindexpr = 7 [json_name="refupperindexpr"]; repeated Node reflowerindexpr = 8 [json_name="reflowerindexpr"]; Node refexpr = 9 [json_name="refexpr"]; Node refassgnexpr = 10 [json_name="refassgnexpr"]; } message FuncExpr { Node xpr = 1 [json_name="xpr"]; uint32 funcid = 2 [json_name="funcid"]; uint32 funcresulttype = 3 [json_name="funcresulttype"]; bool funcretset = 4 [json_name="funcretset"]; bool funcvariadic = 5 [json_name="funcvariadic"]; CoercionForm funcformat = 6 [json_name="funcformat"]; uint32 funccollid = 7 [json_name="funccollid"]; uint32 inputcollid = 8 [json_name="inputcollid"]; repeated Node args = 9 [json_name="args"]; int32 location = 10 [json_name="location"]; } message NamedArgExpr { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; string name = 3 [json_name="name"]; int32 argnumber = 4 [json_name="argnumber"]; int32 location = 5 [json_name="location"]; } message OpExpr { Node xpr = 1 [json_name="xpr"]; uint32 opno = 2 [json_name="opno"]; uint32 opfuncid = 3 [json_name="opfuncid"]; uint32 opresulttype = 4 [json_name="opresulttype"]; bool opretset = 5 [json_name="opretset"]; uint32 opcollid = 6 [json_name="opcollid"]; uint32 inputcollid = 7 [json_name="inputcollid"]; repeated Node args = 8 [json_name="args"]; int32 location = 9 [json_name="location"]; } message DistinctExpr { Node xpr = 1 [json_name="xpr"]; uint32 opno = 2 [json_name="opno"]; uint32 opfuncid = 3 [json_name="opfuncid"]; uint32 opresulttype = 4 [json_name="opresulttype"]; bool opretset = 5 [json_name="opretset"]; uint32 opcollid = 6 [json_name="opcollid"]; uint32 inputcollid = 7 [json_name="inputcollid"]; repeated Node args = 8 [json_name="args"]; int32 location = 9 [json_name="location"]; } message NullIfExpr { Node xpr = 1 [json_name="xpr"]; uint32 opno = 2 [json_name="opno"]; uint32 opfuncid = 3 [json_name="opfuncid"]; uint32 opresulttype = 4 [json_name="opresulttype"]; bool opretset = 5 [json_name="opretset"]; uint32 opcollid = 6 [json_name="opcollid"]; uint32 inputcollid = 7 [json_name="inputcollid"]; repeated Node args = 8 [json_name="args"]; int32 location = 9 [json_name="location"]; } message ScalarArrayOpExpr { Node xpr = 1 [json_name="xpr"]; uint32 opno = 2 [json_name="opno"]; uint32 opfuncid = 3 [json_name="opfuncid"]; uint32 hashfuncid = 4 [json_name="hashfuncid"]; uint32 negfuncid = 5 [json_name="negfuncid"]; bool use_or = 6 [json_name="useOr"]; uint32 inputcollid = 7 [json_name="inputcollid"]; repeated Node args = 8 [json_name="args"]; int32 location = 9 [json_name="location"]; } message BoolExpr { Node xpr = 1 [json_name="xpr"]; BoolExprType boolop = 2 [json_name="boolop"]; repeated Node args = 3 [json_name="args"]; int32 location = 4 [json_name="location"]; } message SubLink { Node xpr = 1 [json_name="xpr"]; SubLinkType sub_link_type = 2 [json_name="subLinkType"]; int32 sub_link_id = 3 [json_name="subLinkId"]; Node testexpr = 4 [json_name="testexpr"]; repeated Node oper_name = 5 [json_name="operName"]; Node subselect = 6 [json_name="subselect"]; int32 location = 7 [json_name="location"]; } message SubPlan { Node xpr = 1 [json_name="xpr"]; SubLinkType sub_link_type = 2 [json_name="subLinkType"]; Node testexpr = 3 [json_name="testexpr"]; repeated Node param_ids = 4 [json_name="paramIds"]; int32 plan_id = 5 [json_name="plan_id"]; string plan_name = 6 [json_name="plan_name"]; uint32 first_col_type = 7 [json_name="firstColType"]; int32 first_col_typmod = 8 [json_name="firstColTypmod"]; uint32 first_col_collation = 9 [json_name="firstColCollation"]; bool use_hash_table = 10 [json_name="useHashTable"]; bool unknown_eq_false = 11 [json_name="unknownEqFalse"]; bool parallel_safe = 12 [json_name="parallel_safe"]; repeated Node set_param = 13 [json_name="setParam"]; repeated Node par_param = 14 [json_name="parParam"]; repeated Node args = 15 [json_name="args"]; double startup_cost = 16 [json_name="startup_cost"]; double per_call_cost = 17 [json_name="per_call_cost"]; } message AlternativeSubPlan { Node xpr = 1 [json_name="xpr"]; repeated Node subplans = 2 [json_name="subplans"]; } message FieldSelect { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; int32 fieldnum = 3 [json_name="fieldnum"]; uint32 resulttype = 4 [json_name="resulttype"]; int32 resulttypmod = 5 [json_name="resulttypmod"]; uint32 resultcollid = 6 [json_name="resultcollid"]; } message FieldStore { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; repeated Node newvals = 3 [json_name="newvals"]; repeated Node fieldnums = 4 [json_name="fieldnums"]; uint32 resulttype = 5 [json_name="resulttype"]; } message RelabelType { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; uint32 resulttype = 3 [json_name="resulttype"]; int32 resulttypmod = 4 [json_name="resulttypmod"]; uint32 resultcollid = 5 [json_name="resultcollid"]; CoercionForm relabelformat = 6 [json_name="relabelformat"]; int32 location = 7 [json_name="location"]; } message CoerceViaIO { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; uint32 resulttype = 3 [json_name="resulttype"]; uint32 resultcollid = 4 [json_name="resultcollid"]; CoercionForm coerceformat = 5 [json_name="coerceformat"]; int32 location = 6 [json_name="location"]; } message ArrayCoerceExpr { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; Node elemexpr = 3 [json_name="elemexpr"]; uint32 resulttype = 4 [json_name="resulttype"]; int32 resulttypmod = 5 [json_name="resulttypmod"]; uint32 resultcollid = 6 [json_name="resultcollid"]; CoercionForm coerceformat = 7 [json_name="coerceformat"]; int32 location = 8 [json_name="location"]; } message ConvertRowtypeExpr { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; uint32 resulttype = 3 [json_name="resulttype"]; CoercionForm convertformat = 4 [json_name="convertformat"]; int32 location = 5 [json_name="location"]; } message CollateExpr { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; uint32 coll_oid = 3 [json_name="collOid"]; int32 location = 4 [json_name="location"]; } message CaseExpr { Node xpr = 1 [json_name="xpr"]; uint32 casetype = 2 [json_name="casetype"]; uint32 casecollid = 3 [json_name="casecollid"]; Node arg = 4 [json_name="arg"]; repeated Node args = 5 [json_name="args"]; Node defresult = 6 [json_name="defresult"]; int32 location = 7 [json_name="location"]; } message CaseWhen { Node xpr = 1 [json_name="xpr"]; Node expr = 2 [json_name="expr"]; Node result = 3 [json_name="result"]; int32 location = 4 [json_name="location"]; } message CaseTestExpr { Node xpr = 1 [json_name="xpr"]; uint32 type_id = 2 [json_name="typeId"]; int32 type_mod = 3 [json_name="typeMod"]; uint32 collation = 4 [json_name="collation"]; } message ArrayExpr { Node xpr = 1 [json_name="xpr"]; uint32 array_typeid = 2 [json_name="array_typeid"]; uint32 array_collid = 3 [json_name="array_collid"]; uint32 element_typeid = 4 [json_name="element_typeid"]; repeated Node elements = 5 [json_name="elements"]; bool multidims = 6 [json_name="multidims"]; int32 location = 7 [json_name="location"]; } message RowExpr { Node xpr = 1 [json_name="xpr"]; repeated Node args = 2 [json_name="args"]; uint32 row_typeid = 3 [json_name="row_typeid"]; CoercionForm row_format = 4 [json_name="row_format"]; repeated Node colnames = 5 [json_name="colnames"]; int32 location = 6 [json_name="location"]; } message RowCompareExpr { Node xpr = 1 [json_name="xpr"]; RowCompareType rctype = 2 [json_name="rctype"]; repeated Node opnos = 3 [json_name="opnos"]; repeated Node opfamilies = 4 [json_name="opfamilies"]; repeated Node inputcollids = 5 [json_name="inputcollids"]; repeated Node largs = 6 [json_name="largs"]; repeated Node rargs = 7 [json_name="rargs"]; } message CoalesceExpr { Node xpr = 1 [json_name="xpr"]; uint32 coalescetype = 2 [json_name="coalescetype"]; uint32 coalescecollid = 3 [json_name="coalescecollid"]; repeated Node args = 4 [json_name="args"]; int32 location = 5 [json_name="location"]; } message MinMaxExpr { Node xpr = 1 [json_name="xpr"]; uint32 minmaxtype = 2 [json_name="minmaxtype"]; uint32 minmaxcollid = 3 [json_name="minmaxcollid"]; uint32 inputcollid = 4 [json_name="inputcollid"]; MinMaxOp op = 5 [json_name="op"]; repeated Node args = 6 [json_name="args"]; int32 location = 7 [json_name="location"]; } message SQLValueFunction { Node xpr = 1 [json_name="xpr"]; SQLValueFunctionOp op = 2 [json_name="op"]; uint32 type = 3 [json_name="type"]; int32 typmod = 4 [json_name="typmod"]; int32 location = 5 [json_name="location"]; } message XmlExpr { Node xpr = 1 [json_name="xpr"]; XmlExprOp op = 2 [json_name="op"]; string name = 3 [json_name="name"]; repeated Node named_args = 4 [json_name="named_args"]; repeated Node arg_names = 5 [json_name="arg_names"]; repeated Node args = 6 [json_name="args"]; XmlOptionType xmloption = 7 [json_name="xmloption"]; uint32 type = 8 [json_name="type"]; int32 typmod = 9 [json_name="typmod"]; int32 location = 10 [json_name="location"]; } message NullTest { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; NullTestType nulltesttype = 3 [json_name="nulltesttype"]; bool argisrow = 4 [json_name="argisrow"]; int32 location = 5 [json_name="location"]; } message BooleanTest { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; BoolTestType booltesttype = 3 [json_name="booltesttype"]; int32 location = 4 [json_name="location"]; } message CoerceToDomain { Node xpr = 1 [json_name="xpr"]; Node arg = 2 [json_name="arg"]; uint32 resulttype = 3 [json_name="resulttype"]; int32 resulttypmod = 4 [json_name="resulttypmod"]; uint32 resultcollid = 5 [json_name="resultcollid"]; CoercionForm coercionformat = 6 [json_name="coercionformat"]; int32 location = 7 [json_name="location"]; } message CoerceToDomainValue { Node xpr = 1 [json_name="xpr"]; uint32 type_id = 2 [json_name="typeId"]; int32 type_mod = 3 [json_name="typeMod"]; uint32 collation = 4 [json_name="collation"]; int32 location = 5 [json_name="location"]; } message SetToDefault { Node xpr = 1 [json_name="xpr"]; uint32 type_id = 2 [json_name="typeId"]; int32 type_mod = 3 [json_name="typeMod"]; uint32 collation = 4 [json_name="collation"]; int32 location = 5 [json_name="location"]; } message CurrentOfExpr { Node xpr = 1 [json_name="xpr"]; uint32 cvarno = 2 [json_name="cvarno"]; string cursor_name = 3 [json_name="cursor_name"]; int32 cursor_param = 4 [json_name="cursor_param"]; } message NextValueExpr { Node xpr = 1 [json_name="xpr"]; uint32 seqid = 2 [json_name="seqid"]; uint32 type_id = 3 [json_name="typeId"]; } message InferenceElem { Node xpr = 1 [json_name="xpr"]; Node expr = 2 [json_name="expr"]; uint32 infercollid = 3 [json_name="infercollid"]; uint32 inferopclass = 4 [json_name="inferopclass"]; } message TargetEntry { Node xpr = 1 [json_name="xpr"]; Node expr = 2 [json_name="expr"]; int32 resno = 3 [json_name="resno"]; string resname = 4 [json_name="resname"]; uint32 ressortgroupref = 5 [json_name="ressortgroupref"]; uint32 resorigtbl = 6 [json_name="resorigtbl"]; int32 resorigcol = 7 [json_name="resorigcol"]; bool resjunk = 8 [json_name="resjunk"]; } message RangeTblRef { int32 rtindex = 1 [json_name="rtindex"]; } message JoinExpr { JoinType jointype = 1 [json_name="jointype"]; bool is_natural = 2 [json_name="isNatural"]; Node larg = 3 [json_name="larg"]; Node rarg = 4 [json_name="rarg"]; repeated Node using_clause = 5 [json_name="usingClause"]; Alias join_using_alias = 6 [json_name="join_using_alias"]; Node quals = 7 [json_name="quals"]; Alias alias = 8 [json_name="alias"]; int32 rtindex = 9 [json_name="rtindex"]; } message FromExpr { repeated Node fromlist = 1 [json_name="fromlist"]; Node quals = 2 [json_name="quals"]; } message OnConflictExpr { OnConflictAction action = 1 [json_name="action"]; repeated Node arbiter_elems = 2 [json_name="arbiterElems"]; Node arbiter_where = 3 [json_name="arbiterWhere"]; uint32 constraint = 4 [json_name="constraint"]; repeated Node on_conflict_set = 5 [json_name="onConflictSet"]; Node on_conflict_where = 6 [json_name="onConflictWhere"]; int32 excl_rel_index = 7 [json_name="exclRelIndex"]; repeated Node excl_rel_tlist = 8 [json_name="exclRelTlist"]; } message IntoClause { RangeVar rel = 1 [json_name="rel"]; repeated Node col_names = 2 [json_name="colNames"]; string access_method = 3 [json_name="accessMethod"]; repeated Node options = 4 [json_name="options"]; OnCommitAction on_commit = 5 [json_name="onCommit"]; string table_space_name = 6 [json_name="tableSpaceName"]; Node view_query = 7 [json_name="viewQuery"]; bool skip_data = 8 [json_name="skipData"]; } message MergeAction { bool matched = 1 [json_name="matched"]; CmdType command_type = 2 [json_name="commandType"]; OverridingKind override = 3 [json_name="override"]; Node qual = 4 [json_name="qual"]; repeated Node target_list = 5 [json_name="targetList"]; repeated Node update_colnos = 6 [json_name="updateColnos"]; } message RawStmt { Node stmt = 1 [json_name="stmt"]; int32 stmt_location = 2 [json_name="stmt_location"]; int32 stmt_len = 3 [json_name="stmt_len"]; } message Query { CmdType command_type = 1 [json_name="commandType"]; QuerySource query_source = 2 [json_name="querySource"]; bool can_set_tag = 3 [json_name="canSetTag"]; Node utility_stmt = 4 [json_name="utilityStmt"]; int32 result_relation = 5 [json_name="resultRelation"]; bool has_aggs = 6 [json_name="hasAggs"]; bool has_window_funcs = 7 [json_name="hasWindowFuncs"]; bool has_target_srfs = 8 [json_name="hasTargetSRFs"]; bool has_sub_links = 9 [json_name="hasSubLinks"]; bool has_distinct_on = 10 [json_name="hasDistinctOn"]; bool has_recursive = 11 [json_name="hasRecursive"]; bool has_modifying_cte = 12 [json_name="hasModifyingCTE"]; bool has_for_update = 13 [json_name="hasForUpdate"]; bool has_row_security = 14 [json_name="hasRowSecurity"]; bool is_return = 15 [json_name="isReturn"]; repeated Node cte_list = 16 [json_name="cteList"]; repeated Node rtable = 17 [json_name="rtable"]; FromExpr jointree = 18 [json_name="jointree"]; repeated Node merge_action_list = 19 [json_name="mergeActionList"]; bool merge_use_outer_join = 20 [json_name="mergeUseOuterJoin"]; repeated Node target_list = 21 [json_name="targetList"]; OverridingKind override = 22 [json_name="override"]; OnConflictExpr on_conflict = 23 [json_name="onConflict"]; repeated Node returning_list = 24 [json_name="returningList"]; repeated Node group_clause = 25 [json_name="groupClause"]; bool group_distinct = 26 [json_name="groupDistinct"]; repeated Node grouping_sets = 27 [json_name="groupingSets"]; Node having_qual = 28 [json_name="havingQual"]; repeated Node window_clause = 29 [json_name="windowClause"]; repeated Node distinct_clause = 30 [json_name="distinctClause"]; repeated Node sort_clause = 31 [json_name="sortClause"]; Node limit_offset = 32 [json_name="limitOffset"]; Node limit_count = 33 [json_name="limitCount"]; LimitOption limit_option = 34 [json_name="limitOption"]; repeated Node row_marks = 35 [json_name="rowMarks"]; Node set_operations = 36 [json_name="setOperations"]; repeated Node constraint_deps = 37 [json_name="constraintDeps"]; repeated Node with_check_options = 38 [json_name="withCheckOptions"]; int32 stmt_location = 39 [json_name="stmt_location"]; int32 stmt_len = 40 [json_name="stmt_len"]; } message InsertStmt { RangeVar relation = 1 [json_name="relation"]; repeated Node cols = 2 [json_name="cols"]; Node select_stmt = 3 [json_name="selectStmt"]; OnConflictClause on_conflict_clause = 4 [json_name="onConflictClause"]; repeated Node returning_list = 5 [json_name="returningList"]; WithClause with_clause = 6 [json_name="withClause"]; OverridingKind override = 7 [json_name="override"]; } message DeleteStmt { RangeVar relation = 1 [json_name="relation"]; repeated Node using_clause = 2 [json_name="usingClause"]; Node where_clause = 3 [json_name="whereClause"]; repeated Node returning_list = 4 [json_name="returningList"]; WithClause with_clause = 5 [json_name="withClause"]; } message UpdateStmt { RangeVar relation = 1 [json_name="relation"]; repeated Node target_list = 2 [json_name="targetList"]; Node where_clause = 3 [json_name="whereClause"]; repeated Node from_clause = 4 [json_name="fromClause"]; repeated Node returning_list = 5 [json_name="returningList"]; WithClause with_clause = 6 [json_name="withClause"]; } message MergeStmt { RangeVar relation = 1 [json_name="relation"]; Node source_relation = 2 [json_name="sourceRelation"]; Node join_condition = 3 [json_name="joinCondition"]; repeated Node merge_when_clauses = 4 [json_name="mergeWhenClauses"]; WithClause with_clause = 5 [json_name="withClause"]; } message SelectStmt { repeated Node distinct_clause = 1 [json_name="distinctClause"]; IntoClause into_clause = 2 [json_name="intoClause"]; repeated Node target_list = 3 [json_name="targetList"]; repeated Node from_clause = 4 [json_name="fromClause"]; Node where_clause = 5 [json_name="whereClause"]; repeated Node group_clause = 6 [json_name="groupClause"]; bool group_distinct = 7 [json_name="groupDistinct"]; Node having_clause = 8 [json_name="havingClause"]; repeated Node window_clause = 9 [json_name="windowClause"]; repeated Node values_lists = 10 [json_name="valuesLists"]; repeated Node sort_clause = 11 [json_name="sortClause"]; Node limit_offset = 12 [json_name="limitOffset"]; Node limit_count = 13 [json_name="limitCount"]; LimitOption limit_option = 14 [json_name="limitOption"]; repeated Node locking_clause = 15 [json_name="lockingClause"]; WithClause with_clause = 16 [json_name="withClause"]; SetOperation op = 17 [json_name="op"]; bool all = 18 [json_name="all"]; SelectStmt larg = 19 [json_name="larg"]; SelectStmt rarg = 20 [json_name="rarg"]; } message ReturnStmt { Node returnval = 1 [json_name="returnval"]; } message PLAssignStmt { string name = 1 [json_name="name"]; repeated Node indirection = 2 [json_name="indirection"]; int32 nnames = 3 [json_name="nnames"]; SelectStmt val = 4 [json_name="val"]; int32 location = 5 [json_name="location"]; } message AlterTableStmt { RangeVar relation = 1 [json_name="relation"]; repeated Node cmds = 2 [json_name="cmds"]; ObjectType objtype = 3 [json_name="objtype"]; bool missing_ok = 4 [json_name="missing_ok"]; } message AlterTableCmd { AlterTableType subtype = 1 [json_name="subtype"]; string name = 2 [json_name="name"]; int32 num = 3 [json_name="num"]; RoleSpec newowner = 4 [json_name="newowner"]; Node def = 5 [json_name="def"]; DropBehavior behavior = 6 [json_name="behavior"]; bool missing_ok = 7 [json_name="missing_ok"]; bool recurse = 8 [json_name="recurse"]; } message AlterDomainStmt { string subtype = 1 [json_name="subtype"]; repeated Node type_name = 2 [json_name="typeName"]; string name = 3 [json_name="name"]; Node def = 4 [json_name="def"]; DropBehavior behavior = 5 [json_name="behavior"]; bool missing_ok = 6 [json_name="missing_ok"]; } message SetOperationStmt { SetOperation op = 1 [json_name="op"]; bool all = 2 [json_name="all"]; Node larg = 3 [json_name="larg"]; Node rarg = 4 [json_name="rarg"]; repeated Node col_types = 5 [json_name="colTypes"]; repeated Node col_typmods = 6 [json_name="colTypmods"]; repeated Node col_collations = 7 [json_name="colCollations"]; repeated Node group_clauses = 8 [json_name="groupClauses"]; } message GrantStmt { bool is_grant = 1 [json_name="is_grant"]; GrantTargetType targtype = 2 [json_name="targtype"]; ObjectType objtype = 3 [json_name="objtype"]; repeated Node objects = 4 [json_name="objects"]; repeated Node privileges = 5 [json_name="privileges"]; repeated Node grantees = 6 [json_name="grantees"]; bool grant_option = 7 [json_name="grant_option"]; RoleSpec grantor = 8 [json_name="grantor"]; DropBehavior behavior = 9 [json_name="behavior"]; } message GrantRoleStmt { repeated Node granted_roles = 1 [json_name="granted_roles"]; repeated Node grantee_roles = 2 [json_name="grantee_roles"]; bool is_grant = 3 [json_name="is_grant"]; bool admin_opt = 4 [json_name="admin_opt"]; RoleSpec grantor = 5 [json_name="grantor"]; DropBehavior behavior = 6 [json_name="behavior"]; } message AlterDefaultPrivilegesStmt { repeated Node options = 1 [json_name="options"]; GrantStmt action = 2 [json_name="action"]; } message ClosePortalStmt { string portalname = 1 [json_name="portalname"]; } message ClusterStmt { RangeVar relation = 1 [json_name="relation"]; string indexname = 2 [json_name="indexname"]; repeated Node params = 3 [json_name="params"]; } message CopyStmt { RangeVar relation = 1 [json_name="relation"]; Node query = 2 [json_name="query"]; repeated Node attlist = 3 [json_name="attlist"]; bool is_from = 4 [json_name="is_from"]; bool is_program = 5 [json_name="is_program"]; string filename = 6 [json_name="filename"]; repeated Node options = 7 [json_name="options"]; Node where_clause = 8 [json_name="whereClause"]; } message CreateStmt { RangeVar relation = 1 [json_name="relation"]; repeated Node table_elts = 2 [json_name="tableElts"]; repeated Node inh_relations = 3 [json_name="inhRelations"]; PartitionBoundSpec partbound = 4 [json_name="partbound"]; PartitionSpec partspec = 5 [json_name="partspec"]; TypeName of_typename = 6 [json_name="ofTypename"]; repeated Node constraints = 7 [json_name="constraints"]; repeated Node options = 8 [json_name="options"]; OnCommitAction oncommit = 9 [json_name="oncommit"]; string tablespacename = 10 [json_name="tablespacename"]; string access_method = 11 [json_name="accessMethod"]; bool if_not_exists = 12 [json_name="if_not_exists"]; } message DefineStmt { ObjectType kind = 1 [json_name="kind"]; bool oldstyle = 2 [json_name="oldstyle"]; repeated Node defnames = 3 [json_name="defnames"]; repeated Node args = 4 [json_name="args"]; repeated Node definition = 5 [json_name="definition"]; bool if_not_exists = 6 [json_name="if_not_exists"]; bool replace = 7 [json_name="replace"]; } message DropStmt { repeated Node objects = 1 [json_name="objects"]; ObjectType remove_type = 2 [json_name="removeType"]; DropBehavior behavior = 3 [json_name="behavior"]; bool missing_ok = 4 [json_name="missing_ok"]; bool concurrent = 5 [json_name="concurrent"]; } message TruncateStmt { repeated Node relations = 1 [json_name="relations"]; bool restart_seqs = 2 [json_name="restart_seqs"]; DropBehavior behavior = 3 [json_name="behavior"]; } message CommentStmt { ObjectType objtype = 1 [json_name="objtype"]; Node object = 2 [json_name="object"]; string comment = 3 [json_name="comment"]; } message FetchStmt { FetchDirection direction = 1 [json_name="direction"]; int64 how_many = 2 [json_name="howMany"]; string portalname = 3 [json_name="portalname"]; bool ismove = 4 [json_name="ismove"]; } message IndexStmt { string idxname = 1 [json_name="idxname"]; RangeVar relation = 2 [json_name="relation"]; string access_method = 3 [json_name="accessMethod"]; string table_space = 4 [json_name="tableSpace"]; repeated Node index_params = 5 [json_name="indexParams"]; repeated Node index_including_params = 6 [json_name="indexIncludingParams"]; repeated Node options = 7 [json_name="options"]; Node where_clause = 8 [json_name="whereClause"]; repeated Node exclude_op_names = 9 [json_name="excludeOpNames"]; string idxcomment = 10 [json_name="idxcomment"]; uint32 index_oid = 11 [json_name="indexOid"]; uint32 old_node = 12 [json_name="oldNode"]; uint32 old_create_subid = 13 [json_name="oldCreateSubid"]; uint32 old_first_relfilenode_subid = 14 [json_name="oldFirstRelfilenodeSubid"]; bool unique = 15 [json_name="unique"]; bool nulls_not_distinct = 16 [json_name="nulls_not_distinct"]; bool primary = 17 [json_name="primary"]; bool isconstraint = 18 [json_name="isconstraint"]; bool deferrable = 19 [json_name="deferrable"]; bool initdeferred = 20 [json_name="initdeferred"]; bool transformed = 21 [json_name="transformed"]; bool concurrent = 22 [json_name="concurrent"]; bool if_not_exists = 23 [json_name="if_not_exists"]; bool reset_default_tblspc = 24 [json_name="reset_default_tblspc"]; } message CreateFunctionStmt { bool is_procedure = 1 [json_name="is_procedure"]; bool replace = 2 [json_name="replace"]; repeated Node funcname = 3 [json_name="funcname"]; repeated Node parameters = 4 [json_name="parameters"]; TypeName return_type = 5 [json_name="returnType"]; repeated Node options = 6 [json_name="options"]; Node sql_body = 7 [json_name="sql_body"]; } message AlterFunctionStmt { ObjectType objtype = 1 [json_name="objtype"]; ObjectWithArgs func = 2 [json_name="func"]; repeated Node actions = 3 [json_name="actions"]; } message DoStmt { repeated Node args = 1 [json_name="args"]; } message RenameStmt { ObjectType rename_type = 1 [json_name="renameType"]; ObjectType relation_type = 2 [json_name="relationType"]; RangeVar relation = 3 [json_name="relation"]; Node object = 4 [json_name="object"]; string subname = 5 [json_name="subname"]; string newname = 6 [json_name="newname"]; DropBehavior behavior = 7 [json_name="behavior"]; bool missing_ok = 8 [json_name="missing_ok"]; } message RuleStmt { RangeVar relation = 1 [json_name="relation"]; string rulename = 2 [json_name="rulename"]; Node where_clause = 3 [json_name="whereClause"]; CmdType event = 4 [json_name="event"]; bool instead = 5 [json_name="instead"]; repeated Node actions = 6 [json_name="actions"]; bool replace = 7 [json_name="replace"]; } message NotifyStmt { string conditionname = 1 [json_name="conditionname"]; string payload = 2 [json_name="payload"]; } message ListenStmt { string conditionname = 1 [json_name="conditionname"]; } message UnlistenStmt { string conditionname = 1 [json_name="conditionname"]; } message TransactionStmt { TransactionStmtKind kind = 1 [json_name="kind"]; repeated Node options = 2 [json_name="options"]; string savepoint_name = 3 [json_name="savepoint_name"]; string gid = 4 [json_name="gid"]; bool chain = 5 [json_name="chain"]; } message ViewStmt { RangeVar view = 1 [json_name="view"]; repeated Node aliases = 2 [json_name="aliases"]; Node query = 3 [json_name="query"]; bool replace = 4 [json_name="replace"]; repeated Node options = 5 [json_name="options"]; ViewCheckOption with_check_option = 6 [json_name="withCheckOption"]; } message LoadStmt { string filename = 1 [json_name="filename"]; } message CreateDomainStmt { repeated Node domainname = 1 [json_name="domainname"]; TypeName type_name = 2 [json_name="typeName"]; CollateClause coll_clause = 3 [json_name="collClause"]; repeated Node constraints = 4 [json_name="constraints"]; } message CreatedbStmt { string dbname = 1 [json_name="dbname"]; repeated Node options = 2 [json_name="options"]; } message DropdbStmt { string dbname = 1 [json_name="dbname"]; bool missing_ok = 2 [json_name="missing_ok"]; repeated Node options = 3 [json_name="options"]; } message VacuumStmt { repeated Node options = 1 [json_name="options"]; repeated Node rels = 2 [json_name="rels"]; bool is_vacuumcmd = 3 [json_name="is_vacuumcmd"]; } message ExplainStmt { Node query = 1 [json_name="query"]; repeated Node options = 2 [json_name="options"]; } message CreateTableAsStmt { Node query = 1 [json_name="query"]; IntoClause into = 2 [json_name="into"]; ObjectType objtype = 3 [json_name="objtype"]; bool is_select_into = 4 [json_name="is_select_into"]; bool if_not_exists = 5 [json_name="if_not_exists"]; } message CreateSeqStmt { RangeVar sequence = 1 [json_name="sequence"]; repeated Node options = 2 [json_name="options"]; uint32 owner_id = 3 [json_name="ownerId"]; bool for_identity = 4 [json_name="for_identity"]; bool if_not_exists = 5 [json_name="if_not_exists"]; } message AlterSeqStmt { RangeVar sequence = 1 [json_name="sequence"]; repeated Node options = 2 [json_name="options"]; bool for_identity = 3 [json_name="for_identity"]; bool missing_ok = 4 [json_name="missing_ok"]; } message VariableSetStmt { VariableSetKind kind = 1 [json_name="kind"]; string name = 2 [json_name="name"]; repeated Node args = 3 [json_name="args"]; bool is_local = 4 [json_name="is_local"]; } message VariableShowStmt { string name = 1 [json_name="name"]; } message DiscardStmt { DiscardMode target = 1 [json_name="target"]; } message CreateTrigStmt { bool replace = 1 [json_name="replace"]; bool isconstraint = 2 [json_name="isconstraint"]; string trigname = 3 [json_name="trigname"]; RangeVar relation = 4 [json_name="relation"]; repeated Node funcname = 5 [json_name="funcname"]; repeated Node args = 6 [json_name="args"]; bool row = 7 [json_name="row"]; int32 timing = 8 [json_name="timing"]; int32 events = 9 [json_name="events"]; repeated Node columns = 10 [json_name="columns"]; Node when_clause = 11 [json_name="whenClause"]; repeated Node transition_rels = 12 [json_name="transitionRels"]; bool deferrable = 13 [json_name="deferrable"]; bool initdeferred = 14 [json_name="initdeferred"]; RangeVar constrrel = 15 [json_name="constrrel"]; } message CreatePLangStmt { bool replace = 1 [json_name="replace"]; string plname = 2 [json_name="plname"]; repeated Node plhandler = 3 [json_name="plhandler"]; repeated Node plinline = 4 [json_name="plinline"]; repeated Node plvalidator = 5 [json_name="plvalidator"]; bool pltrusted = 6 [json_name="pltrusted"]; } message CreateRoleStmt { RoleStmtType stmt_type = 1 [json_name="stmt_type"]; string role = 2 [json_name="role"]; repeated Node options = 3 [json_name="options"]; } message AlterRoleStmt { RoleSpec role = 1 [json_name="role"]; repeated Node options = 2 [json_name="options"]; int32 action = 3 [json_name="action"]; } message DropRoleStmt { repeated Node roles = 1 [json_name="roles"]; bool missing_ok = 2 [json_name="missing_ok"]; } message LockStmt { repeated Node relations = 1 [json_name="relations"]; int32 mode = 2 [json_name="mode"]; bool nowait = 3 [json_name="nowait"]; } message ConstraintsSetStmt { repeated Node constraints = 1 [json_name="constraints"]; bool deferred = 2 [json_name="deferred"]; } message ReindexStmt { ReindexObjectType kind = 1 [json_name="kind"]; RangeVar relation = 2 [json_name="relation"]; string name = 3 [json_name="name"]; repeated Node params = 4 [json_name="params"]; } message CheckPointStmt { } message CreateSchemaStmt { string schemaname = 1 [json_name="schemaname"]; RoleSpec authrole = 2 [json_name="authrole"]; repeated Node schema_elts = 3 [json_name="schemaElts"]; bool if_not_exists = 4 [json_name="if_not_exists"]; } message AlterDatabaseStmt { string dbname = 1 [json_name="dbname"]; repeated Node options = 2 [json_name="options"]; } message AlterDatabaseRefreshCollStmt { string dbname = 1 [json_name="dbname"]; } message AlterDatabaseSetStmt { string dbname = 1 [json_name="dbname"]; VariableSetStmt setstmt = 2 [json_name="setstmt"]; } message AlterRoleSetStmt { RoleSpec role = 1 [json_name="role"]; string database = 2 [json_name="database"]; VariableSetStmt setstmt = 3 [json_name="setstmt"]; } message CreateConversionStmt { repeated Node conversion_name = 1 [json_name="conversion_name"]; string for_encoding_name = 2 [json_name="for_encoding_name"]; string to_encoding_name = 3 [json_name="to_encoding_name"]; repeated Node func_name = 4 [json_name="func_name"]; bool def = 5 [json_name="def"]; } message CreateCastStmt { TypeName sourcetype = 1 [json_name="sourcetype"]; TypeName targettype = 2 [json_name="targettype"]; ObjectWithArgs func = 3 [json_name="func"]; CoercionContext context = 4 [json_name="context"]; bool inout = 5 [json_name="inout"]; } message CreateOpClassStmt { repeated Node opclassname = 1 [json_name="opclassname"]; repeated Node opfamilyname = 2 [json_name="opfamilyname"]; string amname = 3 [json_name="amname"]; TypeName datatype = 4 [json_name="datatype"]; repeated Node items = 5 [json_name="items"]; bool is_default = 6 [json_name="isDefault"]; } message CreateOpFamilyStmt { repeated Node opfamilyname = 1 [json_name="opfamilyname"]; string amname = 2 [json_name="amname"]; } message AlterOpFamilyStmt { repeated Node opfamilyname = 1 [json_name="opfamilyname"]; string amname = 2 [json_name="amname"]; bool is_drop = 3 [json_name="isDrop"]; repeated Node items = 4 [json_name="items"]; } message PrepareStmt { string name = 1 [json_name="name"]; repeated Node argtypes = 2 [json_name="argtypes"]; Node query = 3 [json_name="query"]; } message ExecuteStmt { string name = 1 [json_name="name"]; repeated Node params = 2 [json_name="params"]; } message DeallocateStmt { string name = 1 [json_name="name"]; } message DeclareCursorStmt { string portalname = 1 [json_name="portalname"]; int32 options = 2 [json_name="options"]; Node query = 3 [json_name="query"]; } message CreateTableSpaceStmt { string tablespacename = 1 [json_name="tablespacename"]; RoleSpec owner = 2 [json_name="owner"]; string location = 3 [json_name="location"]; repeated Node options = 4 [json_name="options"]; } message DropTableSpaceStmt { string tablespacename = 1 [json_name="tablespacename"]; bool missing_ok = 2 [json_name="missing_ok"]; } message AlterObjectDependsStmt { ObjectType object_type = 1 [json_name="objectType"]; RangeVar relation = 2 [json_name="relation"]; Node object = 3 [json_name="object"]; String extname = 4 [json_name="extname"]; bool remove = 5 [json_name="remove"]; } message AlterObjectSchemaStmt { ObjectType object_type = 1 [json_name="objectType"]; RangeVar relation = 2 [json_name="relation"]; Node object = 3 [json_name="object"]; string newschema = 4 [json_name="newschema"]; bool missing_ok = 5 [json_name="missing_ok"]; } message AlterOwnerStmt { ObjectType object_type = 1 [json_name="objectType"]; RangeVar relation = 2 [json_name="relation"]; Node object = 3 [json_name="object"]; RoleSpec newowner = 4 [json_name="newowner"]; } message AlterOperatorStmt { ObjectWithArgs opername = 1 [json_name="opername"]; repeated Node options = 2 [json_name="options"]; } message AlterTypeStmt { repeated Node type_name = 1 [json_name="typeName"]; repeated Node options = 2 [json_name="options"]; } message DropOwnedStmt { repeated Node roles = 1 [json_name="roles"]; DropBehavior behavior = 2 [json_name="behavior"]; } message ReassignOwnedStmt { repeated Node roles = 1 [json_name="roles"]; RoleSpec newrole = 2 [json_name="newrole"]; } message CompositeTypeStmt { RangeVar typevar = 1 [json_name="typevar"]; repeated Node coldeflist = 2 [json_name="coldeflist"]; } message CreateEnumStmt { repeated Node type_name = 1 [json_name="typeName"]; repeated Node vals = 2 [json_name="vals"]; } message CreateRangeStmt { repeated Node type_name = 1 [json_name="typeName"]; repeated Node params = 2 [json_name="params"]; } message AlterEnumStmt { repeated Node type_name = 1 [json_name="typeName"]; string old_val = 2 [json_name="oldVal"]; string new_val = 3 [json_name="newVal"]; string new_val_neighbor = 4 [json_name="newValNeighbor"]; bool new_val_is_after = 5 [json_name="newValIsAfter"]; bool skip_if_new_val_exists = 6 [json_name="skipIfNewValExists"]; } message AlterTSDictionaryStmt { repeated Node dictname = 1 [json_name="dictname"]; repeated Node options = 2 [json_name="options"]; } message AlterTSConfigurationStmt { AlterTSConfigType kind = 1 [json_name="kind"]; repeated Node cfgname = 2 [json_name="cfgname"]; repeated Node tokentype = 3 [json_name="tokentype"]; repeated Node dicts = 4 [json_name="dicts"]; bool override = 5 [json_name="override"]; bool replace = 6 [json_name="replace"]; bool missing_ok = 7 [json_name="missing_ok"]; } message CreateFdwStmt { string fdwname = 1 [json_name="fdwname"]; repeated Node func_options = 2 [json_name="func_options"]; repeated Node options = 3 [json_name="options"]; } message AlterFdwStmt { string fdwname = 1 [json_name="fdwname"]; repeated Node func_options = 2 [json_name="func_options"]; repeated Node options = 3 [json_name="options"]; } message CreateForeignServerStmt { string servername = 1 [json_name="servername"]; string servertype = 2 [json_name="servertype"]; string version = 3 [json_name="version"]; string fdwname = 4 [json_name="fdwname"]; bool if_not_exists = 5 [json_name="if_not_exists"]; repeated Node options = 6 [json_name="options"]; } message AlterForeignServerStmt { string servername = 1 [json_name="servername"]; string version = 2 [json_name="version"]; repeated Node options = 3 [json_name="options"]; bool has_version = 4 [json_name="has_version"]; } message CreateUserMappingStmt { RoleSpec user = 1 [json_name="user"]; string servername = 2 [json_name="servername"]; bool if_not_exists = 3 [json_name="if_not_exists"]; repeated Node options = 4 [json_name="options"]; } message AlterUserMappingStmt { RoleSpec user = 1 [json_name="user"]; string servername = 2 [json_name="servername"]; repeated Node options = 3 [json_name="options"]; } message DropUserMappingStmt { RoleSpec user = 1 [json_name="user"]; string servername = 2 [json_name="servername"]; bool missing_ok = 3 [json_name="missing_ok"]; } message AlterTableSpaceOptionsStmt { string tablespacename = 1 [json_name="tablespacename"]; repeated Node options = 2 [json_name="options"]; bool is_reset = 3 [json_name="isReset"]; } message AlterTableMoveAllStmt { string orig_tablespacename = 1 [json_name="orig_tablespacename"]; ObjectType objtype = 2 [json_name="objtype"]; repeated Node roles = 3 [json_name="roles"]; string new_tablespacename = 4 [json_name="new_tablespacename"]; bool nowait = 5 [json_name="nowait"]; } message SecLabelStmt { ObjectType objtype = 1 [json_name="objtype"]; Node object = 2 [json_name="object"]; string provider = 3 [json_name="provider"]; string label = 4 [json_name="label"]; } message CreateForeignTableStmt { CreateStmt base_stmt = 1 [json_name="base"]; string servername = 2 [json_name="servername"]; repeated Node options = 3 [json_name="options"]; } message ImportForeignSchemaStmt { string server_name = 1 [json_name="server_name"]; string remote_schema = 2 [json_name="remote_schema"]; string local_schema = 3 [json_name="local_schema"]; ImportForeignSchemaType list_type = 4 [json_name="list_type"]; repeated Node table_list = 5 [json_name="table_list"]; repeated Node options = 6 [json_name="options"]; } message CreateExtensionStmt { string extname = 1 [json_name="extname"]; bool if_not_exists = 2 [json_name="if_not_exists"]; repeated Node options = 3 [json_name="options"]; } message AlterExtensionStmt { string extname = 1 [json_name="extname"]; repeated Node options = 2 [json_name="options"]; } message AlterExtensionContentsStmt { string extname = 1 [json_name="extname"]; int32 action = 2 [json_name="action"]; ObjectType objtype = 3 [json_name="objtype"]; Node object = 4 [json_name="object"]; } message CreateEventTrigStmt { string trigname = 1 [json_name="trigname"]; string eventname = 2 [json_name="eventname"]; repeated Node whenclause = 3 [json_name="whenclause"]; repeated Node funcname = 4 [json_name="funcname"]; } message AlterEventTrigStmt { string trigname = 1 [json_name="trigname"]; string tgenabled = 2 [json_name="tgenabled"]; } message RefreshMatViewStmt { bool concurrent = 1 [json_name="concurrent"]; bool skip_data = 2 [json_name="skipData"]; RangeVar relation = 3 [json_name="relation"]; } message ReplicaIdentityStmt { string identity_type = 1 [json_name="identity_type"]; string name = 2 [json_name="name"]; } message AlterSystemStmt { VariableSetStmt setstmt = 1 [json_name="setstmt"]; } message CreatePolicyStmt { string policy_name = 1 [json_name="policy_name"]; RangeVar table = 2 [json_name="table"]; string cmd_name = 3 [json_name="cmd_name"]; bool permissive = 4 [json_name="permissive"]; repeated Node roles = 5 [json_name="roles"]; Node qual = 6 [json_name="qual"]; Node with_check = 7 [json_name="with_check"]; } message AlterPolicyStmt { string policy_name = 1 [json_name="policy_name"]; RangeVar table = 2 [json_name="table"]; repeated Node roles = 3 [json_name="roles"]; Node qual = 4 [json_name="qual"]; Node with_check = 5 [json_name="with_check"]; } message CreateTransformStmt { bool replace = 1 [json_name="replace"]; TypeName type_name = 2 [json_name="type_name"]; string lang = 3 [json_name="lang"]; ObjectWithArgs fromsql = 4 [json_name="fromsql"]; ObjectWithArgs tosql = 5 [json_name="tosql"]; } message CreateAmStmt { string amname = 1 [json_name="amname"]; repeated Node handler_name = 2 [json_name="handler_name"]; string amtype = 3 [json_name="amtype"]; } message CreatePublicationStmt { string pubname = 1 [json_name="pubname"]; repeated Node options = 2 [json_name="options"]; repeated Node pubobjects = 3 [json_name="pubobjects"]; bool for_all_tables = 4 [json_name="for_all_tables"]; } message AlterPublicationStmt { string pubname = 1 [json_name="pubname"]; repeated Node options = 2 [json_name="options"]; repeated Node pubobjects = 3 [json_name="pubobjects"]; bool for_all_tables = 4 [json_name="for_all_tables"]; AlterPublicationAction action = 5 [json_name="action"]; } message CreateSubscriptionStmt { string subname = 1 [json_name="subname"]; string conninfo = 2 [json_name="conninfo"]; repeated Node publication = 3 [json_name="publication"]; repeated Node options = 4 [json_name="options"]; } message AlterSubscriptionStmt { AlterSubscriptionType kind = 1 [json_name="kind"]; string subname = 2 [json_name="subname"]; string conninfo = 3 [json_name="conninfo"]; repeated Node publication = 4 [json_name="publication"]; repeated Node options = 5 [json_name="options"]; } message DropSubscriptionStmt { string subname = 1 [json_name="subname"]; bool missing_ok = 2 [json_name="missing_ok"]; DropBehavior behavior = 3 [json_name="behavior"]; } message CreateStatsStmt { repeated Node defnames = 1 [json_name="defnames"]; repeated Node stat_types = 2 [json_name="stat_types"]; repeated Node exprs = 3 [json_name="exprs"]; repeated Node relations = 4 [json_name="relations"]; string stxcomment = 5 [json_name="stxcomment"]; bool transformed = 6 [json_name="transformed"]; bool if_not_exists = 7 [json_name="if_not_exists"]; } message AlterCollationStmt { repeated Node collname = 1 [json_name="collname"]; } message CallStmt { FuncCall funccall = 1 [json_name="funccall"]; FuncExpr funcexpr = 2 [json_name="funcexpr"]; repeated Node outargs = 3 [json_name="outargs"]; } message AlterStatsStmt { repeated Node defnames = 1 [json_name="defnames"]; int32 stxstattarget = 2 [json_name="stxstattarget"]; bool missing_ok = 3 [json_name="missing_ok"]; } message A_Expr { A_Expr_Kind kind = 1 [json_name="kind"]; repeated Node name = 2 [json_name="name"]; Node lexpr = 3 [json_name="lexpr"]; Node rexpr = 4 [json_name="rexpr"]; int32 location = 5 [json_name="location"]; } message ColumnRef { repeated Node fields = 1 [json_name="fields"]; int32 location = 2 [json_name="location"]; } message ParamRef { int32 number = 1 [json_name="number"]; int32 location = 2 [json_name="location"]; } message FuncCall { repeated Node funcname = 1 [json_name="funcname"]; repeated Node args = 2 [json_name="args"]; repeated Node agg_order = 3 [json_name="agg_order"]; Node agg_filter = 4 [json_name="agg_filter"]; WindowDef over = 5 [json_name="over"]; bool agg_within_group = 6 [json_name="agg_within_group"]; bool agg_star = 7 [json_name="agg_star"]; bool agg_distinct = 8 [json_name="agg_distinct"]; bool func_variadic = 9 [json_name="func_variadic"]; CoercionForm funcformat = 10 [json_name="funcformat"]; int32 location = 11 [json_name="location"]; } message A_Star { } message A_Indices { bool is_slice = 1 [json_name="is_slice"]; Node lidx = 2 [json_name="lidx"]; Node uidx = 3 [json_name="uidx"]; } message A_Indirection { Node arg = 1 [json_name="arg"]; repeated Node indirection = 2 [json_name="indirection"]; } message A_ArrayExpr { repeated Node elements = 1 [json_name="elements"]; int32 location = 2 [json_name="location"]; } message ResTarget { string name = 1 [json_name="name"]; repeated Node indirection = 2 [json_name="indirection"]; Node val = 3 [json_name="val"]; int32 location = 4 [json_name="location"]; } message MultiAssignRef { Node source = 1 [json_name="source"]; int32 colno = 2 [json_name="colno"]; int32 ncolumns = 3 [json_name="ncolumns"]; } message TypeCast { Node arg = 1 [json_name="arg"]; TypeName type_name = 2 [json_name="typeName"]; int32 location = 3 [json_name="location"]; } message CollateClause { Node arg = 1 [json_name="arg"]; repeated Node collname = 2 [json_name="collname"]; int32 location = 3 [json_name="location"]; } message SortBy { Node node = 1 [json_name="node"]; SortByDir sortby_dir = 2 [json_name="sortby_dir"]; SortByNulls sortby_nulls = 3 [json_name="sortby_nulls"]; repeated Node use_op = 4 [json_name="useOp"]; int32 location = 5 [json_name="location"]; } message WindowDef { string name = 1 [json_name="name"]; string refname = 2 [json_name="refname"]; repeated Node partition_clause = 3 [json_name="partitionClause"]; repeated Node order_clause = 4 [json_name="orderClause"]; int32 frame_options = 5 [json_name="frameOptions"]; Node start_offset = 6 [json_name="startOffset"]; Node end_offset = 7 [json_name="endOffset"]; int32 location = 8 [json_name="location"]; } message RangeSubselect { bool lateral = 1 [json_name="lateral"]; Node subquery = 2 [json_name="subquery"]; Alias alias = 3 [json_name="alias"]; } message RangeFunction { bool lateral = 1 [json_name="lateral"]; bool ordinality = 2 [json_name="ordinality"]; bool is_rowsfrom = 3 [json_name="is_rowsfrom"]; repeated Node functions = 4 [json_name="functions"]; Alias alias = 5 [json_name="alias"]; repeated Node coldeflist = 6 [json_name="coldeflist"]; } message RangeTableSample { Node relation = 1 [json_name="relation"]; repeated Node method = 2 [json_name="method"]; repeated Node args = 3 [json_name="args"]; Node repeatable = 4 [json_name="repeatable"]; int32 location = 5 [json_name="location"]; } message RangeTableFunc { bool lateral = 1 [json_name="lateral"]; Node docexpr = 2 [json_name="docexpr"]; Node rowexpr = 3 [json_name="rowexpr"]; repeated Node namespaces = 4 [json_name="namespaces"]; repeated Node columns = 5 [json_name="columns"]; Alias alias = 6 [json_name="alias"]; int32 location = 7 [json_name="location"]; } message RangeTableFuncCol { string colname = 1 [json_name="colname"]; TypeName type_name = 2 [json_name="typeName"]; bool for_ordinality = 3 [json_name="for_ordinality"]; bool is_not_null = 4 [json_name="is_not_null"]; Node colexpr = 5 [json_name="colexpr"]; Node coldefexpr = 6 [json_name="coldefexpr"]; int32 location = 7 [json_name="location"]; } message TypeName { repeated Node names = 1 [json_name="names"]; uint32 type_oid = 2 [json_name="typeOid"]; bool setof = 3 [json_name="setof"]; bool pct_type = 4 [json_name="pct_type"]; repeated Node typmods = 5 [json_name="typmods"]; int32 typemod = 6 [json_name="typemod"]; repeated Node array_bounds = 7 [json_name="arrayBounds"]; int32 location = 8 [json_name="location"]; } message ColumnDef { string colname = 1 [json_name="colname"]; TypeName type_name = 2 [json_name="typeName"]; string compression = 3 [json_name="compression"]; int32 inhcount = 4 [json_name="inhcount"]; bool is_local = 5 [json_name="is_local"]; bool is_not_null = 6 [json_name="is_not_null"]; bool is_from_type = 7 [json_name="is_from_type"]; string storage = 8 [json_name="storage"]; Node raw_default = 9 [json_name="raw_default"]; Node cooked_default = 10 [json_name="cooked_default"]; string identity = 11 [json_name="identity"]; RangeVar identity_sequence = 12 [json_name="identitySequence"]; string generated = 13 [json_name="generated"]; CollateClause coll_clause = 14 [json_name="collClause"]; uint32 coll_oid = 15 [json_name="collOid"]; repeated Node constraints = 16 [json_name="constraints"]; repeated Node fdwoptions = 17 [json_name="fdwoptions"]; int32 location = 18 [json_name="location"]; } message IndexElem { string name = 1 [json_name="name"]; Node expr = 2 [json_name="expr"]; string indexcolname = 3 [json_name="indexcolname"]; repeated Node collation = 4 [json_name="collation"]; repeated Node opclass = 5 [json_name="opclass"]; repeated Node opclassopts = 6 [json_name="opclassopts"]; SortByDir ordering = 7 [json_name="ordering"]; SortByNulls nulls_ordering = 8 [json_name="nulls_ordering"]; } message StatsElem { string name = 1 [json_name="name"]; Node expr = 2 [json_name="expr"]; } message Constraint { ConstrType contype = 1 [json_name="contype"]; string conname = 2 [json_name="conname"]; bool deferrable = 3 [json_name="deferrable"]; bool initdeferred = 4 [json_name="initdeferred"]; int32 location = 5 [json_name="location"]; bool is_no_inherit = 6 [json_name="is_no_inherit"]; Node raw_expr = 7 [json_name="raw_expr"]; string cooked_expr = 8 [json_name="cooked_expr"]; string generated_when = 9 [json_name="generated_when"]; bool nulls_not_distinct = 10 [json_name="nulls_not_distinct"]; repeated Node keys = 11 [json_name="keys"]; repeated Node including = 12 [json_name="including"]; repeated Node exclusions = 13 [json_name="exclusions"]; repeated Node options = 14 [json_name="options"]; string indexname = 15 [json_name="indexname"]; string indexspace = 16 [json_name="indexspace"]; bool reset_default_tblspc = 17 [json_name="reset_default_tblspc"]; string access_method = 18 [json_name="access_method"]; Node where_clause = 19 [json_name="where_clause"]; RangeVar pktable = 20 [json_name="pktable"]; repeated Node fk_attrs = 21 [json_name="fk_attrs"]; repeated Node pk_attrs = 22 [json_name="pk_attrs"]; string fk_matchtype = 23 [json_name="fk_matchtype"]; string fk_upd_action = 24 [json_name="fk_upd_action"]; string fk_del_action = 25 [json_name="fk_del_action"]; repeated Node fk_del_set_cols = 26 [json_name="fk_del_set_cols"]; repeated Node old_conpfeqop = 27 [json_name="old_conpfeqop"]; uint32 old_pktable_oid = 28 [json_name="old_pktable_oid"]; bool skip_validation = 29 [json_name="skip_validation"]; bool initially_valid = 30 [json_name="initially_valid"]; } message DefElem { string defnamespace = 1 [json_name="defnamespace"]; string defname = 2 [json_name="defname"]; Node arg = 3 [json_name="arg"]; DefElemAction defaction = 4 [json_name="defaction"]; int32 location = 5 [json_name="location"]; } message RangeTblEntry { RTEKind rtekind = 1 [json_name="rtekind"]; uint32 relid = 2 [json_name="relid"]; string relkind = 3 [json_name="relkind"]; int32 rellockmode = 4 [json_name="rellockmode"]; TableSampleClause tablesample = 5 [json_name="tablesample"]; Query subquery = 6 [json_name="subquery"]; bool security_barrier = 7 [json_name="security_barrier"]; JoinType jointype = 8 [json_name="jointype"]; int32 joinmergedcols = 9 [json_name="joinmergedcols"]; repeated Node joinaliasvars = 10 [json_name="joinaliasvars"]; repeated Node joinleftcols = 11 [json_name="joinleftcols"]; repeated Node joinrightcols = 12 [json_name="joinrightcols"]; Alias join_using_alias = 13 [json_name="join_using_alias"]; repeated Node functions = 14 [json_name="functions"]; bool funcordinality = 15 [json_name="funcordinality"]; TableFunc tablefunc = 16 [json_name="tablefunc"]; repeated Node values_lists = 17 [json_name="values_lists"]; string ctename = 18 [json_name="ctename"]; uint32 ctelevelsup = 19 [json_name="ctelevelsup"]; bool self_reference = 20 [json_name="self_reference"]; repeated Node coltypes = 21 [json_name="coltypes"]; repeated Node coltypmods = 22 [json_name="coltypmods"]; repeated Node colcollations = 23 [json_name="colcollations"]; string enrname = 24 [json_name="enrname"]; double enrtuples = 25 [json_name="enrtuples"]; Alias alias = 26 [json_name="alias"]; Alias eref = 27 [json_name="eref"]; bool lateral = 28 [json_name="lateral"]; bool inh = 29 [json_name="inh"]; bool in_from_cl = 30 [json_name="inFromCl"]; uint32 required_perms = 31 [json_name="requiredPerms"]; uint32 check_as_user = 32 [json_name="checkAsUser"]; repeated uint64 selected_cols = 33 [json_name="selectedCols"]; repeated uint64 inserted_cols = 34 [json_name="insertedCols"]; repeated uint64 updated_cols = 35 [json_name="updatedCols"]; repeated uint64 extra_updated_cols = 36 [json_name="extraUpdatedCols"]; repeated Node security_quals = 37 [json_name="securityQuals"]; } message RangeTblFunction { Node funcexpr = 1 [json_name="funcexpr"]; int32 funccolcount = 2 [json_name="funccolcount"]; repeated Node funccolnames = 3 [json_name="funccolnames"]; repeated Node funccoltypes = 4 [json_name="funccoltypes"]; repeated Node funccoltypmods = 5 [json_name="funccoltypmods"]; repeated Node funccolcollations = 6 [json_name="funccolcollations"]; repeated uint64 funcparams = 7 [json_name="funcparams"]; } message TableSampleClause { uint32 tsmhandler = 1 [json_name="tsmhandler"]; repeated Node args = 2 [json_name="args"]; Node repeatable = 3 [json_name="repeatable"]; } message WithCheckOption { WCOKind kind = 1 [json_name="kind"]; string relname = 2 [json_name="relname"]; string polname = 3 [json_name="polname"]; Node qual = 4 [json_name="qual"]; bool cascaded = 5 [json_name="cascaded"]; } message SortGroupClause { uint32 tle_sort_group_ref = 1 [json_name="tleSortGroupRef"]; uint32 eqop = 2 [json_name="eqop"]; uint32 sortop = 3 [json_name="sortop"]; bool nulls_first = 4 [json_name="nulls_first"]; bool hashable = 5 [json_name="hashable"]; } message GroupingSet { GroupingSetKind kind = 1 [json_name="kind"]; repeated Node content = 2 [json_name="content"]; int32 location = 3 [json_name="location"]; } message WindowClause { string name = 1 [json_name="name"]; string refname = 2 [json_name="refname"]; repeated Node partition_clause = 3 [json_name="partitionClause"]; repeated Node order_clause = 4 [json_name="orderClause"]; int32 frame_options = 5 [json_name="frameOptions"]; Node start_offset = 6 [json_name="startOffset"]; Node end_offset = 7 [json_name="endOffset"]; repeated Node run_condition = 8 [json_name="runCondition"]; uint32 start_in_range_func = 9 [json_name="startInRangeFunc"]; uint32 end_in_range_func = 10 [json_name="endInRangeFunc"]; uint32 in_range_coll = 11 [json_name="inRangeColl"]; bool in_range_asc = 12 [json_name="inRangeAsc"]; bool in_range_nulls_first = 13 [json_name="inRangeNullsFirst"]; uint32 winref = 14 [json_name="winref"]; bool copied_order = 15 [json_name="copiedOrder"]; } message ObjectWithArgs { repeated Node objname = 1 [json_name="objname"]; repeated Node objargs = 2 [json_name="objargs"]; repeated Node objfuncargs = 3 [json_name="objfuncargs"]; bool args_unspecified = 4 [json_name="args_unspecified"]; } message AccessPriv { string priv_name = 1 [json_name="priv_name"]; repeated Node cols = 2 [json_name="cols"]; } message CreateOpClassItem { int32 itemtype = 1 [json_name="itemtype"]; ObjectWithArgs name = 2 [json_name="name"]; int32 number = 3 [json_name="number"]; repeated Node order_family = 4 [json_name="order_family"]; repeated Node class_args = 5 [json_name="class_args"]; TypeName storedtype = 6 [json_name="storedtype"]; } message TableLikeClause { RangeVar relation = 1 [json_name="relation"]; uint32 options = 2 [json_name="options"]; uint32 relation_oid = 3 [json_name="relationOid"]; } message FunctionParameter { string name = 1 [json_name="name"]; TypeName arg_type = 2 [json_name="argType"]; FunctionParameterMode mode = 3 [json_name="mode"]; Node defexpr = 4 [json_name="defexpr"]; } message LockingClause { repeated Node locked_rels = 1 [json_name="lockedRels"]; LockClauseStrength strength = 2 [json_name="strength"]; LockWaitPolicy wait_policy = 3 [json_name="waitPolicy"]; } message RowMarkClause { uint32 rti = 1 [json_name="rti"]; LockClauseStrength strength = 2 [json_name="strength"]; LockWaitPolicy wait_policy = 3 [json_name="waitPolicy"]; bool pushed_down = 4 [json_name="pushedDown"]; } message XmlSerialize { XmlOptionType xmloption = 1 [json_name="xmloption"]; Node expr = 2 [json_name="expr"]; TypeName type_name = 3 [json_name="typeName"]; int32 location = 4 [json_name="location"]; } message WithClause { repeated Node ctes = 1 [json_name="ctes"]; bool recursive = 2 [json_name="recursive"]; int32 location = 3 [json_name="location"]; } message InferClause { repeated Node index_elems = 1 [json_name="indexElems"]; Node where_clause = 2 [json_name="whereClause"]; string conname = 3 [json_name="conname"]; int32 location = 4 [json_name="location"]; } message OnConflictClause { OnConflictAction action = 1 [json_name="action"]; InferClause infer = 2 [json_name="infer"]; repeated Node target_list = 3 [json_name="targetList"]; Node where_clause = 4 [json_name="whereClause"]; int32 location = 5 [json_name="location"]; } message CTESearchClause { repeated Node search_col_list = 1 [json_name="search_col_list"]; bool search_breadth_first = 2 [json_name="search_breadth_first"]; string search_seq_column = 3 [json_name="search_seq_column"]; int32 location = 4 [json_name="location"]; } message CTECycleClause { repeated Node cycle_col_list = 1 [json_name="cycle_col_list"]; string cycle_mark_column = 2 [json_name="cycle_mark_column"]; Node cycle_mark_value = 3 [json_name="cycle_mark_value"]; Node cycle_mark_default = 4 [json_name="cycle_mark_default"]; string cycle_path_column = 5 [json_name="cycle_path_column"]; int32 location = 6 [json_name="location"]; uint32 cycle_mark_type = 7 [json_name="cycle_mark_type"]; int32 cycle_mark_typmod = 8 [json_name="cycle_mark_typmod"]; uint32 cycle_mark_collation = 9 [json_name="cycle_mark_collation"]; uint32 cycle_mark_neop = 10 [json_name="cycle_mark_neop"]; } message CommonTableExpr { string ctename = 1 [json_name="ctename"]; repeated Node aliascolnames = 2 [json_name="aliascolnames"]; CTEMaterialize ctematerialized = 3 [json_name="ctematerialized"]; Node ctequery = 4 [json_name="ctequery"]; CTESearchClause search_clause = 5 [json_name="search_clause"]; CTECycleClause cycle_clause = 6 [json_name="cycle_clause"]; int32 location = 7 [json_name="location"]; bool cterecursive = 8 [json_name="cterecursive"]; int32 cterefcount = 9 [json_name="cterefcount"]; repeated Node ctecolnames = 10 [json_name="ctecolnames"]; repeated Node ctecoltypes = 11 [json_name="ctecoltypes"]; repeated Node ctecoltypmods = 12 [json_name="ctecoltypmods"]; repeated Node ctecolcollations = 13 [json_name="ctecolcollations"]; } message MergeWhenClause { bool matched = 1 [json_name="matched"]; CmdType command_type = 2 [json_name="commandType"]; OverridingKind override = 3 [json_name="override"]; Node condition = 4 [json_name="condition"]; repeated Node target_list = 5 [json_name="targetList"]; repeated Node values = 6 [json_name="values"]; } message RoleSpec { RoleSpecType roletype = 1 [json_name="roletype"]; string rolename = 2 [json_name="rolename"]; int32 location = 3 [json_name="location"]; } message TriggerTransition { string name = 1 [json_name="name"]; bool is_new = 2 [json_name="isNew"]; bool is_table = 3 [json_name="isTable"]; } message PartitionElem { string name = 1 [json_name="name"]; Node expr = 2 [json_name="expr"]; repeated Node collation = 3 [json_name="collation"]; repeated Node opclass = 4 [json_name="opclass"]; int32 location = 5 [json_name="location"]; } message PartitionSpec { string strategy = 1 [json_name="strategy"]; repeated Node part_params = 2 [json_name="partParams"]; int32 location = 3 [json_name="location"]; } message PartitionBoundSpec { string strategy = 1 [json_name="strategy"]; bool is_default = 2 [json_name="is_default"]; int32 modulus = 3 [json_name="modulus"]; int32 remainder = 4 [json_name="remainder"]; repeated Node listdatums = 5 [json_name="listdatums"]; repeated Node lowerdatums = 6 [json_name="lowerdatums"]; repeated Node upperdatums = 7 [json_name="upperdatums"]; int32 location = 8 [json_name="location"]; } message PartitionRangeDatum { PartitionRangeDatumKind kind = 1 [json_name="kind"]; Node value = 2 [json_name="value"]; int32 location = 3 [json_name="location"]; } message PartitionCmd { RangeVar name = 1 [json_name="name"]; PartitionBoundSpec bound = 2 [json_name="bound"]; bool concurrent = 3 [json_name="concurrent"]; } message VacuumRelation { RangeVar relation = 1 [json_name="relation"]; uint32 oid = 2 [json_name="oid"]; repeated Node va_cols = 3 [json_name="va_cols"]; } message PublicationObjSpec { PublicationObjSpecType pubobjtype = 1 [json_name="pubobjtype"]; string name = 2 [json_name="name"]; PublicationTable pubtable = 3 [json_name="pubtable"]; int32 location = 4 [json_name="location"]; } message PublicationTable { RangeVar relation = 1 [json_name="relation"]; Node where_clause = 2 [json_name="whereClause"]; repeated Node columns = 3 [json_name="columns"]; } message InlineCodeBlock { string source_text = 1 [json_name="source_text"]; uint32 lang_oid = 2 [json_name="langOid"]; bool lang_is_trusted = 3 [json_name="langIsTrusted"]; bool atomic = 4 [json_name="atomic"]; } message CallContext { bool atomic = 1 [json_name="atomic"]; } enum OverridingKind { OVERRIDING_KIND_UNDEFINED = 0; OVERRIDING_NOT_SET = 1; OVERRIDING_USER_VALUE = 2; OVERRIDING_SYSTEM_VALUE = 3; } enum QuerySource { QUERY_SOURCE_UNDEFINED = 0; QSRC_ORIGINAL = 1; QSRC_PARSER = 2; QSRC_INSTEAD_RULE = 3; QSRC_QUAL_INSTEAD_RULE = 4; QSRC_NON_INSTEAD_RULE = 5; } enum SortByDir { SORT_BY_DIR_UNDEFINED = 0; SORTBY_DEFAULT = 1; SORTBY_ASC = 2; SORTBY_DESC = 3; SORTBY_USING = 4; } enum SortByNulls { SORT_BY_NULLS_UNDEFINED = 0; SORTBY_NULLS_DEFAULT = 1; SORTBY_NULLS_FIRST = 2; SORTBY_NULLS_LAST = 3; } enum SetQuantifier { SET_QUANTIFIER_UNDEFINED = 0; SET_QUANTIFIER_DEFAULT = 1; SET_QUANTIFIER_ALL = 2; SET_QUANTIFIER_DISTINCT = 3; } enum A_Expr_Kind { A_EXPR_KIND_UNDEFINED = 0; AEXPR_OP = 1; AEXPR_OP_ANY = 2; AEXPR_OP_ALL = 3; AEXPR_DISTINCT = 4; AEXPR_NOT_DISTINCT = 5; AEXPR_NULLIF = 6; AEXPR_IN = 7; AEXPR_LIKE = 8; AEXPR_ILIKE = 9; AEXPR_SIMILAR = 10; AEXPR_BETWEEN = 11; AEXPR_NOT_BETWEEN = 12; AEXPR_BETWEEN_SYM = 13; AEXPR_NOT_BETWEEN_SYM = 14; } enum RoleSpecType { ROLE_SPEC_TYPE_UNDEFINED = 0; ROLESPEC_CSTRING = 1; ROLESPEC_CURRENT_ROLE = 2; ROLESPEC_CURRENT_USER = 3; ROLESPEC_SESSION_USER = 4; ROLESPEC_PUBLIC = 5; } enum TableLikeOption { TABLE_LIKE_OPTION_UNDEFINED = 0; CREATE_TABLE_LIKE_COMMENTS = 1; CREATE_TABLE_LIKE_COMPRESSION = 2; CREATE_TABLE_LIKE_CONSTRAINTS = 3; CREATE_TABLE_LIKE_DEFAULTS = 4; CREATE_TABLE_LIKE_GENERATED = 5; CREATE_TABLE_LIKE_IDENTITY = 6; CREATE_TABLE_LIKE_INDEXES = 7; CREATE_TABLE_LIKE_STATISTICS = 8; CREATE_TABLE_LIKE_STORAGE = 9; CREATE_TABLE_LIKE_ALL = 10; } enum DefElemAction { DEF_ELEM_ACTION_UNDEFINED = 0; DEFELEM_UNSPEC = 1; DEFELEM_SET = 2; DEFELEM_ADD = 3; DEFELEM_DROP = 4; } enum PartitionRangeDatumKind { PARTITION_RANGE_DATUM_KIND_UNDEFINED = 0; PARTITION_RANGE_DATUM_MINVALUE = 1; PARTITION_RANGE_DATUM_VALUE = 2; PARTITION_RANGE_DATUM_MAXVALUE = 3; } enum RTEKind { RTEKIND_UNDEFINED = 0; RTE_RELATION = 1; RTE_SUBQUERY = 2; RTE_JOIN = 3; RTE_FUNCTION = 4; RTE_TABLEFUNC = 5; RTE_VALUES = 6; RTE_CTE = 7; RTE_NAMEDTUPLESTORE = 8; RTE_RESULT = 9; } enum WCOKind { WCOKIND_UNDEFINED = 0; WCO_VIEW_CHECK = 1; WCO_RLS_INSERT_CHECK = 2; WCO_RLS_UPDATE_CHECK = 3; WCO_RLS_CONFLICT_CHECK = 4; WCO_RLS_MERGE_UPDATE_CHECK = 5; WCO_RLS_MERGE_DELETE_CHECK = 6; } enum GroupingSetKind { GROUPING_SET_KIND_UNDEFINED = 0; GROUPING_SET_EMPTY = 1; GROUPING_SET_SIMPLE = 2; GROUPING_SET_ROLLUP = 3; GROUPING_SET_CUBE = 4; GROUPING_SET_SETS = 5; } enum CTEMaterialize { CTEMATERIALIZE_UNDEFINED = 0; CTEMaterializeDefault = 1; CTEMaterializeAlways = 2; CTEMaterializeNever = 3; } enum SetOperation { SET_OPERATION_UNDEFINED = 0; SETOP_NONE = 1; SETOP_UNION = 2; SETOP_INTERSECT = 3; SETOP_EXCEPT = 4; } enum ObjectType { OBJECT_TYPE_UNDEFINED = 0; OBJECT_ACCESS_METHOD = 1; OBJECT_AGGREGATE = 2; OBJECT_AMOP = 3; OBJECT_AMPROC = 4; OBJECT_ATTRIBUTE = 5; OBJECT_CAST = 6; OBJECT_COLUMN = 7; OBJECT_COLLATION = 8; OBJECT_CONVERSION = 9; OBJECT_DATABASE = 10; OBJECT_DEFAULT = 11; OBJECT_DEFACL = 12; OBJECT_DOMAIN = 13; OBJECT_DOMCONSTRAINT = 14; OBJECT_EVENT_TRIGGER = 15; OBJECT_EXTENSION = 16; OBJECT_FDW = 17; OBJECT_FOREIGN_SERVER = 18; OBJECT_FOREIGN_TABLE = 19; OBJECT_FUNCTION = 20; OBJECT_INDEX = 21; OBJECT_LANGUAGE = 22; OBJECT_LARGEOBJECT = 23; OBJECT_MATVIEW = 24; OBJECT_OPCLASS = 25; OBJECT_OPERATOR = 26; OBJECT_OPFAMILY = 27; OBJECT_PARAMETER_ACL = 28; OBJECT_POLICY = 29; OBJECT_PROCEDURE = 30; OBJECT_PUBLICATION = 31; OBJECT_PUBLICATION_NAMESPACE = 32; OBJECT_PUBLICATION_REL = 33; OBJECT_ROLE = 34; OBJECT_ROUTINE = 35; OBJECT_RULE = 36; OBJECT_SCHEMA = 37; OBJECT_SEQUENCE = 38; OBJECT_SUBSCRIPTION = 39; OBJECT_STATISTIC_EXT = 40; OBJECT_TABCONSTRAINT = 41; OBJECT_TABLE = 42; OBJECT_TABLESPACE = 43; OBJECT_TRANSFORM = 44; OBJECT_TRIGGER = 45; OBJECT_TSCONFIGURATION = 46; OBJECT_TSDICTIONARY = 47; OBJECT_TSPARSER = 48; OBJECT_TSTEMPLATE = 49; OBJECT_TYPE = 50; OBJECT_USER_MAPPING = 51; OBJECT_VIEW = 52; } enum DropBehavior { DROP_BEHAVIOR_UNDEFINED = 0; DROP_RESTRICT = 1; DROP_CASCADE = 2; } enum AlterTableType { ALTER_TABLE_TYPE_UNDEFINED = 0; AT_AddColumn = 1; AT_AddColumnRecurse = 2; AT_AddColumnToView = 3; AT_ColumnDefault = 4; AT_CookedColumnDefault = 5; AT_DropNotNull = 6; AT_SetNotNull = 7; AT_DropExpression = 8; AT_CheckNotNull = 9; AT_SetStatistics = 10; AT_SetOptions = 11; AT_ResetOptions = 12; AT_SetStorage = 13; AT_SetCompression = 14; AT_DropColumn = 15; AT_DropColumnRecurse = 16; AT_AddIndex = 17; AT_ReAddIndex = 18; AT_AddConstraint = 19; AT_AddConstraintRecurse = 20; AT_ReAddConstraint = 21; AT_ReAddDomainConstraint = 22; AT_AlterConstraint = 23; AT_ValidateConstraint = 24; AT_ValidateConstraintRecurse = 25; AT_AddIndexConstraint = 26; AT_DropConstraint = 27; AT_DropConstraintRecurse = 28; AT_ReAddComment = 29; AT_AlterColumnType = 30; AT_AlterColumnGenericOptions = 31; AT_ChangeOwner = 32; AT_ClusterOn = 33; AT_DropCluster = 34; AT_SetLogged = 35; AT_SetUnLogged = 36; AT_DropOids = 37; AT_SetAccessMethod = 38; AT_SetTableSpace = 39; AT_SetRelOptions = 40; AT_ResetRelOptions = 41; AT_ReplaceRelOptions = 42; AT_EnableTrig = 43; AT_EnableAlwaysTrig = 44; AT_EnableReplicaTrig = 45; AT_DisableTrig = 46; AT_EnableTrigAll = 47; AT_DisableTrigAll = 48; AT_EnableTrigUser = 49; AT_DisableTrigUser = 50; AT_EnableRule = 51; AT_EnableAlwaysRule = 52; AT_EnableReplicaRule = 53; AT_DisableRule = 54; AT_AddInherit = 55; AT_DropInherit = 56; AT_AddOf = 57; AT_DropOf = 58; AT_ReplicaIdentity = 59; AT_EnableRowSecurity = 60; AT_DisableRowSecurity = 61; AT_ForceRowSecurity = 62; AT_NoForceRowSecurity = 63; AT_GenericOptions = 64; AT_AttachPartition = 65; AT_DetachPartition = 66; AT_DetachPartitionFinalize = 67; AT_AddIdentity = 68; AT_SetIdentity = 69; AT_DropIdentity = 70; AT_ReAddStatistics = 71; } enum GrantTargetType { GRANT_TARGET_TYPE_UNDEFINED = 0; ACL_TARGET_OBJECT = 1; ACL_TARGET_ALL_IN_SCHEMA = 2; ACL_TARGET_DEFAULTS = 3; } enum VariableSetKind { VARIABLE_SET_KIND_UNDEFINED = 0; VAR_SET_VALUE = 1; VAR_SET_DEFAULT = 2; VAR_SET_CURRENT = 3; VAR_SET_MULTI = 4; VAR_RESET = 5; VAR_RESET_ALL = 6; } enum ConstrType { CONSTR_TYPE_UNDEFINED = 0; CONSTR_NULL = 1; CONSTR_NOTNULL = 2; CONSTR_DEFAULT = 3; CONSTR_IDENTITY = 4; CONSTR_GENERATED = 5; CONSTR_CHECK = 6; CONSTR_PRIMARY = 7; CONSTR_UNIQUE = 8; CONSTR_EXCLUSION = 9; CONSTR_FOREIGN = 10; CONSTR_ATTR_DEFERRABLE = 11; CONSTR_ATTR_NOT_DEFERRABLE = 12; CONSTR_ATTR_DEFERRED = 13; CONSTR_ATTR_IMMEDIATE = 14; } enum ImportForeignSchemaType { IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED = 0; FDW_IMPORT_SCHEMA_ALL = 1; FDW_IMPORT_SCHEMA_LIMIT_TO = 2; FDW_IMPORT_SCHEMA_EXCEPT = 3; } enum RoleStmtType { ROLE_STMT_TYPE_UNDEFINED = 0; ROLESTMT_ROLE = 1; ROLESTMT_USER = 2; ROLESTMT_GROUP = 3; } enum FetchDirection { FETCH_DIRECTION_UNDEFINED = 0; FETCH_FORWARD = 1; FETCH_BACKWARD = 2; FETCH_ABSOLUTE = 3; FETCH_RELATIVE = 4; } enum FunctionParameterMode { FUNCTION_PARAMETER_MODE_UNDEFINED = 0; FUNC_PARAM_IN = 1; FUNC_PARAM_OUT = 2; FUNC_PARAM_INOUT = 3; FUNC_PARAM_VARIADIC = 4; FUNC_PARAM_TABLE = 5; FUNC_PARAM_DEFAULT = 6; } enum TransactionStmtKind { TRANSACTION_STMT_KIND_UNDEFINED = 0; TRANS_STMT_BEGIN = 1; TRANS_STMT_START = 2; TRANS_STMT_COMMIT = 3; TRANS_STMT_ROLLBACK = 4; TRANS_STMT_SAVEPOINT = 5; TRANS_STMT_RELEASE = 6; TRANS_STMT_ROLLBACK_TO = 7; TRANS_STMT_PREPARE = 8; TRANS_STMT_COMMIT_PREPARED = 9; TRANS_STMT_ROLLBACK_PREPARED = 10; } enum ViewCheckOption { VIEW_CHECK_OPTION_UNDEFINED = 0; NO_CHECK_OPTION = 1; LOCAL_CHECK_OPTION = 2; CASCADED_CHECK_OPTION = 3; } enum DiscardMode { DISCARD_MODE_UNDEFINED = 0; DISCARD_ALL = 1; DISCARD_PLANS = 2; DISCARD_SEQUENCES = 3; DISCARD_TEMP = 4; } enum ReindexObjectType { REINDEX_OBJECT_TYPE_UNDEFINED = 0; REINDEX_OBJECT_INDEX = 1; REINDEX_OBJECT_TABLE = 2; REINDEX_OBJECT_SCHEMA = 3; REINDEX_OBJECT_SYSTEM = 4; REINDEX_OBJECT_DATABASE = 5; } enum AlterTSConfigType { ALTER_TSCONFIG_TYPE_UNDEFINED = 0; ALTER_TSCONFIG_ADD_MAPPING = 1; ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN = 2; ALTER_TSCONFIG_REPLACE_DICT = 3; ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN = 4; ALTER_TSCONFIG_DROP_MAPPING = 5; } enum PublicationObjSpecType { PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED = 0; PUBLICATIONOBJ_TABLE = 1; PUBLICATIONOBJ_TABLES_IN_SCHEMA = 2; PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA = 3; PUBLICATIONOBJ_CONTINUATION = 4; } enum AlterPublicationAction { ALTER_PUBLICATION_ACTION_UNDEFINED = 0; AP_AddObjects = 1; AP_DropObjects = 2; AP_SetObjects = 3; } enum AlterSubscriptionType { ALTER_SUBSCRIPTION_TYPE_UNDEFINED = 0; ALTER_SUBSCRIPTION_OPTIONS = 1; ALTER_SUBSCRIPTION_CONNECTION = 2; ALTER_SUBSCRIPTION_SET_PUBLICATION = 3; ALTER_SUBSCRIPTION_ADD_PUBLICATION = 4; ALTER_SUBSCRIPTION_DROP_PUBLICATION = 5; ALTER_SUBSCRIPTION_REFRESH = 6; ALTER_SUBSCRIPTION_ENABLED = 7; ALTER_SUBSCRIPTION_SKIP = 8; } enum OnCommitAction { ON_COMMIT_ACTION_UNDEFINED = 0; ONCOMMIT_NOOP = 1; ONCOMMIT_PRESERVE_ROWS = 2; ONCOMMIT_DELETE_ROWS = 3; ONCOMMIT_DROP = 4; } enum ParamKind { PARAM_KIND_UNDEFINED = 0; PARAM_EXTERN = 1; PARAM_EXEC = 2; PARAM_SUBLINK = 3; PARAM_MULTIEXPR = 4; } enum CoercionContext { COERCION_CONTEXT_UNDEFINED = 0; COERCION_IMPLICIT = 1; COERCION_ASSIGNMENT = 2; COERCION_PLPGSQL = 3; COERCION_EXPLICIT = 4; } enum CoercionForm { COERCION_FORM_UNDEFINED = 0; COERCE_EXPLICIT_CALL = 1; COERCE_EXPLICIT_CAST = 2; COERCE_IMPLICIT_CAST = 3; COERCE_SQL_SYNTAX = 4; } enum BoolExprType { BOOL_EXPR_TYPE_UNDEFINED = 0; AND_EXPR = 1; OR_EXPR = 2; NOT_EXPR = 3; } enum SubLinkType { SUB_LINK_TYPE_UNDEFINED = 0; EXISTS_SUBLINK = 1; ALL_SUBLINK = 2; ANY_SUBLINK = 3; ROWCOMPARE_SUBLINK = 4; EXPR_SUBLINK = 5; MULTIEXPR_SUBLINK = 6; ARRAY_SUBLINK = 7; CTE_SUBLINK = 8; } enum RowCompareType { ROW_COMPARE_TYPE_UNDEFINED = 0; ROWCOMPARE_LT = 1; ROWCOMPARE_LE = 2; ROWCOMPARE_EQ = 3; ROWCOMPARE_GE = 4; ROWCOMPARE_GT = 5; ROWCOMPARE_NE = 6; } enum MinMaxOp { MIN_MAX_OP_UNDEFINED = 0; IS_GREATEST = 1; IS_LEAST = 2; } enum SQLValueFunctionOp { SQLVALUE_FUNCTION_OP_UNDEFINED = 0; SVFOP_CURRENT_DATE = 1; SVFOP_CURRENT_TIME = 2; SVFOP_CURRENT_TIME_N = 3; SVFOP_CURRENT_TIMESTAMP = 4; SVFOP_CURRENT_TIMESTAMP_N = 5; SVFOP_LOCALTIME = 6; SVFOP_LOCALTIME_N = 7; SVFOP_LOCALTIMESTAMP = 8; SVFOP_LOCALTIMESTAMP_N = 9; SVFOP_CURRENT_ROLE = 10; SVFOP_CURRENT_USER = 11; SVFOP_USER = 12; SVFOP_SESSION_USER = 13; SVFOP_CURRENT_CATALOG = 14; SVFOP_CURRENT_SCHEMA = 15; } enum XmlExprOp { XML_EXPR_OP_UNDEFINED = 0; IS_XMLCONCAT = 1; IS_XMLELEMENT = 2; IS_XMLFOREST = 3; IS_XMLPARSE = 4; IS_XMLPI = 5; IS_XMLROOT = 6; IS_XMLSERIALIZE = 7; IS_DOCUMENT = 8; } enum XmlOptionType { XML_OPTION_TYPE_UNDEFINED = 0; XMLOPTION_DOCUMENT = 1; XMLOPTION_CONTENT = 2; } enum NullTestType { NULL_TEST_TYPE_UNDEFINED = 0; IS_NULL = 1; IS_NOT_NULL = 2; } enum BoolTestType { BOOL_TEST_TYPE_UNDEFINED = 0; IS_TRUE = 1; IS_NOT_TRUE = 2; IS_FALSE = 3; IS_NOT_FALSE = 4; IS_UNKNOWN = 5; IS_NOT_UNKNOWN = 6; } enum CmdType { CMD_TYPE_UNDEFINED = 0; CMD_UNKNOWN = 1; CMD_SELECT = 2; CMD_UPDATE = 3; CMD_INSERT = 4; CMD_DELETE = 5; CMD_MERGE = 6; CMD_UTILITY = 7; CMD_NOTHING = 8; } enum JoinType { JOIN_TYPE_UNDEFINED = 0; JOIN_INNER = 1; JOIN_LEFT = 2; JOIN_FULL = 3; JOIN_RIGHT = 4; JOIN_SEMI = 5; JOIN_ANTI = 6; JOIN_UNIQUE_OUTER = 7; JOIN_UNIQUE_INNER = 8; } enum AggStrategy { AGG_STRATEGY_UNDEFINED = 0; AGG_PLAIN = 1; AGG_SORTED = 2; AGG_HASHED = 3; AGG_MIXED = 4; } enum AggSplit { AGG_SPLIT_UNDEFINED = 0; AGGSPLIT_SIMPLE = 1; AGGSPLIT_INITIAL_SERIAL = 2; AGGSPLIT_FINAL_DESERIAL = 3; } enum SetOpCmd { SET_OP_CMD_UNDEFINED = 0; SETOPCMD_INTERSECT = 1; SETOPCMD_INTERSECT_ALL = 2; SETOPCMD_EXCEPT = 3; SETOPCMD_EXCEPT_ALL = 4; } enum SetOpStrategy { SET_OP_STRATEGY_UNDEFINED = 0; SETOP_SORTED = 1; SETOP_HASHED = 2; } enum OnConflictAction { ON_CONFLICT_ACTION_UNDEFINED = 0; ONCONFLICT_NONE = 1; ONCONFLICT_NOTHING = 2; ONCONFLICT_UPDATE = 3; } enum LimitOption { LIMIT_OPTION_UNDEFINED = 0; LIMIT_OPTION_DEFAULT = 1; LIMIT_OPTION_COUNT = 2; LIMIT_OPTION_WITH_TIES = 3; } enum LockClauseStrength { LOCK_CLAUSE_STRENGTH_UNDEFINED = 0; LCS_NONE = 1; LCS_FORKEYSHARE = 2; LCS_FORSHARE = 3; LCS_FORNOKEYUPDATE = 4; LCS_FORUPDATE = 5; } enum LockWaitPolicy { LOCK_WAIT_POLICY_UNDEFINED = 0; LockWaitBlock = 1; LockWaitSkip = 2; LockWaitError = 3; } enum LockTupleMode { LOCK_TUPLE_MODE_UNDEFINED = 0; LockTupleKeyShare = 1; LockTupleShare = 2; LockTupleNoKeyExclusive = 3; LockTupleExclusive = 4; } message ScanToken { int32 start = 1; int32 end = 2; Token token = 4; KeywordKind keyword_kind = 5; } enum KeywordKind { NO_KEYWORD = 0; UNRESERVED_KEYWORD = 1; COL_NAME_KEYWORD = 2; TYPE_FUNC_NAME_KEYWORD = 3; RESERVED_KEYWORD = 4; } enum Token { NUL = 0; // Single-character tokens that are returned 1:1 (identical with "self" list in scan.l) // Either supporting syntax, or single-character operators (some can be both) // Also see https://www.postgresql.org/docs/12/sql-syntax-lexical.html#SQL-SYNTAX-SPECIAL-CHARS ASCII_37 = 37; // "%" ASCII_40 = 40; // "(" ASCII_41 = 41; // ")" ASCII_42 = 42; // "*" ASCII_43 = 43; // "+" ASCII_44 = 44; // "," ASCII_45 = 45; // "-" ASCII_46 = 46; // "." ASCII_47 = 47; // "/" ASCII_58 = 58; // ":" ASCII_59 = 59; // ";" ASCII_60 = 60; // "<" ASCII_61 = 61; // "=" ASCII_62 = 62; // ">" ASCII_63 = 63; // "?" ASCII_91 = 91; // "[" ASCII_92 = 92; // "\" ASCII_93 = 93; // "]" ASCII_94 = 94; // "^" // Named tokens in scan.l IDENT = 258; UIDENT = 259; FCONST = 260; SCONST = 261; USCONST = 262; BCONST = 263; XCONST = 264; Op = 265; ICONST = 266; PARAM = 267; TYPECAST = 268; DOT_DOT = 269; COLON_EQUALS = 270; EQUALS_GREATER = 271; LESS_EQUALS = 272; GREATER_EQUALS = 273; NOT_EQUALS = 274; SQL_COMMENT = 275; C_COMMENT = 276; ABORT_P = 277; ABSOLUTE_P = 278; ACCESS = 279; ACTION = 280; ADD_P = 281; ADMIN = 282; AFTER = 283; AGGREGATE = 284; ALL = 285; ALSO = 286; ALTER = 287; ALWAYS = 288; ANALYSE = 289; ANALYZE = 290; AND = 291; ANY = 292; ARRAY = 293; AS = 294; ASC = 295; ASENSITIVE = 296; ASSERTION = 297; ASSIGNMENT = 298; ASYMMETRIC = 299; ATOMIC = 300; AT = 301; ATTACH = 302; ATTRIBUTE = 303; AUTHORIZATION = 304; BACKWARD = 305; BEFORE = 306; BEGIN_P = 307; BETWEEN = 308; BIGINT = 309; BINARY = 310; BIT = 311; BOOLEAN_P = 312; BOTH = 313; BREADTH = 314; BY = 315; CACHE = 316; CALL = 317; CALLED = 318; CASCADE = 319; CASCADED = 320; CASE = 321; CAST = 322; CATALOG_P = 323; CHAIN = 324; CHAR_P = 325; CHARACTER = 326; CHARACTERISTICS = 327; CHECK = 328; CHECKPOINT = 329; CLASS = 330; CLOSE = 331; CLUSTER = 332; COALESCE = 333; COLLATE = 334; COLLATION = 335; COLUMN = 336; COLUMNS = 337; COMMENT = 338; COMMENTS = 339; COMMIT = 340; COMMITTED = 341; COMPRESSION = 342; CONCURRENTLY = 343; CONFIGURATION = 344; CONFLICT = 345; CONNECTION = 346; CONSTRAINT = 347; CONSTRAINTS = 348; CONTENT_P = 349; CONTINUE_P = 350; CONVERSION_P = 351; COPY = 352; COST = 353; CREATE = 354; CROSS = 355; CSV = 356; CUBE = 357; CURRENT_P = 358; CURRENT_CATALOG = 359; CURRENT_DATE = 360; CURRENT_ROLE = 361; CURRENT_SCHEMA = 362; CURRENT_TIME = 363; CURRENT_TIMESTAMP = 364; CURRENT_USER = 365; CURSOR = 366; CYCLE = 367; DATA_P = 368; DATABASE = 369; DAY_P = 370; DEALLOCATE = 371; DEC = 372; DECIMAL_P = 373; DECLARE = 374; DEFAULT = 375; DEFAULTS = 376; DEFERRABLE = 377; DEFERRED = 378; DEFINER = 379; DELETE_P = 380; DELIMITER = 381; DELIMITERS = 382; DEPENDS = 383; DEPTH = 384; DESC = 385; DETACH = 386; DICTIONARY = 387; DISABLE_P = 388; DISCARD = 389; DISTINCT = 390; DO = 391; DOCUMENT_P = 392; DOMAIN_P = 393; DOUBLE_P = 394; DROP = 395; EACH = 396; ELSE = 397; ENABLE_P = 398; ENCODING = 399; ENCRYPTED = 400; END_P = 401; ENUM_P = 402; ESCAPE = 403; EVENT = 404; EXCEPT = 405; EXCLUDE = 406; EXCLUDING = 407; EXCLUSIVE = 408; EXECUTE = 409; EXISTS = 410; EXPLAIN = 411; EXPRESSION = 412; EXTENSION = 413; EXTERNAL = 414; EXTRACT = 415; FALSE_P = 416; FAMILY = 417; FETCH = 418; FILTER = 419; FINALIZE = 420; FIRST_P = 421; FLOAT_P = 422; FOLLOWING = 423; FOR = 424; FORCE = 425; FOREIGN = 426; FORWARD = 427; FREEZE = 428; FROM = 429; FULL = 430; FUNCTION = 431; FUNCTIONS = 432; GENERATED = 433; GLOBAL = 434; GRANT = 435; GRANTED = 436; GREATEST = 437; GROUP_P = 438; GROUPING = 439; GROUPS = 440; HANDLER = 441; HAVING = 442; HEADER_P = 443; HOLD = 444; HOUR_P = 445; IDENTITY_P = 446; IF_P = 447; ILIKE = 448; IMMEDIATE = 449; IMMUTABLE = 450; IMPLICIT_P = 451; IMPORT_P = 452; IN_P = 453; INCLUDE = 454; INCLUDING = 455; INCREMENT = 456; INDEX = 457; INDEXES = 458; INHERIT = 459; INHERITS = 460; INITIALLY = 461; INLINE_P = 462; INNER_P = 463; INOUT = 464; INPUT_P = 465; INSENSITIVE = 466; INSERT = 467; INSTEAD = 468; INT_P = 469; INTEGER = 470; INTERSECT = 471; INTERVAL = 472; INTO = 473; INVOKER = 474; IS = 475; ISNULL = 476; ISOLATION = 477; JOIN = 478; KEY = 479; LABEL = 480; LANGUAGE = 481; LARGE_P = 482; LAST_P = 483; LATERAL_P = 484; LEADING = 485; LEAKPROOF = 486; LEAST = 487; LEFT = 488; LEVEL = 489; LIKE = 490; LIMIT = 491; LISTEN = 492; LOAD = 493; LOCAL = 494; LOCALTIME = 495; LOCALTIMESTAMP = 496; LOCATION = 497; LOCK_P = 498; LOCKED = 499; LOGGED = 500; MAPPING = 501; MATCH = 502; MATCHED = 503; MATERIALIZED = 504; MAXVALUE = 505; MERGE = 506; METHOD = 507; MINUTE_P = 508; MINVALUE = 509; MODE = 510; MONTH_P = 511; MOVE = 512; NAME_P = 513; NAMES = 514; NATIONAL = 515; NATURAL = 516; NCHAR = 517; NEW = 518; NEXT = 519; NFC = 520; NFD = 521; NFKC = 522; NFKD = 523; NO = 524; NONE = 525; NORMALIZE = 526; NORMALIZED = 527; NOT = 528; NOTHING = 529; NOTIFY = 530; NOTNULL = 531; NOWAIT = 532; NULL_P = 533; NULLIF = 534; NULLS_P = 535; NUMERIC = 536; OBJECT_P = 537; OF = 538; OFF = 539; OFFSET = 540; OIDS = 541; OLD = 542; ON = 543; ONLY = 544; OPERATOR = 545; OPTION = 546; OPTIONS = 547; OR = 548; ORDER = 549; ORDINALITY = 550; OTHERS = 551; OUT_P = 552; OUTER_P = 553; OVER = 554; OVERLAPS = 555; OVERLAY = 556; OVERRIDING = 557; OWNED = 558; OWNER = 559; PARALLEL = 560; PARAMETER = 561; PARSER = 562; PARTIAL = 563; PARTITION = 564; PASSING = 565; PASSWORD = 566; PLACING = 567; PLANS = 568; POLICY = 569; POSITION = 570; PRECEDING = 571; PRECISION = 572; PRESERVE = 573; PREPARE = 574; PREPARED = 575; PRIMARY = 576; PRIOR = 577; PRIVILEGES = 578; PROCEDURAL = 579; PROCEDURE = 580; PROCEDURES = 581; PROGRAM = 582; PUBLICATION = 583; QUOTE = 584; RANGE = 585; READ = 586; REAL = 587; REASSIGN = 588; RECHECK = 589; RECURSIVE = 590; REF_P = 591; REFERENCES = 592; REFERENCING = 593; REFRESH = 594; REINDEX = 595; RELATIVE_P = 596; RELEASE = 597; RENAME = 598; REPEATABLE = 599; REPLACE = 600; REPLICA = 601; RESET = 602; RESTART = 603; RESTRICT = 604; RETURN = 605; RETURNING = 606; RETURNS = 607; REVOKE = 608; RIGHT = 609; ROLE = 610; ROLLBACK = 611; ROLLUP = 612; ROUTINE = 613; ROUTINES = 614; ROW = 615; ROWS = 616; RULE = 617; SAVEPOINT = 618; SCHEMA = 619; SCHEMAS = 620; SCROLL = 621; SEARCH = 622; SECOND_P = 623; SECURITY = 624; SELECT = 625; SEQUENCE = 626; SEQUENCES = 627; SERIALIZABLE = 628; SERVER = 629; SESSION = 630; SESSION_USER = 631; SET = 632; SETS = 633; SETOF = 634; SHARE = 635; SHOW = 636; SIMILAR = 637; SIMPLE = 638; SKIP = 639; SMALLINT = 640; SNAPSHOT = 641; SOME = 642; SQL_P = 643; STABLE = 644; STANDALONE_P = 645; START = 646; STATEMENT = 647; STATISTICS = 648; STDIN = 649; STDOUT = 650; STORAGE = 651; STORED = 652; STRICT_P = 653; STRIP_P = 654; SUBSCRIPTION = 655; SUBSTRING = 656; SUPPORT = 657; SYMMETRIC = 658; SYSID = 659; SYSTEM_P = 660; TABLE = 661; TABLES = 662; TABLESAMPLE = 663; TABLESPACE = 664; TEMP = 665; TEMPLATE = 666; TEMPORARY = 667; TEXT_P = 668; THEN = 669; TIES = 670; TIME = 671; TIMESTAMP = 672; TO = 673; TRAILING = 674; TRANSACTION = 675; TRANSFORM = 676; TREAT = 677; TRIGGER = 678; TRIM = 679; TRUE_P = 680; TRUNCATE = 681; TRUSTED = 682; TYPE_P = 683; TYPES_P = 684; UESCAPE = 685; UNBOUNDED = 686; UNCOMMITTED = 687; UNENCRYPTED = 688; UNION = 689; UNIQUE = 690; UNKNOWN = 691; UNLISTEN = 692; UNLOGGED = 693; UNTIL = 694; UPDATE = 695; USER = 696; USING = 697; VACUUM = 698; VALID = 699; VALIDATE = 700; VALIDATOR = 701; VALUE_P = 702; VALUES = 703; VARCHAR = 704; VARIADIC = 705; VARYING = 706; VERBOSE = 707; VERSION_P = 708; VIEW = 709; VIEWS = 710; VOLATILE = 711; WHEN = 712; WHERE = 713; WHITESPACE_P = 714; WINDOW = 715; WITH = 716; WITHIN = 717; WITHOUT = 718; WORK = 719; WRAPPER = 720; WRITE = 721; XML_P = 722; XMLATTRIBUTES = 723; XMLCONCAT = 724; XMLELEMENT = 725; XMLEXISTS = 726; XMLFOREST = 727; XMLNAMESPACES = 728; XMLPARSE = 729; XMLPI = 730; XMLROOT = 731; XMLSERIALIZE = 732; XMLTABLE = 733; YEAR_P = 734; YES_P = 735; ZONE = 736; NOT_LA = 737; NULLS_LA = 738; WITH_LA = 739; MODE_TYPE_NAME = 740; MODE_PLPGSQL_EXPR = 741; MODE_PLPGSQL_ASSIGN1 = 742; MODE_PLPGSQL_ASSIGN2 = 743; MODE_PLPGSQL_ASSIGN3 = 744; UMINUS = 745; }