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
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 updateInitAclDependencies(Oid classId, Oid objectId, int32 objsubId, 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)
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)
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)
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)