Thread: How to add a new operator for parser?

How to add a new operator for parser?

From
jacktby jacktby
Date:
I’m trying to add a new operator for my pg application like greater_equals called “<~>", how many files I need to
modify and how to do it? Can you give me an example?


Re: How to add a new operator for parser?

From
Julien Rouhaud
Date:
On Sun, 6 Aug 2023, 12:34 jacktby jacktby, <jacktby@gmail.com> wrote:
I’m trying to add a new operator for my pg application like greater_equals called “<~>", how many files I need to
modify and how to do it? Can you give me an example?

you can look at some contrib for some examples of custom operator (and custom datatype) implementation, like citext or btree_gin/gist

Re: How to add a new operator for parser?

From
jacktby jacktby
Date:

2023年8月6日 13:18,Julien Rouhaud <rjuju123@gmail.com> 写道:

On Sun, 6 Aug 2023, 12:34 jacktby jacktby, <jacktby@gmail.com> wrote:
I’m trying to add a new operator for my pg application like greater_equals called “<~>", how many files I need to
modify and how to do it? Can you give me an example?

you can look at some contrib for some examples of custom operator (and custom datatype) implementation, like citext or btree_gin/gist
I need to build a new datatype. It can contains different datatypes, like ‘(1,’a’,2.0)’,it’s a (interger,string,float) tuple type, and Then I need to add operator for it. How should I do?

Re: How to add a new operator for parser?

From
Julien Rouhaud
Date:
On Sun, Aug 06, 2023 at 01:37:42PM +0800, jacktby jacktby wrote:
>
> I need to build a new datatype. It can contains different datatypes, like
> ‘(1,’a’,2.0)’,it’s a (interger,string,float) tuple type

Is there any reason why you can't simply rely on the record datatype?

> and Then I need to
> add operator for it. How should I do?

If using record datatype you would only need to add a new operator.