Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Nov 24, 2010 at 10:25 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Or make it execute only in assert-enabled mode, perhaps.
> But making the check execute only in assert-enabled more
> doesn't seem right, since the check actually acts to mask other coding
> errors, rather than reveal them. Maybe we replace the check with one
> that only occurs in an Assert-enabled build and just loops through and
> does Assert(PrivateRefCount[i] == 0).
Yeah, that would be sensible. There is precedent for this elsewhere
too; I think there's a similar setup for checking buffer refcounts
during transaction cleanup.
> I'm not sure exactly where this
> gets called in the shutdown sequence, though - is it sensible to
> Assert() here?
Assert is sensible anywhere.
regards, tom lane