"text to text" operator redefinition ignored

Поиск
Список
Период
Сортировка
От ta@lavabit.com
Тема "text to text" operator redefinition ignored
Дата
Msg-id 17605.87.252.128.91.1356117042.squirrel@lavabit.com
обсуждение исходный текст
Ответы Re: "text to text" operator redefinition ignored  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
PG 9.2.2, Windows, empty database

just curious, redefinition of various operators seems to work nicely but
"text to text" operator redefinition (last block down here) seems
completely ignored:

set search_path to public;

select 'aa'::varchar =3D 'aa  '::varchar;  -- returns false
create or replace function public.opr_vceqvc(varchar, varchar)
  returns boolean as
  $$
    select rtrim($1)=3Drtrim($2)
  $$
  language sql immutable;
create operator public.=3D (leftarg =3D varchar, rightarg =3D varchar, pr=
ocedure
=3D public.opr_vceqvc,  commutator =3D =3D, negator =3D <>, restrict =3D =
eqsel, join
=3D eqjoinsel, hashes, merges);
select 'aa'::varchar =3D 'aa  '::varchar;  -- returns true
drop operator if exists public.=3D (varchar, varchar);


select 'aa'::text =3D 'aa  '::varchar;  -- returns false
create or replace function public.opr_txeqvc(text, varchar)
  returns boolean as
  $$
    select rtrim($1)=3Drtrim($2)
  $$
  language sql immutable;
create operator public.=3D (leftarg =3D text, rightarg =3D varchar, proce=
dure =3D
public.opr_txeqvc,  commutator =3D =3D, negator =3D <>, restrict =3D eqse=
l, join =3D
eqjoinsel, hashes, merges);
select 'aa'::text =3D 'aa  '::varchar;  -- returns true
drop operator if exists public.=3D (text, varchar);


select 'aa'::text =3D 'aa  '::text;  -- returns false
create or replace function public.opr_txeqtx(text, text)
  returns boolean as
  $$
    -- select rtrim($1)=3Drtrim($2);
    select true;
  $$
  language sql immutable;
create operator public.=3D (leftarg =3D text, rightarg =3D text, procedur=
e =3D
public.opr_txeqtx,  commutator =3D =3D, negator =3D <>, restrict =3D eqse=
l, join =3D
eqjoinsel, hashes, merges);
select 'aa'::text =3D 'aa  '::text;  -- ALWAYS RETURNS FALSE!
drop operator if exists public.=3D (text, text);

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #7771: packaging error causes build failure
Следующее
От: Tom Lane
Дата:
Сообщение: Re: "text to text" operator redefinition ignored