On Sun, Apr 21, 2013 at 11:06 AM, Peter Geoghegan <p...@heroku.com> wrote:
> On Sat, Apr 20, 2013 at 10:02 PM, Bruce Momjian <br...@momjian.us> wrote: > > I will be working on polishing them for the next ten days, so any > > feedback, patches, or commits are welcome. I still need to add lots of > > SGML markup. > > I've noticed a few things: > > * Allow heap-only tuple updates on system tables (Andres Freund) > > Didn't Andres just fix a bug wherein HOT updates usually wouldn't > occur on system tables following the commit of the foreign key locks > patch? While HOT's development occurred at a time before I followed > pgsql-hackers, I seem to recall someone telling me that Tom insisted > upon HOT working with system catalogs specifically because if it > wasn't good enough to work there, it wasn't good enough to work > anywhere, or something like that. I guess the source of the confusion > is specifically that at one point HOT really didn't work with system > catalogs. But, if I'm not mistaken, never in a released version. > > Yeah, HOT was always supported on the system tables in the released versions. Early days, I tried to convince Tom that its OK to not support HOT on system tables because updating it frequently is not that common. But he rejected that on the grounds you explained above. Similarly, we had other limitations such as CREATE INDEX CONCURRENTLY was broken in the early submitted versions, but Tom insisted on getting that to work as well before he will consider the patch. In retrospect, even though we had to burn midnight oil to get all those limitations straight up, IMHO it made the code more solid. Of course, Tom had a magic eye to find many corner cases, fix them and simplify the code before committing the patch. Andreas reported and fixed a bug which was an oversight in the FK locks patch. I think he also discovered an old bug that the tableoid was not being properly checked for HOT conditions but that had very limited impact since its not common to have indexes on tableoids. Thanks, Pavan -- Pavan Deolasee http://www.linkedin.com/in/pavandeolasee