>
> 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