Re: IntArray in c.h - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: IntArray in c.h
Date
Msg-id 1262264830.31337.16.camel@fsopti579.F-Secure.com
Whole thread Raw
In response to Re: IntArray in c.h  (Hitoshi Harada <umi.tanuki@gmail.com>)
Responses Re: IntArray in c.h  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On ons, 2009-12-30 at 11:46 +0900, Hitoshi Harada wrote:
> 2009/12/30 Tom Lane <tgl@sss.pgh.pa.us>:
> > Hitoshi Harada <umi.tanuki@gmail.com> writes:
> >> I found the struct IntArray defined in c.h is actually used only in
> >> execQual.c. ISTM the definition should be at least moved to the right
> >> place.
> >
> > It's a general-purpose datatype that might be used anywhere that array
> > indexing happens.  I think the fact that it's currently used only in
> > execQual is mere happenstance, and should not be "enforced" by moving
> > or removing the declaration.
> 
> I would be convinced if the struct or the logic was complex, but
> actually it is so simple that it can be replaced by primitive int
> array. Also, it seems to me that c.h is too general place to declare
> it for such purpose. Does nobody else think so?

The definition of c.h is bogus anyway.  You might think it contains
includes and defines to set up a portable C environment, which is what
the first half indeed does.

But then things like regproc, transaction ID types, IntArray, varlena,
bytea, oidvector, NameData, etc. do not belong there and should be moved
to postgres.h.



pgsql-hackers by date:

Previous
From: Gurjeet Singh
Date:
Subject: Re-enabling SET ROLE in security definer functions
Next
From: Gurjeet Singh
Date:
Subject: Security vulnerability regarding SET ROLE and REINDEX