]> granicus.if.org Git - postgresql/commit
Fix SysCacheGetAttr() to handle the case where the specified syscache has not
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Oct 2006 18:23:35 +0000 (18:23 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Oct 2006 18:23:35 +0000 (18:23 +0000)
commit6ea8f495737f35f9d34a6c0d96b1174117066702
treeaaa21632f541fa7a75f0a9745cf45ae6ae78fa32
parentb9b4f10b5b20525d3ee0fec4dc4c8c19bf3a71de
Fix SysCacheGetAttr() to handle the case where the specified syscache has not
been initialized yet.  This can happen because there are code paths that call
SysCacheGetAttr() on a tuple originally fetched from a different syscache
(hopefully on the same catalog) than the one specified in the call.  It
doesn't seem useful or robust to try to prevent that from happening, so just
improve the function to cope instead.  Per bug#2678 from Jeff Trout.  The
specific example shown by Jeff is new in 8.1, but to be on the safe side
I'm backpatching 8.0 as well.  We could patch 7.x similarly but I think
that's probably overkill, given the lack of evidence of old bugs of this ilk.
src/backend/utils/cache/catcache.c
src/backend/utils/cache/syscache.c
src/include/utils/catcache.h