why commutator doesn't work?

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема why commutator doesn't work?
Дата
Msg-id CAFj8pRAr08kJRDxtf7vEZmaNY4RKQh-rWqr+3XaD4MJX4PV-DQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: why commutator doesn't work?
Список pgsql-hackers
Hi

I try to create operator + for varchar and integer with Oracle behave.

create or replace function sum(varchar, int)
returns int as $$ select $1::int + $2 $$ language sql;

create operator + (function = sum, leftarg = varchar, rightarg = int, commutator = +);

create table foo2(a varchar);
insert into foo2 values('10');
select a + 1 from foo2; -- it is ok

but

select 1 + a from foo2; -- fails

ERROR:  operator is only a shell: integer + character varying
LINE 1: select 1 + a  from foo2;

Why? This should be solved by COMMUTATOR = +

Regards

Pavel

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: partition tree inspection functions
Следующее
От: "myungkyu.lim"
Дата:
Сообщение: RE: COPY FROM WHEN condition