diff options
Diffstat (limited to 'src/include/commands')
-rw-r--r-- | src/include/commands/alter.h | 8 | ||||
-rw-r--r-- | src/include/commands/collationcmds.h | 3 | ||||
-rw-r--r-- | src/include/commands/comment.h | 3 | ||||
-rw-r--r-- | src/include/commands/conversioncmds.h | 3 | ||||
-rw-r--r-- | src/include/commands/createas.h | 3 | ||||
-rw-r--r-- | src/include/commands/dbcommands.h | 5 | ||||
-rw-r--r-- | src/include/commands/defrem.h | 45 | ||||
-rw-r--r-- | src/include/commands/event_trigger.h | 2 | ||||
-rw-r--r-- | src/include/commands/extension.h | 13 | ||||
-rw-r--r-- | src/include/commands/matview.h | 3 | ||||
-rw-r--r-- | src/include/commands/policy.h | 7 | ||||
-rw-r--r-- | src/include/commands/proclang.h | 3 | ||||
-rw-r--r-- | src/include/commands/schemacmds.h | 5 | ||||
-rw-r--r-- | src/include/commands/seclabel.h | 2 | ||||
-rw-r--r-- | src/include/commands/sequence.h | 5 | ||||
-rw-r--r-- | src/include/commands/tablecmds.h | 15 | ||||
-rw-r--r-- | src/include/commands/tablespace.h | 3 | ||||
-rw-r--r-- | src/include/commands/trigger.h | 5 | ||||
-rw-r--r-- | src/include/commands/typecmds.h | 30 | ||||
-rw-r--r-- | src/include/commands/user.h | 3 | ||||
-rw-r--r-- | src/include/commands/view.h | 3 |
21 files changed, 98 insertions, 71 deletions
diff --git a/src/include/commands/alter.h b/src/include/commands/alter.h index 14d24f124d7..be688909430 100644 --- a/src/include/commands/alter.h +++ b/src/include/commands/alter.h @@ -15,16 +15,18 @@ #define ALTER_H #include "catalog/dependency.h" +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" #include "utils/relcache.h" -extern Oid ExecRenameStmt(RenameStmt *stmt); +extern ObjectAddress ExecRenameStmt(RenameStmt *stmt); -extern Oid ExecAlterObjectSchemaStmt(AlterObjectSchemaStmt *stmt); +extern ObjectAddress ExecAlterObjectSchemaStmt(AlterObjectSchemaStmt *stmt, + ObjectAddress *oldSchemaAddr); extern Oid AlterObjectNamespace_oid(Oid classId, Oid objid, Oid nspOid, ObjectAddresses *objsMoved); -extern Oid ExecAlterOwnerStmt(AlterOwnerStmt *stmt); +extern ObjectAddress ExecAlterOwnerStmt(AlterOwnerStmt *stmt); extern void AlterObjectOwner_internal(Relation catalog, Oid objectId, Oid new_ownerId); diff --git a/src/include/commands/collationcmds.h b/src/include/commands/collationcmds.h index dfc741bec1d..fa99ed693a5 100644 --- a/src/include/commands/collationcmds.h +++ b/src/include/commands/collationcmds.h @@ -15,9 +15,10 @@ #ifndef COLLATIONCMDS_H #define COLLATIONCMDS_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" -extern Oid DefineCollation(List *names, List *parameters); +extern ObjectAddress DefineCollation(List *names, List *parameters); extern void IsThereCollationInNamespace(const char *collname, Oid nspOid); #endif /* COLLATIONCMDS_H */ diff --git a/src/include/commands/comment.h b/src/include/commands/comment.h index 3d61b445281..990d36216a2 100644 --- a/src/include/commands/comment.h +++ b/src/include/commands/comment.h @@ -15,6 +15,7 @@ #ifndef COMMENT_H #define COMMENT_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" /*------------------------------------------------------------------ @@ -29,7 +30,7 @@ *------------------------------------------------------------------ */ -extern Oid CommentObject(CommentStmt *stmt); +extern ObjectAddress CommentObject(CommentStmt *stmt); extern void DeleteComments(Oid oid, Oid classoid, int32 subid); diff --git a/src/include/commands/conversioncmds.h b/src/include/commands/conversioncmds.h index dd8f6dce6b6..1f322691a49 100644 --- a/src/include/commands/conversioncmds.h +++ b/src/include/commands/conversioncmds.h @@ -15,8 +15,9 @@ #ifndef CONVERSIONCMDS_H #define CONVERSIONCMDS_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" -extern Oid CreateConversionCommand(CreateConversionStmt *parsetree); +extern ObjectAddress CreateConversionCommand(CreateConversionStmt *parsetree); #endif /* CONVERSIONCMDS_H */ diff --git a/src/include/commands/createas.h b/src/include/commands/createas.h index 495298f575d..8325d733595 100644 --- a/src/include/commands/createas.h +++ b/src/include/commands/createas.h @@ -14,12 +14,13 @@ #ifndef CREATEAS_H #define CREATEAS_H +#include "catalog/objectaddress.h" #include "nodes/params.h" #include "nodes/parsenodes.h" #include "tcop/dest.h" -extern Oid ExecCreateTableAs(CreateTableAsStmt *stmt, const char *queryString, +extern ObjectAddress ExecCreateTableAs(CreateTableAsStmt *stmt, const char *queryString, ParamListInfo params, char *completionTag); extern int GetIntoRelEFlags(IntoClause *intoClause); diff --git a/src/include/commands/dbcommands.h b/src/include/commands/dbcommands.h index 4b60cdbedc6..9fec3344dca 100644 --- a/src/include/commands/dbcommands.h +++ b/src/include/commands/dbcommands.h @@ -15,6 +15,7 @@ #define DBCOMMANDS_H #include "access/xlogreader.h" +#include "catalog/objectaddress.h" #include "lib/stringinfo.h" #include "nodes/parsenodes.h" @@ -40,10 +41,10 @@ typedef struct xl_dbase_drop_rec extern Oid createdb(const CreatedbStmt *stmt); extern void dropdb(const char *dbname, bool missing_ok); -extern Oid RenameDatabase(const char *oldname, const char *newname); +extern ObjectAddress RenameDatabase(const char *oldname, const char *newname); extern Oid AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel); extern Oid AlterDatabaseSet(AlterDatabaseSetStmt *stmt); -extern Oid AlterDatabaseOwner(const char *dbname, Oid newOwnerId); +extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId); extern Oid get_database_oid(const char *dbname, bool missingok); extern char *get_database_name(Oid dbid); diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h index cf586feac36..9e3e93b6055 100644 --- a/src/include/commands/defrem.h +++ b/src/include/commands/defrem.h @@ -14,6 +14,7 @@ #ifndef DEFREM_H #define DEFREM_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" #include "utils/array.h" @@ -21,7 +22,7 @@ extern void RemoveObjects(DropStmt *stmt); /* commands/indexcmds.c */ -extern Oid DefineIndex(Oid relationId, +extern ObjectAddress DefineIndex(Oid relationId, IndexStmt *stmt, Oid indexRelationId, bool is_alter_table, @@ -42,12 +43,12 @@ extern bool CheckIndexCompatible(Oid oldId, extern Oid GetDefaultOpClass(Oid type_id, Oid am_id); /* commands/functioncmds.c */ -extern Oid CreateFunction(CreateFunctionStmt *stmt, const char *queryString); +extern ObjectAddress CreateFunction(CreateFunctionStmt *stmt, const char *queryString); extern void RemoveFunctionById(Oid funcOid); extern void SetFunctionReturnType(Oid funcOid, Oid newRetType); extern void SetFunctionArgType(Oid funcOid, int argIndex, Oid newArgType); -extern Oid AlterFunction(AlterFunctionStmt *stmt); -extern Oid CreateCast(CreateCastStmt *stmt); +extern ObjectAddress AlterFunction(AlterFunctionStmt *stmt); +extern ObjectAddress CreateCast(CreateCastStmt *stmt); extern void DropCastById(Oid castOid); extern void IsThereFunctionInNamespace(const char *proname, int pronargs, oidvector *proargtypes, Oid nspOid); @@ -66,16 +67,16 @@ extern void interpret_function_parameter_list(List *parameters, Oid *requiredResultType); /* commands/operatorcmds.c */ -extern Oid DefineOperator(List *names, List *parameters); +extern ObjectAddress DefineOperator(List *names, List *parameters); extern void RemoveOperatorById(Oid operOid); /* commands/aggregatecmds.c */ -extern Oid DefineAggregate(List *name, List *args, bool oldstyle, +extern ObjectAddress DefineAggregate(List *name, List *args, bool oldstyle, List *parameters, const char *queryString); /* commands/opclasscmds.c */ -extern Oid DefineOpClass(CreateOpClassStmt *stmt); -extern Oid DefineOpFamily(CreateOpFamilyStmt *stmt); +extern ObjectAddress DefineOpClass(CreateOpClassStmt *stmt); +extern ObjectAddress DefineOpFamily(CreateOpFamilyStmt *stmt); extern Oid AlterOpFamily(AlterOpFamilyStmt *stmt); extern void RemoveOpClassById(Oid opclassOid); extern void RemoveOpFamilyById(Oid opfamilyOid); @@ -90,36 +91,36 @@ extern Oid get_opclass_oid(Oid amID, List *opclassname, bool missing_ok); extern Oid get_opfamily_oid(Oid amID, List *opfamilyname, bool missing_ok); /* commands/tsearchcmds.c */ -extern Oid DefineTSParser(List *names, List *parameters); +extern ObjectAddress DefineTSParser(List *names, List *parameters); extern void RemoveTSParserById(Oid prsId); -extern Oid DefineTSDictionary(List *names, List *parameters); +extern ObjectAddress DefineTSDictionary(List *names, List *parameters); extern void RemoveTSDictionaryById(Oid dictId); -extern Oid AlterTSDictionary(AlterTSDictionaryStmt *stmt); +extern ObjectAddress AlterTSDictionary(AlterTSDictionaryStmt *stmt); -extern Oid DefineTSTemplate(List *names, List *parameters); +extern ObjectAddress DefineTSTemplate(List *names, List *parameters); extern void RemoveTSTemplateById(Oid tmplId); -extern Oid DefineTSConfiguration(List *names, List *parameters); +extern ObjectAddress DefineTSConfiguration(List *names, List *parameters); extern void RemoveTSConfigurationById(Oid cfgId); -extern Oid AlterTSConfiguration(AlterTSConfigurationStmt *stmt); +extern ObjectAddress AlterTSConfiguration(AlterTSConfigurationStmt *stmt); extern text *serialize_deflist(List *deflist); extern List *deserialize_deflist(Datum txt); /* commands/foreigncmds.c */ -extern Oid AlterForeignServerOwner(const char *name, Oid newOwnerId); +extern ObjectAddress AlterForeignServerOwner(const char *name, Oid newOwnerId); extern void AlterForeignServerOwner_oid(Oid, Oid newOwnerId); -extern Oid AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId); +extern ObjectAddress AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId); extern void AlterForeignDataWrapperOwner_oid(Oid fwdId, Oid newOwnerId); -extern Oid CreateForeignDataWrapper(CreateFdwStmt *stmt); -extern Oid AlterForeignDataWrapper(AlterFdwStmt *stmt); +extern ObjectAddress CreateForeignDataWrapper(CreateFdwStmt *stmt); +extern ObjectAddress AlterForeignDataWrapper(AlterFdwStmt *stmt); extern void RemoveForeignDataWrapperById(Oid fdwId); -extern Oid CreateForeignServer(CreateForeignServerStmt *stmt); -extern Oid AlterForeignServer(AlterForeignServerStmt *stmt); +extern ObjectAddress CreateForeignServer(CreateForeignServerStmt *stmt); +extern ObjectAddress AlterForeignServer(AlterForeignServerStmt *stmt); extern void RemoveForeignServerById(Oid srvId); -extern Oid CreateUserMapping(CreateUserMappingStmt *stmt); -extern Oid AlterUserMapping(AlterUserMappingStmt *stmt); +extern ObjectAddress CreateUserMapping(CreateUserMappingStmt *stmt); +extern ObjectAddress AlterUserMapping(AlterUserMappingStmt *stmt); extern Oid RemoveUserMapping(DropUserMappingStmt *stmt); extern void RemoveUserMappingById(Oid umId); extern void CreateForeignTable(CreateForeignTableStmt *stmt, Oid relid); diff --git a/src/include/commands/event_trigger.h b/src/include/commands/event_trigger.h index 9ac9fc37356..7eb21560856 100644 --- a/src/include/commands/event_trigger.h +++ b/src/include/commands/event_trigger.h @@ -43,7 +43,7 @@ extern void RemoveEventTriggerById(Oid ctrigOid); extern Oid get_event_trigger_oid(const char *trigname, bool missing_ok); extern Oid AlterEventTrigger(AlterEventTrigStmt *stmt); -extern Oid AlterEventTriggerOwner(const char *name, Oid newOwnerId); +extern ObjectAddress AlterEventTriggerOwner(const char *name, Oid newOwnerId); extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId); extern bool EventTriggerSupportsObjectType(ObjectType obtype); diff --git a/src/include/commands/extension.h b/src/include/commands/extension.h index a349d6a711b..40ecea2fee4 100644 --- a/src/include/commands/extension.h +++ b/src/include/commands/extension.h @@ -14,6 +14,7 @@ #ifndef EXTENSION_H #define EXTENSION_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" @@ -27,23 +28,25 @@ extern bool creating_extension; extern Oid CurrentExtensionObject; -extern Oid CreateExtension(CreateExtensionStmt *stmt); +extern ObjectAddress CreateExtension(CreateExtensionStmt *stmt); extern void RemoveExtensionById(Oid extId); -extern Oid InsertExtensionTuple(const char *extName, Oid extOwner, +extern ObjectAddress InsertExtensionTuple(const char *extName, Oid extOwner, Oid schemaOid, bool relocatable, const char *extVersion, Datum extConfig, Datum extCondition, List *requiredExtensions); -extern Oid ExecAlterExtensionStmt(AlterExtensionStmt *stmt); +extern ObjectAddress ExecAlterExtensionStmt(AlterExtensionStmt *stmt); -extern Oid ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt); +extern ObjectAddress ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt, + ObjectAddress *objAddress); extern Oid get_extension_oid(const char *extname, bool missing_ok); extern char *get_extension_name(Oid ext_oid); -extern Oid AlterExtensionNamespace(List *names, const char *newschema); +extern ObjectAddress AlterExtensionNamespace(List *names, const char *newschema, + Oid *oldschema); extern void AlterExtensionOwner_oid(Oid extensionOid, Oid newOwnerId); diff --git a/src/include/commands/matview.h b/src/include/commands/matview.h index 91e2eb532a6..37a81aa4285 100644 --- a/src/include/commands/matview.h +++ b/src/include/commands/matview.h @@ -14,6 +14,7 @@ #ifndef MATVIEW_H #define MATVIEW_H +#include "catalog/objectaddress.h" #include "nodes/params.h" #include "nodes/parsenodes.h" #include "tcop/dest.h" @@ -22,7 +23,7 @@ extern void SetMatViewPopulatedState(Relation relation, bool newstate); -extern Oid ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString, +extern ObjectAddress ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString, ParamListInfo params, char *completionTag); extern DestReceiver *CreateTransientRelDestReceiver(Oid oid); diff --git a/src/include/commands/policy.h b/src/include/commands/policy.h index e911fccf830..ac322e0db92 100644 --- a/src/include/commands/policy.h +++ b/src/include/commands/policy.h @@ -15,6 +15,7 @@ #ifndef POLICY_H #define POLICY_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" #include "utils/relcache.h" @@ -22,13 +23,13 @@ extern void RelationBuildRowSecurity(Relation relation); extern void RemovePolicyById(Oid policy_id); -extern Oid CreatePolicy(CreatePolicyStmt *stmt); -extern Oid AlterPolicy(AlterPolicyStmt *stmt); +extern ObjectAddress CreatePolicy(CreatePolicyStmt *stmt); +extern ObjectAddress AlterPolicy(AlterPolicyStmt *stmt); extern Oid get_relation_policy_oid(Oid relid, const char *policy_name, bool missing_ok); -extern Oid rename_policy(RenameStmt *stmt); +extern ObjectAddress rename_policy(RenameStmt *stmt); #endif /* POLICY_H */ diff --git a/src/include/commands/proclang.h b/src/include/commands/proclang.h index f43c321ce23..f056978805d 100644 --- a/src/include/commands/proclang.h +++ b/src/include/commands/proclang.h @@ -12,9 +12,10 @@ #ifndef PROCLANG_H #define PROCLANG_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" -extern Oid CreateProceduralLanguage(CreatePLangStmt *stmt); +extern ObjectAddress CreateProceduralLanguage(CreatePLangStmt *stmt); extern void DropProceduralLanguageById(Oid langOid); extern bool PLTemplateExists(const char *languageName); extern Oid get_language_oid(const char *langname, bool missing_ok); diff --git a/src/include/commands/schemacmds.h b/src/include/commands/schemacmds.h index d08fdd4f6c7..55207a48168 100644 --- a/src/include/commands/schemacmds.h +++ b/src/include/commands/schemacmds.h @@ -15,6 +15,7 @@ #ifndef SCHEMACMDS_H #define SCHEMACMDS_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" extern Oid CreateSchemaCommand(CreateSchemaStmt *parsetree, @@ -22,8 +23,8 @@ extern Oid CreateSchemaCommand(CreateSchemaStmt *parsetree, extern void RemoveSchemaById(Oid schemaOid); -extern Oid RenameSchema(const char *oldname, const char *newname); -extern Oid AlterSchemaOwner(const char *name, Oid newOwnerId); +extern ObjectAddress RenameSchema(const char *oldname, const char *newname); +extern ObjectAddress AlterSchemaOwner(const char *name, Oid newOwnerId); extern void AlterSchemaOwner_oid(Oid schemaOid, Oid newOwnerId); #endif /* SCHEMACMDS_H */ diff --git a/src/include/commands/seclabel.h b/src/include/commands/seclabel.h index 7e3dde4d3a4..661da2b21b0 100644 --- a/src/include/commands/seclabel.h +++ b/src/include/commands/seclabel.h @@ -24,7 +24,7 @@ extern void DeleteSharedSecurityLabel(Oid objectId, Oid classId); /* * Statement and ESP hook support */ -extern Oid ExecSecLabelStmt(SecLabelStmt *stmt); +extern ObjectAddress ExecSecLabelStmt(SecLabelStmt *stmt); typedef void (*check_object_relabel_type) (const ObjectAddress *object, const char *seclabel); diff --git a/src/include/commands/sequence.h b/src/include/commands/sequence.h index 1baf43d3d32..44862bba81d 100644 --- a/src/include/commands/sequence.h +++ b/src/include/commands/sequence.h @@ -14,6 +14,7 @@ #define SEQUENCE_H #include "access/xlogreader.h" +#include "catalog/objectaddress.h" #include "fmgr.h" #include "lib/stringinfo.h" #include "nodes/parsenodes.h" @@ -72,8 +73,8 @@ extern Datum lastval(PG_FUNCTION_ARGS); extern Datum pg_sequence_parameters(PG_FUNCTION_ARGS); -extern Oid DefineSequence(CreateSeqStmt *stmt); -extern Oid AlterSequence(AlterSeqStmt *stmt); +extern ObjectAddress DefineSequence(CreateSeqStmt *stmt); +extern ObjectAddress AlterSequence(AlterSeqStmt *stmt); extern void ResetSequence(Oid seq_relid); extern void ResetSequenceCaches(void); diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h index a55e8d42ee7..f269c635588 100644 --- a/src/include/commands/tablecmds.h +++ b/src/include/commands/tablecmds.h @@ -16,12 +16,14 @@ #include "access/htup.h" #include "catalog/dependency.h" +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" #include "storage/lock.h" #include "utils/relcache.h" -extern Oid DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId); +extern ObjectAddress DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId, + ObjectAddress *typaddress); extern void RemoveRelations(DropStmt *drop); @@ -37,7 +39,8 @@ extern void AlterTableInternal(Oid relid, List *cmds, bool recurse); extern Oid AlterTableMoveAll(AlterTableMoveAllStmt *stmt); -extern Oid AlterTableNamespace(AlterObjectSchemaStmt *stmt); +extern ObjectAddress AlterTableNamespace(AlterObjectSchemaStmt *stmt, + Oid *oldschema); extern void AlterTableNamespaceInternal(Relation rel, Oid oldNspOid, Oid nspOid, ObjectAddresses *objsMoved); @@ -53,11 +56,13 @@ extern void ExecuteTruncate(TruncateStmt *stmt); extern void SetRelationHasSubclass(Oid relationId, bool relhassubclass); -extern Oid renameatt(RenameStmt *stmt); +extern ObjectAddress renameatt(RenameStmt *stmt); -extern Oid RenameConstraint(RenameStmt *stmt); +extern ObjectAddress renameatt_type(RenameStmt *stmt); -extern Oid RenameRelation(RenameStmt *stmt); +extern ObjectAddress RenameConstraint(RenameStmt *stmt); + +extern ObjectAddress RenameRelation(RenameStmt *stmt); extern void RenameRelationInternal(Oid myrelid, const char *newrelname, bool is_internal); diff --git a/src/include/commands/tablespace.h b/src/include/commands/tablespace.h index 70734d60301..86b0477335b 100644 --- a/src/include/commands/tablespace.h +++ b/src/include/commands/tablespace.h @@ -15,6 +15,7 @@ #define TABLESPACE_H #include "access/xlogreader.h" +#include "catalog/objectaddress.h" #include "lib/stringinfo.h" #include "nodes/parsenodes.h" @@ -42,7 +43,7 @@ typedef struct TableSpaceOpts extern Oid CreateTableSpace(CreateTableSpaceStmt *stmt); extern void DropTableSpace(DropTableSpaceStmt *stmt); -extern Oid RenameTableSpace(const char *oldname, const char *newname); +extern ObjectAddress RenameTableSpace(const char *oldname, const char *newname); extern Oid AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt); extern void TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo); diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h index d0c0dccb1f3..1a53f6cde59 100644 --- a/src/include/commands/trigger.h +++ b/src/include/commands/trigger.h @@ -13,6 +13,7 @@ #ifndef TRIGGER_H #define TRIGGER_H +#include "catalog/objectaddress.h" #include "nodes/execnodes.h" #include "nodes/parsenodes.h" @@ -108,14 +109,14 @@ extern PGDLLIMPORT int SessionReplicationRole; #define TRIGGER_FIRES_ON_REPLICA 'R' #define TRIGGER_DISABLED 'D' -extern Oid CreateTrigger(CreateTrigStmt *stmt, const char *queryString, +extern ObjectAddress CreateTrigger(CreateTrigStmt *stmt, const char *queryString, Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, bool isInternal); extern void RemoveTriggerById(Oid trigOid); extern Oid get_trigger_oid(Oid relid, const char *name, bool missing_ok); -extern Oid renametrig(RenameStmt *stmt); +extern ObjectAddress renametrig(RenameStmt *stmt); extern void EnableDisableTrigger(Relation rel, const char *tgname, char fires_when, bool skip_system); diff --git a/src/include/commands/typecmds.h b/src/include/commands/typecmds.h index 0a638002c3c..ef4b41b5a55 100644 --- a/src/include/commands/typecmds.h +++ b/src/include/commands/typecmds.h @@ -21,29 +21,31 @@ #define DEFAULT_TYPDELIM ',' -extern Oid DefineType(List *names, List *parameters); +extern ObjectAddress DefineType(List *names, List *parameters); extern void RemoveTypeById(Oid typeOid); -extern Oid DefineDomain(CreateDomainStmt *stmt); -extern Oid DefineEnum(CreateEnumStmt *stmt); -extern Oid DefineRange(CreateRangeStmt *stmt); -extern Oid AlterEnum(AlterEnumStmt *stmt, bool isTopLevel); -extern Oid DefineCompositeType(RangeVar *typevar, List *coldeflist); +extern ObjectAddress DefineDomain(CreateDomainStmt *stmt); +extern ObjectAddress DefineEnum(CreateEnumStmt *stmt); +extern ObjectAddress DefineRange(CreateRangeStmt *stmt); +extern ObjectAddress AlterEnum(AlterEnumStmt *stmt, bool isTopLevel); +extern ObjectAddress DefineCompositeType(RangeVar *typevar, List *coldeflist); extern Oid AssignTypeArrayOid(void); -extern Oid AlterDomainDefault(List *names, Node *defaultRaw); -extern Oid AlterDomainNotNull(List *names, bool notNull); -extern Oid AlterDomainAddConstraint(List *names, Node *constr); -extern Oid AlterDomainValidateConstraint(List *names, char *constrName); -extern Oid AlterDomainDropConstraint(List *names, const char *constrName, +extern ObjectAddress AlterDomainDefault(List *names, Node *defaultRaw); +extern ObjectAddress AlterDomainNotNull(List *names, bool notNull); +extern ObjectAddress AlterDomainAddConstraint(List *names, Node *constr, + ObjectAddress *constrAddr); +extern ObjectAddress AlterDomainValidateConstraint(List *names, char *constrName); +extern ObjectAddress AlterDomainDropConstraint(List *names, const char *constrName, DropBehavior behavior, bool missing_ok); extern void checkDomainOwner(HeapTuple tup); -extern Oid RenameType(RenameStmt *stmt); -extern Oid AlterTypeOwner(List *names, Oid newOwnerId, ObjectType objecttype); +extern ObjectAddress RenameType(RenameStmt *stmt); +extern ObjectAddress AlterTypeOwner(List *names, Oid newOwnerId, ObjectType objecttype); extern void AlterTypeOwnerInternal(Oid typeOid, Oid newOwnerId, bool hasDependEntry); -extern Oid AlterTypeNamespace(List *names, const char *newschema, ObjectType objecttype); +extern ObjectAddress AlterTypeNamespace(List *names, const char *newschema, + ObjectType objecttype, Oid *oldschema); extern Oid AlterTypeNamespace_oid(Oid typeOid, Oid nspOid, ObjectAddresses *objsMoved); extern Oid AlterTypeNamespaceInternal(Oid typeOid, Oid nspOid, bool isImplicitArray, diff --git a/src/include/commands/user.h b/src/include/commands/user.h index d76685182f8..ccadb04b8c7 100644 --- a/src/include/commands/user.h +++ b/src/include/commands/user.h @@ -11,6 +11,7 @@ #ifndef USER_H #define USER_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" @@ -27,7 +28,7 @@ extern Oid AlterRole(AlterRoleStmt *stmt); extern Oid AlterRoleSet(AlterRoleSetStmt *stmt); extern void DropRole(DropRoleStmt *stmt); extern void GrantRole(GrantRoleStmt *stmt); -extern Oid RenameRole(const char *oldname, const char *newname); +extern ObjectAddress RenameRole(const char *oldname, const char *newname); extern void DropOwnedObjects(DropOwnedStmt *stmt); extern void ReassignOwnedObjects(ReassignOwnedStmt *stmt); extern List *roleNamesToIds(List *memberNames); diff --git a/src/include/commands/view.h b/src/include/commands/view.h index 595d2663f16..53db76e6c62 100644 --- a/src/include/commands/view.h +++ b/src/include/commands/view.h @@ -14,11 +14,12 @@ #ifndef VIEW_H #define VIEW_H +#include "catalog/objectaddress.h" #include "nodes/parsenodes.h" extern void validateWithCheckOption(char *value); -extern Oid DefineView(ViewStmt *stmt, const char *queryString); +extern ObjectAddress DefineView(ViewStmt *stmt, const char *queryString); extern void StoreViewQuery(Oid viewOid, Query *viewParse, bool replace); |