null-objdesc.patch
text/x-diff
Filename: null-objdesc.patch
Type: text/x-diff
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/catalog/dependency.c | 4 | 0 |
| src/backend/catalog/pg_shdepend.c | 6 | 0 |
diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c
index 76b65e39c4..d9a00aab85 100644
--- a/src/backend/catalog/dependency.c
+++ b/src/backend/catalog/dependency.c
@@ -1092,6 +1092,10 @@ reportDependentObjects(const ObjectAddresses *targetObjects,
objDesc = getObjectDescription(obj, false);
+ /* An object being dropped concurrently doesn't need to be reported */
+ if (objDesc == NULL)
+ continue;
+
/*
* If, at any stage of the recursive search, we reached the object via
* an AUTO, INTERNAL, PARTITION, or EXTENSION dependency, then it's
diff --git a/src/backend/catalog/pg_shdepend.c b/src/backend/catalog/pg_shdepend.c
index 4b676f5607..e9bf16af3e 100644
--- a/src/backend/catalog/pg_shdepend.c
+++ b/src/backend/catalog/pg_shdepend.c
@@ -1231,6 +1231,12 @@ storeObjectDescription(StringInfo descs,
{
char *objdesc = getObjectDescription(object, false);
+ /*
+ * An object being dropped concurrently doesn't need to be reported.
+ */
+ if (objdesc == NULL)
+ return;
+
/* separate entries with a newline */
if (descs->len != 0)
appendStringInfoChar(descs, '\n');