Robert Haas <robertmh...@gmail.com> writes: > On Sat, Apr 8, 2017 at 3:57 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> This makes me wonder whether we were being penny-wise and pound-foolish >> by not making Bitmapsets be a kind of Node, so that there could be IsA >> assertions in the bitmapset.c routines, as there are for Lists.
> I think it's pretty dubious to change this, honestly. Just because it > would have caught this one bug doesn't make it an especially valuable > thing in general. Bytes are still not free. Yeah, true. OTOH I recall Andres lobbying to change the bitmap word size to 64 bits on 64-bit hardware, and it *would* be free in that case due to alignment padding. What I think I might do is write a trial patch that turns Bitmapsets into Nodes, and see if it catches any other existing bugs. If it does not, that would be good evidence for your position. We could also consider installing the nodetag only in Assert-enabled builds, although that approach would prevent us from applying followon simplifications such as not having to treat bitmapset fields specially in copyfuncs.c and like places. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers