Re: [BUGS] object_classes array is broken, again - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [BUGS] object_classes array is broken, again
Date
Msg-id 20150720163315.GS2301@postgresql.org
Whole thread Raw
In response to Re: [BUGS] object_classes array is broken, again  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [BUGS] object_classes array is broken, again  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> > Any opinions on this idea?  I don't like it all that much, but it's
> > plenty effective.
>
> I don't like it much either.
>
> What about adding StaticAsserts that lengthof() the relevant constant
> arrays is equal to MAX_OCLASS?  (Or other similar ways of checking
> that they have the right number of entries.)

Well, the array itself is declared like this:
    static const Oid object_classes[MAX_OCLASS] = {
so testing lengthof() of it is useless because it's a constant and the
assertion always holds.  If it were declared like this instead:
    static const Oid object_classes[] = {
then we could use lengthof().

I don't see any drawwbacks to that.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: All-zero page in GIN index causes assertion failure
Next
From: Alvaro Herrera
Date:
Subject: Re: Typo in comment in setrefs.c