Re: [HACKERS] Operator definitions

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [HACKERS] Operator definitions
Дата
Msg-id 199909221620.MAA07804@candle.pha.pa.us
обсуждение исходный текст
Ответ на Operator definitions  (Adriaan Joubert <a.joubert@albourne.com>)
Список pgsql-hackers
> 
> I've got a big problem: I had an operator defined as follows:
> 
> CREATE OPERATOR ^ (
>   leftarg = bit1,
>   rightarg = bit1,
>   procedure = bit1xor
> );
> 
> and this was fine until 6.5.1, but in 6.5.2 I get
> 
> ERROR:  parser: parse error at or near "^"
> 
> 
> I've got the same problem with 
> 
> CREATE OPERATOR | (
>   leftarg = bit1,
>   rightarg = bit1,
>   procedure = bit1or,
>   commutator = |
> ); 
> 
> but at least that didn't work under 6.5.1 either. Can anybody give me a
> hint how to fix this? I know nothing about the parser, or lex or yacc so
> I don't even know where to start. I need to fix this rather urgently ,
> as I have tons of plpgsql functions that make use of the ^ operator. At
> the moment I get a power for all of these which leads to pretty
> disastrous consequences :-(.
> 
> If anybody can give me any hint at all, I'll have a go at fixing it.
> Much appreciated!

We do special things for ^ and | so it has proper precedence for
select 2 ^ 1*2 select 'asdf' | 'asdf' | 'asdf'

However, there were no changes I know of in 6.5.2 that would cause it to
break.


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] Early evaluation of constant expresions (with PATCH)
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] postmaster disappears