aboutsummaryrefslogtreecommitdiff
path: root/src/include/catalog/dependency.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/catalog/dependency.h')
-rw-r--r--src/include/catalog/dependency.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/include/catalog/dependency.h b/src/include/catalog/dependency.h
index 3baa5e498aa..901d5019cdf 100644
--- a/src/include/catalog/dependency.h
+++ b/src/include/catalog/dependency.h
@@ -160,7 +160,8 @@ extern void recordDependencyOnSingleRelExpr(const ObjectAddress *depender,
Node *expr, Oid relId,
DependencyType behavior,
DependencyType self_behavior,
- bool reverse_self);
+ bool reverse_self,
+ bool record_version);
extern ObjectClass getObjectClass(const ObjectAddress *object);
@@ -180,17 +181,30 @@ extern void sort_object_addresses(ObjectAddresses *addrs);
extern void free_object_addresses(ObjectAddresses *addrs);
+typedef bool(*VisitDependenciesOfCB) (const ObjectAddress *otherObject,
+ const char *version,
+ char **new_version,
+ void *data);
+
+extern void visitDependenciesOf(const ObjectAddress *object,
+ VisitDependenciesOfCB callback,
+ void *data);
+
/* in pg_depend.c */
extern void recordDependencyOn(const ObjectAddress *depender,
const ObjectAddress *referenced,
DependencyType behavior);
+extern void recordDependencyOnCollations(ObjectAddress *myself,
+ List *collations,
+ bool record_version);
+
extern void recordMultipleDependencies(const ObjectAddress *depender,
const ObjectAddress *referenced,
int nreferenced,
- const char *version,
- DependencyType behavior);
+ DependencyType behavior,
+ bool record_version);
extern void recordDependencyOnCurrentExtension(const ObjectAddress *object,
bool isReplace);
@@ -209,10 +223,9 @@ extern long changeDependencyFor(Oid classId, Oid objectId,
Oid refClassId, Oid oldRefObjectId,
Oid newRefObjectId);
-extern long changeDependenciesOf(Oid classId, Oid oldObjectId,
+long changeDependenciesOf(Oid classId, Oid oldObjectId,
Oid newObjectId);
-
-extern long changeDependenciesOn(Oid refClassId, Oid oldRefObjectId,
+long changeDependenciesOn(Oid refClassId, Oid oldRefObjectId,
Oid newRefObjectId);
extern Oid getExtensionOfObject(Oid classId, Oid objectId);