Re: Boolean operators without commutators vs. ALL/ANY
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Peter Eisentraut <peter_e@gmx.net>, Florian Pflug <fgp@phlo.org>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-16T18:14:18Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > I'm having trouble avoiding the conclusion that we're trying to shove > a round peg into a square hole. The idea that we have to have a > commutator for every operator just because we don't handle left and > right symmetrically sits poorly with me. I can't really argue with > your statement that it's the easiest way to address Florian's gripe, > but because it almost surely is. But it still feels like a kludge. > The syntax foo = ANY(bar) is really quite a poorly-designed syntax, > because the top-level operation is really "ANY", and it has three > arguments: foo, =, bar. If the SQL committee had standardized on > ANY(foo = $0, bar) or some such thing we wouldn't be having this > conversation. [ shrug... ] Take it up with the committee. The syntax is what it is, and we should select our operators to fit it, not vice versa. regards, tom lane