Here's an updated version of both patches, as well as a third patch that
converts the cc_node list link in catcache.c into an slist.
There are very few changes here; in ilist.h a singleton slist was being
considered empty. Andres reported this to me privately. One other
change is that in catcache.c we no longer compute a new HASH_INDEX on a
CatCTup in order to remove it from its list; instead we store a pointer
to the list in the element itself. We weren't able to measure any
difference between these two approaches to the problem, so we chose the
approach that hasn't been previously vetoed -- see
http://archives.postgresql.org/message-id/2852.1174575239%40sss.pgh.pa.us
I also addressed the unused_attr thingy by taking it out and having the
non-debug version emit a cast to void of the argument.
I think I would get this committed during CF2, and then have a look at
changing some uses of SHM_QUEUE with ilists too.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services