85 #define PERFORM_DELETION_INTERNAL 0x0001
86 #define PERFORM_DELETION_CONCURRENTLY 0x0002
87 #define PERFORM_DELETION_QUIETLY 0x0004
88 #define PERFORM_DELETION_SKIP_ORIGINAL 0x0008
89 #define PERFORM_DELETION_SKIP_EXTENSIONS 0x0010
90 #define PERFORM_DELETION_CONCURRENT_LOCK 0x0020
149 bool skipExtensionDeps);
152 Oid refclassId,
char deptype);
156 Oid refclassId,
Oid refobjectId);
159 Oid refClassId,
Oid oldRefObjectId,
197 Oid newTablespaceId);
201 int noldmembers,
Oid *oldmembers,
202 int nnewmembers,
Oid *newmembers);
205 char **detail_msg,
char **detail_log_msg);
void performMultipleDeletions(const ObjectAddresses *objects, DropBehavior behavior, int flags)
void checkMembershipInCurrentExtension(const ObjectAddress *object)
void recordMultipleDependencies(const ObjectAddress *depender, const ObjectAddress *referenced, int nreferenced, DependencyType behavior)
void record_object_address_dependencies(const ObjectAddress *depender, ObjectAddresses *referenced, DependencyType behavior)
void recordDependencyOn(const ObjectAddress *depender, const ObjectAddress *referenced, DependencyType behavior)
long changeDependencyFor(Oid classId, Oid objectId, Oid refClassId, Oid oldRefObjectId, Oid newRefObjectId)
@ DEPENDENCY_AUTO_EXTENSION
@ DEPENDENCY_PARTITION_PRI
@ DEPENDENCY_PARTITION_SEC
void sort_object_addresses(ObjectAddresses *addrs)
@ SHARED_DEPENDENCY_TABLESPACE
@ SHARED_DEPENDENCY_INVALID
@ SHARED_DEPENDENCY_POLICY
@ SHARED_DEPENDENCY_OWNER
List * getAutoExtensionsOfObject(Oid classId, Oid objectId)
void dropDatabaseDependencies(Oid databaseId)
void changeDependencyOnOwner(Oid classId, Oid objectId, Oid newOwnerId)
long deleteDependencyRecordsForClass(Oid classId, Oid objectId, Oid refclassId, char deptype)
Oid getExtensionOfObject(Oid classId, Oid objectId)
void AcquireDeletionLock(const ObjectAddress *object, int flags)
void copyTemplateDependencies(Oid templateDbId, Oid newDbId)
long changeDependenciesOf(Oid classId, Oid oldObjectId, Oid newObjectId)
void performDeletion(const ObjectAddress *object, DropBehavior behavior, int flags)
void deleteSharedDependencyRecordsFor(Oid classId, Oid objectId, int32 objectSubId)
void updateAclDependencies(Oid classId, Oid objectId, int32 objsubId, Oid ownerId, int noldmembers, Oid *oldmembers, int nnewmembers, Oid *newmembers)
void recordDependencyOnOwner(Oid classId, Oid objectId, Oid owner)
long deleteDependencyRecordsFor(Oid classId, Oid objectId, bool skipExtensionDeps)
bool checkSharedDependencies(Oid classId, Oid objectId, char **detail_msg, char **detail_log_msg)
void recordDependencyOnTablespace(Oid classId, Oid objectId, Oid tablespace)
long deleteDependencyRecordsForSpecific(Oid classId, Oid objectId, char deptype, Oid refclassId, Oid refobjectId)
long changeDependenciesOn(Oid refClassId, Oid oldRefObjectId, Oid newRefObjectId)
void ReleaseDeletionLock(const ObjectAddress *object)
void shdepDropOwned(List *roleids, DropBehavior behavior)
void recordDependencyOnSingleRelExpr(const ObjectAddress *depender, Node *expr, Oid relId, DependencyType behavior, DependencyType self_behavior, bool reverse_self)
void recordDependencyOnExpr(const ObjectAddress *depender, Node *expr, List *rtable, DependencyType behavior)
void recordSharedDependencyOn(ObjectAddress *depender, ObjectAddress *referenced, SharedDependencyType deptype)
void shdepLockAndCheckObject(Oid classId, Oid objectId)
bool object_address_present(const ObjectAddress *object, const ObjectAddresses *addrs)
ObjectAddresses * new_object_addresses(void)
Oid get_index_constraint(Oid indexId)
List * get_index_ref_constraints(Oid indexId)
void add_exact_object_address(const ObjectAddress *object, ObjectAddresses *addrs)
Oid getIdentitySequence(Oid relid, AttrNumber attnum, bool missing_ok)
void recordDependencyOnCurrentExtension(const ObjectAddress *object, bool isReplace)
List * getOwnedSequences(Oid relid)
void changeDependencyOnTablespace(Oid classId, Oid objectId, Oid newTablespaceId)
void shdepReassignOwned(List *roleids, Oid newrole)
bool sequenceIsOwned(Oid seqId, char deptype, Oid *tableId, int32 *colId)
void free_object_addresses(ObjectAddresses *addrs)