92#define PERFORM_DELETION_INTERNAL 0x0001
93#define PERFORM_DELETION_CONCURRENTLY 0x0002
94#define PERFORM_DELETION_QUIETLY 0x0004
95#define PERFORM_DELETION_SKIP_ORIGINAL 0x0008
96#define PERFORM_DELETION_SKIP_EXTENSIONS 0x0010
97#define PERFORM_DELETION_CONCURRENT_LOCK 0x0020
156 bool skipExtensionDeps);
159 Oid refclassId,
char deptype);
163 Oid refclassId,
Oid refobjectId);
166 Oid refClassId,
Oid oldRefObjectId,
204 Oid newTablespaceId);
208 int noldmembers,
Oid *oldmembers,
209 int nnewmembers,
Oid *newmembers);
212 int noldmembers,
Oid *oldmembers,
213 int nnewmembers,
Oid *newmembers);
216 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_INITACL
@ SHARED_DEPENDENCY_TABLESPACE
@ SHARED_DEPENDENCY_INVALID
@ SHARED_DEPENDENCY_POLICY
@ SHARED_DEPENDENCY_OWNER
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)
List * get_index_ref_constraints(Oid indexId)
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 updateInitAclDependencies(Oid classId, Oid objectId, int32 objsubId, int noldmembers, Oid *oldmembers, int nnewmembers, Oid *newmembers)
List * getOwnedSequences(Oid relid)
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)
Oid getIdentitySequence(Relation rel, AttrNumber attnum, bool missing_ok)
void shdepLockAndCheckObject(Oid classId, Oid objectId)
bool object_address_present(const ObjectAddress *object, const ObjectAddresses *addrs)
Oid get_index_constraint(Oid indexId)
void add_exact_object_address(const ObjectAddress *object, ObjectAddresses *addrs)
void recordDependencyOnCurrentExtension(const ObjectAddress *object, bool isReplace)
ObjectAddresses * new_object_addresses(void)
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)
List * getAutoExtensionsOfObject(Oid classId, Oid objectId)