diff options
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r-- | src/backend/utils/adt/acl.c | 3 | ||||
-rw-r--r-- | src/backend/utils/adt/regproc.c | 8 | ||||
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 11 |
3 files changed, 15 insertions, 7 deletions
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 4a3e241c415..3fa95e2fd39 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -1939,7 +1939,8 @@ convert_table_name(text *tablename) relrv = makeRangeVarFromNameList(textToQualifiedNameList(tablename)); - return RangeVarGetRelid(relrv, false); + /* We might not even have permissions on this relation; don't lock it. */ + return RangeVarGetRelid(relrv, NoLock, false, false); } /* diff --git a/src/backend/utils/adt/regproc.c b/src/backend/utils/adt/regproc.c index 6716c0204c1..0d42a39ec43 100644 --- a/src/backend/utils/adt/regproc.c +++ b/src/backend/utils/adt/regproc.c @@ -823,7 +823,9 @@ regclassin(PG_FUNCTION_ARGS) */ names = stringToQualifiedNameList(class_name_or_oid); - result = RangeVarGetRelid(makeRangeVarFromNameList(names), false); + /* We might not even have permissions on this relation; don't lock it. */ + result = RangeVarGetRelid(makeRangeVarFromNameList(names), NoLock, false, + false); PG_RETURN_OID(result); } @@ -1294,7 +1296,9 @@ text_regclass(PG_FUNCTION_ARGS) RangeVar *rv; rv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); - result = RangeVarGetRelid(rv, false); + + /* We might not even have permissions on this relation; don't lock it. */ + result = RangeVarGetRelid(rv, NoLock, false, false); PG_RETURN_OID(result); } diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 49dc9c88d52..3fd99e00e36 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -385,8 +385,9 @@ pg_get_viewdef_name(PG_FUNCTION_ARGS) RangeVar *viewrel; Oid viewoid; + /* Look up view name. Can't lock it - we might not have privileges. */ viewrel = makeRangeVarFromNameList(textToQualifiedNameList(viewname)); - viewoid = RangeVarGetRelid(viewrel, false); + viewoid = RangeVarGetRelid(viewrel, NoLock, false, false); PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, 0))); } @@ -403,8 +404,10 @@ pg_get_viewdef_name_ext(PG_FUNCTION_ARGS) Oid viewoid; prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + + /* Look up view name. Can't lock it - we might not have privileges. */ viewrel = makeRangeVarFromNameList(textToQualifiedNameList(viewname)); - viewoid = RangeVarGetRelid(viewrel, false); + viewoid = RangeVarGetRelid(viewrel, NoLock, false, false); PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, prettyFlags))); } @@ -1567,9 +1570,9 @@ pg_get_serial_sequence(PG_FUNCTION_ARGS) SysScanDesc scan; HeapTuple tup; - /* Get the OID of the table */ + /* Look up table name. Can't lock it - we might not have privileges. */ tablerv = makeRangeVarFromNameList(textToQualifiedNameList(tablename)); - tableOid = RangeVarGetRelid(tablerv, false); + tableOid = RangeVarGetRelid(tablerv, NoLock, false, false); /* Get the number of the column */ column = text_to_cstring(columnname); |