Implement SQL-compliant treatment of row comparisons for < <= > >= cases

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 6e07709760a29d8dbfb93b9846c905bd40689082
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2005-12-28T01:30:02Z
Releases: 8.2.0
Implement SQL-compliant treatment of row comparisons for < <= > >= cases
(previously we only did = and <> correctly).  Also, allow row comparisons
with any operators that are in btree opclasses, not only those with these
specific names.  This gets rid of a whole lot of indefensible assumptions
about the behavior of particular operators based on their names ... though
it's still true that IN and NOT IN expand to "= ANY".  The patch adds a
RowCompareExpr expression node type, and makes some changes in the
representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
with RowCompareExpr.

I have not yet done anything about making RowCompareExpr an indexable
operator, but will look at that soon.

initdb forced due to changes in stored rules.

Files