Skip to content

Commit 8a8c6b5

Browse files
committed
Fix crash when pg_get_viewdef_name_ext() is passed a non-view relation.
Oversight in commit 976b24f. Andreas Seltenreich Report: <87y448l3ag.fsf@credativ.de>
1 parent 9ee1cf0 commit 8a8c6b5

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/backend/utils/adt/ruleutils.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,14 +671,20 @@ pg_get_viewdef_name_ext(PG_FUNCTION_ARGS)
671671
int prettyFlags;
672672
RangeVar *viewrel;
673673
Oid viewoid;
674+
char *res;
674675

675676
prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT;
676677

677678
/* Look up view name. Can't lock it - we might not have privileges. */
678679
viewrel = makeRangeVarFromNameList(textToQualifiedNameList(viewname));
679680
viewoid = RangeVarGetRelid(viewrel, NoLock, false);
680681

681-
PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT)));
682+
res = pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT);
683+
684+
if (res == NULL)
685+
PG_RETURN_NULL();
686+
687+
PG_RETURN_TEXT_P(string_to_text(res));
682688
}
683689

684690
/*

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy