Обсуждение: int2[] vs int2vector in pg_catalog?

Поиск
Список
Период
Сортировка

int2[] vs int2vector in pg_catalog?

От
Fabien COELHO
Дата:
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


Re: int2[] vs int2vector in pg_catalog?

От
Tom Lane
Дата:
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