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 20150721113839.GD5596@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  (Jaimin Pan <jaimin.pan@gmail.com>)
List pgsql-hackers
Tom Lane wrote:
> I wrote:
> > +1 to this patch, in fact I think we could remove MAX_OCLASS altogether
> > which would be very nice for switch purposes.
> 
> Oh, wait, I forgot that the patch itself introduces another reference to
> MAX_OCLASS.  I wonder though if we should get rid of that as an enum value
> in favor of #define'ing a LAST_OCLASS macro referencing the last enum
> item, or some other trick like that.  It's certainly inconvenient in
> event_trigger.c to have a phony member of the enum.

Yeah, that works well enough.  Pushed that way.

> Are there any other arrays that need such tests?

I looked around with this:

git grep 'const.*\[.*[^][0-9].*\].*=.*{'

and found one suspicious-looking use of MAX_ACL_KIND which we could
perhaps define in a way equivalent to what we've done here.  We also
have RM_MAX_ID in a couple of arrays but that looks safe because both
the values and the arrays are auto-generated.

We also have MAX_TIME_PRECISION, MAX_TIMESTAMP_PRECISION,
MAX_INTERVAL_PRECISION, MAXDATEFIELDS, KeyWord_INDEX_SIZE, but these
don't look likely to actually cause any trouble.

(There are many arrays sized to numerical constants, but there are about
5000 of those and I'm not in a hurry to verify how they are used.)

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



pgsql-hackers by date:

Previous
From: Ildus Kurbangaliev
Date:
Subject: Re: RFC: replace pg_stat_activity.waiting with something more descriptive
Next
From: Heikki Linnakangas
Date:
Subject: Re: Fillfactor for GIN indexes