int2[] vs int2vector in pg_catalog?
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
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