mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
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
This commit is contained in:
@ -10147,7 +10147,7 @@ CloneFkReferenced(Relation parentRel, Relation partitionRel)
|
||||
Oid deleteTriggerOid,
|
||||
updateTriggerOid;
|
||||
|
||||
tuple = SearchSysCache1(CONSTROID, constrOid);
|
||||
tuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(constrOid));
|
||||
if (!HeapTupleIsValid(tuple))
|
||||
elog(ERROR, "cache lookup failed for constraint %u", constrOid);
|
||||
constrForm = (Form_pg_constraint) GETSTRUCT(tuple);
|
||||
@ -10353,7 +10353,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel)
|
||||
Oid insertTriggerOid,
|
||||
updateTriggerOid;
|
||||
|
||||
tuple = SearchSysCache1(CONSTROID, parentConstrOid);
|
||||
tuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(parentConstrOid));
|
||||
if (!HeapTupleIsValid(tuple))
|
||||
elog(ERROR, "cache lookup failed for constraint %u",
|
||||
parentConstrOid);
|
||||
@ -13723,7 +13723,7 @@ ATExecAlterColumnGenericOptions(Relation rel,
|
||||
|
||||
/* First, determine FDW validator associated to the foreign table. */
|
||||
ftrel = table_open(ForeignTableRelationId, AccessShareLock);
|
||||
tuple = SearchSysCache1(FOREIGNTABLEREL, rel->rd_id);
|
||||
tuple = SearchSysCache1(FOREIGNTABLEREL, ObjectIdGetDatum(rel->rd_id));
|
||||
if (!HeapTupleIsValid(tuple))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_UNDEFINED_OBJECT),
|
||||
@ -16186,7 +16186,8 @@ ATExecGenericOptions(Relation rel, List *options)
|
||||
|
||||
ftrel = table_open(ForeignTableRelationId, RowExclusiveLock);
|
||||
|
||||
tuple = SearchSysCacheCopy1(FOREIGNTABLEREL, rel->rd_id);
|
||||
tuple = SearchSysCacheCopy1(FOREIGNTABLEREL,
|
||||
ObjectIdGetDatum(rel->rd_id));
|
||||
if (!HeapTupleIsValid(tuple))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_UNDEFINED_OBJECT),
|
||||
|
Reference in New Issue
Block a user