Redefine operator = for text - Mailing list pgsql-general

From yura
Subject Redefine operator = for text
Date
Msg-id 18634.991217@vpcit.ru
Whole thread Raw
Responses [GENERAL] a problem with single char recoding  (Marcin Inkielman <marn@wsisiz.edu.pl>)
List 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 by date:

Previous
From: Jesse Lee
Date:
Subject: Create language PL/pgSQL failed
Next
From: "Mark Alliban"
Date:
Subject: Re: SCO Openserver & pg_hba.conf