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