Expose an API for calculating catcache hash values.
Tom Lane <tgl@sss.pgh.pa.us>
Expose an API for calculating catcache hash values. Now that cache invalidation callbacks get only a hash value, and not a tuple TID (per commits 632ae6829f7abda34e15082c91d9dfb3fc0f298b and b5282aa893e565b7844f8237462cb843438cdd5e), the only way they can restrict what they invalidate is to know what the hash values mean. setrefs.c was doing this via a hard-wired assumption but that seems pretty grotty, and it'll only get worse as more cases come up. So let's expose a calculation function that takes the same parameters as SearchSysCache. Per complaint from Marko Kreen.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/plan/setrefs.c | modified | +3 −7 |
| src/backend/utils/cache/catcache.c | modified | +40 −0 |
| src/backend/utils/cache/syscache.c | modified | +24 −0 |
| src/include/utils/catcache.h | modified | +4 −0 |
| src/include/utils/syscache.h | modified | +12 −0 |