It appears that the new <-> operator has been made to have exactly the same grammatical precedence as the existing & (AND) operator. Thus, for example, 'a & b <-> c'::tsquery means something different from 'b <-> c & a'::tsquery:
regression=# select 'a & b <-> c'::tsquery; tsquery ----------------------------------- ( 'a' <-> 'c' ) & ( 'b' <-> 'c' ) (1 row) regression=# select 'b <-> c & a'::tsquery; tsquery ----------------------- ( 'b' <-> 'c' ) & 'a' (1 row) I find this surprising. My intuitive feeling is that <-> ought to bind tighter than & (and therefore also tighter than |). What's the reasoning for making it act like this? regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers