
Dear hackers,

I'm wondering for the rationnal of the types used in various tables in
pg_catalog (v 7.4.2) so as to represent the very same thing:

- in pg_index, the indkey is represented by a int2vector

- in pg_constraint, conkey and confkey are represented my smallint[]

As I was trying to compare the two, I have to resort to some hacks.

It also appears that there are very few available function to deal with
int2vector at the SQL or PL/pgSQL level. Basically I found none:-(

Any comments?

-- 
Fabien Coelho - coelho@cri.ensmp.fr

Mon, 29 Mar 2004 09:41:25 +0200 (CEST)
Fabien COELHO <coelho@cri.ensmp.fr>
int2[] vs int2vector in pg_catalog?
Fabien COELHO <coelho@cri.ensmp.fr> writes:
> I'm wondering for the rationnal of the types used in various tables in
> pg_catalog (v 7.4.2) so as to represent the very same thing:

History and backwards compatibility, mostly.

 From the standpoint of the backend I don't think there is any
fundamental reason why we couldn't change pg_index.indkey and indclass
into varlena arrays, but I'd be worried about breaking existing
client-side code that looks at those columns.  In particular the
question of whether indexing starts at 0 or 1 would be nasty.

			regards, tom lane

Mon, 29 Mar 2004 15:23:34 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: int2[] vs int2vector in pg_catalog? 