Re: Why are no NEGATORS defined in the standard operators

Поиск
Список
Период
Сортировка
От Daniel Migowski
Тема Re: Why are no NEGATORS defined in the standard operators
Дата
Msg-id 41ED3F5450C90F4D8381BC4D8DF6BBDCAF46C721@EXCHANGESERVER.ikoffice.de
обсуждение исходный текст
Ответ на Re: Why are no NEGATORS defined in the standard operators  (Julien Rouhaud <julien.rouhaud@dalibo.com>)
Список pgsql-general
OK, I file a bug report. 

-----Ursprüngliche Nachricht-----
Von: Julien Rouhaud [mailto:julien.rouhaud@dalibo.com] 
Gesendet: Samstag, 11. Juni 2016 11:28
An: Daniel Migowski <dmigowski@ikoffice.de>; pgsql-general@postgresql.org
Betreff: Re: [GENERAL] Why are no NEGATORS defined in the standard operators

Hello

On 11/06/2016 10:00, Daniel Migowski wrote:
> Hello,
> 
> while trying to bake my own fixedpoint datatype I noticed the 
> definition for =(int8,int8) to be
> 
>  
> 
> CREATE OPERATOR =(
> 
>   PROCEDURE = int8eq,
> 
>   LEFTARG = int8,
> 
>   RIGHTARG = int8,
> 
>   COMMUTATOR = =,
> 
>   RESTRICT = eqsel,
> 
>   JOIN = eqjoinsel,
> 
>   HASHES,
> 
>   MERGES);
> 
>  
> 
> in PostgreSQL 9.5, but I wonder, why there is no NEGATOR clause 
> defined here? According to the docs it should help to add
> 
>  
> 
>   NEGATOR = <>
> 
>  
> 
> In query optimization. Is there some reason for it? Or is it a Bug in 
> pgAdmin III that the negator is not shown?
> 

I guess this is a bug in pgAdmin3, because the negator is defined in the
catalog:

# select o1.oprname, o1.oprcode, o1.oprnegate, o2.oprname as negate from pg_operator o1 join pg_operator o2 on
o1.oprnegate= o2.oid where o1.oprname = '=' and o1.oprleft = 'int8'::regtype and o1.oprright = 'int8'::regtype;
 

 oprname │ oprcode │ oprnegate │ negate
═════════╪═════════╪═══════════╪════════
 =       │ int8eq  │       411 │ <>
(1 row)



--
Julien Rouhaud
http://dalibo.com - http://dalibo.org

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

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Re: Why are no NEGATORS defined in the standard operators
Следующее
От: Greg Navis
Дата:
Сообщение: Re: [pg_trgm] Making similarity(?, ?) < ? use an index