diff options
author | Michael Paquier <michael@paquier.xyz> | 2023-07-20 15:18:25 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2023-07-20 15:18:25 +0900 |
commit | 2a990abd79acea4717cc8f982a28f35b6b347ddb (patch) | |
tree | 2a5b181b6d75fe5cd20367a327cd80f7e0cca868 /src/backend/utils | |
parent | 47556a0013fa64d44add2760577d49cf2eca4cd0 (diff) |
Add missing ObjectIdGetDatum() in syscache lookup calls for Oids
Based on how postgres.h foes the Oid <-> Datum conversion, there is no
existing bugs but let's be consistent. 17 spots have been noticed as
incorrectly passing down Oids rather than Datums. Aleksander got one,
Zhang two and I the rest.
Author: Michael Paquier, Aleksander Alekseev, Zhang Mingli
Discussion: https://postgr.es/m/ZLUhqsqQN1MOaxdw@paquier.xyz
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/adt/acl.c | 4 | ||||
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 2 | ||||
-rw-r--r-- | src/backend/utils/cache/lsyscache.c | 6 | ||||
-rw-r--r-- | src/backend/utils/cache/partcache.c | 3 |
4 files changed, 9 insertions, 6 deletions
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 883e09393a4..27eabb80abc 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -5334,13 +5334,13 @@ get_rolespec_tuple(const RoleSpec *role) case ROLESPEC_CURRENT_ROLE: case ROLESPEC_CURRENT_USER: - tuple = SearchSysCache1(AUTHOID, GetUserId()); + tuple = SearchSysCache1(AUTHOID, ObjectIdGetDatum(GetUserId())); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for role %u", GetUserId()); break; case ROLESPEC_SESSION_USER: - tuple = SearchSysCache1(AUTHOID, GetSessionUserId()); + tuple = SearchSysCache1(AUTHOID, ObjectIdGetDatum(GetSessionUserId())); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for role %u", GetSessionUserId()); break; diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index d3a973d86b7..fcb2f45f623 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -3283,7 +3283,7 @@ print_function_arguments(StringInfo buf, HeapTuple proctup, HeapTuple aggtup; Form_pg_aggregate agg; - aggtup = SearchSysCache1(AGGFNOID, proc->oid); + aggtup = SearchSysCache1(AGGFNOID, ObjectIdGetDatum(proc->oid)); if (!HeapTupleIsValid(aggtup)) elog(ERROR, "cache lookup failed for aggregate %u", proc->oid); diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c index 2c01a86c292..fc6d267e44c 100644 --- a/src/backend/utils/cache/lsyscache.c +++ b/src/backend/utils/cache/lsyscache.c @@ -2106,7 +2106,8 @@ get_transform_fromsql(Oid typid, Oid langid, List *trftypes) if (!list_member_oid(trftypes, typid)) return InvalidOid; - tup = SearchSysCache2(TRFTYPELANG, typid, langid); + tup = SearchSysCache2(TRFTYPELANG, ObjectIdGetDatum(typid), + ObjectIdGetDatum(langid)); if (HeapTupleIsValid(tup)) { Oid funcid; @@ -2127,7 +2128,8 @@ get_transform_tosql(Oid typid, Oid langid, List *trftypes) if (!list_member_oid(trftypes, typid)) return InvalidOid; - tup = SearchSysCache2(TRFTYPELANG, typid, langid); + tup = SearchSysCache2(TRFTYPELANG, ObjectIdGetDatum(typid), + ObjectIdGetDatum(langid)); if (HeapTupleIsValid(tup)) { Oid funcid; diff --git a/src/backend/utils/cache/partcache.c b/src/backend/utils/cache/partcache.c index 5f3516ad0c2..c6c0d5a00f6 100644 --- a/src/backend/utils/cache/partcache.c +++ b/src/backend/utils/cache/partcache.c @@ -365,7 +365,8 @@ generate_partition_qual(Relation rel) parent = relation_open(parentrelid, AccessShareLock); /* Get pg_class.relpartbound */ - tuple = SearchSysCache1(RELOID, RelationGetRelid(rel)); + tuple = SearchSysCache1(RELOID, + ObjectIdGetDatum(RelationGetRelid(rel))); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for relation %u", RelationGetRelid(rel)); |