These functions took a ResourceOwner argument, but only checked if it
was NULL, and then used CurrentResourceOwner for the actual work.
Surely the intention was to use the passed-in resource owner. All
current callers passed CurrentResourceOwner or NULL, so this has no
consequences at the moment, but it's an accident waiting to happen for
future caller and extensions.
Author: Matthias van de Meent <
[email protected]>
Discussion: https://www.postgresql.org/message-id/CAEze2Whnfv8VuRZaohE-Af+GxBA1SNfD_rXfm84Jv-958UCcJA@mail.gmail.com
Backpatch-through: 17
ct->refcount--;
if (resowner)
- ResourceOwnerForgetCatCacheRef(CurrentResourceOwner, &ct->tuple);
+ ResourceOwnerForgetCatCacheRef(resowner, &ct->tuple);
if (
#ifndef CATCACHE_FORCE_RELEASE
Assert(list->refcount > 0);
list->refcount--;
if (resowner)
- ResourceOwnerForgetCatCacheListRef(CurrentResourceOwner, list);
+ ResourceOwnerForgetCatCacheListRef(resowner, list);
if (
#ifndef CATCACHE_FORCE_RELEASE