Re: Multi ordered select and indexing

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Multi ordered select and indexing
Дата
Msg-id 14669.1083267253@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Multi ordered select and indexing  ("Antal Attila" <antal.attila@ritek.hu>)
Список pgsql-sql
"Antal Attila" <antal.attila@ritek.hu> writes:
>   CREATE OPERATOR CLASS int4_reverse_order_ops  
>     FOR TYPE int4 USING btree AS  
>         OPERATOR        1       /< ,  
>         OPERATOR        2       /<= ,  
>         OPERATOR        3       /= ,  
>         OPERATOR        4       />= ,  
>         OPERATOR        5       /> ,  
>         FUNCTION        1       int4_reverse_order_cmp(int4, int4);  

This is the wrong way to go about it.  A useful descending-order opclass
simply rearranges the logical relationships of the standard comparison
operators.  You do need a new comparison function, but nothing else:
 CREATE OPERATOR CLASS int4_reverse_order_ops     FOR TYPE int4 USING btree AS         OPERATOR        1       > ,
  OPERATOR        2       >= ,         OPERATOR        3       = ,         OPERATOR        4       <= ,
OPERATOR       5       < ,         FUNCTION        1       int4_reverse_order_cmp(int4, int4);  
 

Now you can just use ASC/DESC in your ORDER BY ...
        regards, tom lane


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

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: Equivalant of SQL Server's Nchar and NVARCHAR
Следующее
От: Pallav Kalva
Дата:
Сообщение: Permissions not working