Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> What I thought could have happened is that the table was truncated, and
> then the sinval message telling that to other backends was not sent due
> to the rollback.
Hmm.
> So far as I can see, what we need is to make sure the sinval message is
> sent regardless of transaction commit/abort. How can that be done?
I would argue that once we've truncated, it's too late to abort. The
interrupt facility should be disabled from just before issuing the
truncate till after commit. It would probably be relatively painless to
do that with some manipulation of the interrupt holdoff stuff.
regards, tom lane