133 #define LAST_OCLASS OCLASS_TRANSFORM
136 #define PERFORM_DELETION_INTERNAL 0x0001
137 #define PERFORM_DELETION_CONCURRENTLY 0x0002
138 #define PERFORM_DELETION_QUIETLY 0x0004
139 #define PERFORM_DELETION_SKIP_ORIGINAL 0x0008
140 #define PERFORM_DELETION_SKIP_EXTENSIONS 0x0010
141 #define PERFORM_DELETION_CONCURRENT_LOCK 0x0020
202 bool skipExtensionDeps);
205 Oid refclassId,
char deptype);
209 Oid refclassId,
Oid refobjectId);
212 Oid refClassId,
Oid oldRefObjectId,
250 Oid newTablespaceId);
254 int noldmembers,
Oid *oldmembers,
255 int nnewmembers,
Oid *newmembers);
258 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)
ObjectClass getObjectClass(const ObjectAddress *object)
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)
@ OCLASS_PUBLICATION_NAMESPACE
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)