Redefine operator = for text

Поиск
Список
Период
Сортировка
От yura
Тема Redefine operator = for text
Дата
Msg-id 18634.991217@vpcit.ru
обсуждение исходный текст
Ответы [GENERAL] a problem with single char recoding
Список pgsql-general
Hello All,

Is it possible to change the behavior of operator "=" for text? I
wolud like to redefine this operator in order to it compare strings
without checking of letter case.
I tried the following:

create function TextEqual(text, text)
  returns bool
  as '
  begin
    if texteq(upper($1), upper($2)) then
      return TRUE;
    else
      return FALSE;
    end if;
  end;
  '
  language 'plpgsql';

drop operator = (text, text);
create operator = (
        leftarg=text,
        rightarg=text,
        procedure=TextEqual,
        commutator='=',
        negator='<>',
        restrict=eqsel,
        join=eqjoinsel
        );


This works, but after that many queries return error "unknown operator
98".

--
Best regards,
Yury                          mailto:yura@vpcit.ru



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

Предыдущее
От: Jesse Lee
Дата:
Сообщение: Create language PL/pgSQL failed
Следующее
От: "Mark Alliban"
Дата:
Сообщение: Re: SCO Openserver & pg_hba.conf