Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Tom Lane wrote:
>> 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().
Ah. I think the point of using MAX_OCLASS there was to get a warning
if the array was too short, but evidently it doesn't work like that.
> I don't see any drawwbacks to that.
+1 to this patch, in fact I think we could remove MAX_OCLASS altogether
which would be very nice for switch purposes.
Are there any other arrays that need such tests?
regards, tom lane