Re: Operator class group proposal

Поиск
Список
Период
Сортировка
От Teodor Sigaev
Тема Re: Operator class group proposal
Дата
Msg-id 45812835.1010109@sigaev.ru
обсуждение исходный текст
Ответ на Re: Operator class group proposal  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
> 
> Some more thought about that yielded what might or might not be a good
> idea: why not just collapse all the members of a "class group" into one
> opclass?  In other words, not make a distinction between groups and
> individual opclasses?  So for example, int2_ops int4_ops and int8_ops
> would all collapse into one big opclass.

IMHO, this is better than groups, but in any case exact opclass will be defined 
by pair: (opgroup, opclass) in first case or (opclass, alias) in second. Pair is 
needed to find support function(s). For instance, contrib/intarray makes two 
GiST opclasses with different storage types.
> I don't have any idea whether opclass groups would be useful for GiST or> GIN indexes, but maybe Oleg and Teodor can
thinkof applications.
 

I'm afraid it isn't  useful for GiST/GIN - strategies are not defined at all and 
planner can't known about semantic meaning of operation/strategies.

Examples of opclasses which can be joined in one group:
1) geometry opclasses
2)  gist__int_ops and gist__intbig_ops for GiST from contrib/intarray (BTW,    gin__int_ops for GIN supports the same
operationsand the same strategies    as gist__int*_ops)
 
3) some of opclasses from btree_gist.
4) builtin GIN oplasses for arrays and it possible to add cross-type operations 
for arrays ( ie int4[] && int8[] )



BTW, unpleasant behaviour of postgres:
postgres=# CREATE TABLE foo (a varchar);
postgres=# CREATE INDEX fooidx ON foo (a varchar_pattern_ops);
postgres=# ALTER OPERATOR CLASS varchar_pattern_ops USING btree RENAME TO bar;

% pg_dump postgres | psql wow
...
ERROR:  operator class "bar" does not exist for access method "btree"
...

May be, it will be useful to forbids altering/renaming of builtin objects...


-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
  WWW: http://www.sigaev.ru/
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: DANTE Alexandra
Дата:
Сообщение: PostgreSQL 8.2 : warnings during the built with ICC 9.1.045
Следующее
От: "Zeugswetter Andreas ADI SD"
Дата:
Сообщение: Re: Vacuum, analyze, and setting reltuples of pg_class