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