Prev: Recent vendor SSL renegotiation patches break PostgreSQL
Next: [HACKERS] use of dblink_build_sql_insert() induces a server crash
From: Tom Lane on 3 Feb 2010 10:48 Simon Riggs <simon(a)2ndQuadrant.com> writes: > On Wed, 2010-02-03 at 01:14 +0000, Tom Lane wrote: >> 1. Get rid of inval.c's dependency on relfilenode, by not having it emit >> smgr invalidations as a result of relcache flushes. Instead, smgr sinval >> messages are sent directly from smgr.c when an actual relation delete or >> truncate is done. This makes considerably more structural sense and allows >> elimination of a large number of useless smgr inval messages that were >> formerly sent even in cases where nothing was changing at the >> physical-relation level. Note that this reintroduces the concept of >> nontransactional inval messages, but that's okay --- because the messages >> are sent by smgr.c, they will be sent in Hot Standby slaves, just from a >> lower logical level than before. > Presumably this means that SHAREDINVALSMGR_ID messages are no longer > part of the invalidation messages attached to a commit record? Correct. > If so, there is some minor code cleanup and comment changes in > ProcessCommittedInvalidationMessages(). Would you like me to do that, or > should we wait? I saw that. I didn't touch it because it's not directly relevant to what I'm doing right now, but I would like to go back and see whether that routine can't be got rid of completely. It seems to me to be a very klugy substitute for having enough information. I'm inclined to think that we should emit an sinval message (or maybe better a separate WAL entry) for initfile removal, instead of trying to reverse-engineer whether one happened. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |