From 4e91824b9490a73619200e9d18b9234263d124d3 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 2 Dec 2004 01:34:18 +0000
Subject: [PATCH] Make some adjustments to reduce platform dependencies in plan
 selection. In particular, there was a mathematical tie between the two
 possible nestloop-with-materialized-inner-scan plans for a join (ie, we
 computed the same cost with either input on the inside), resulting in a
 roundoff error driven choice, if the relations were both small enough to fit
 in sort_mem.  Add a small cost factor to ensure we prefer materializing the
 smaller input.  This changes several regression test plans, but with any luck
 we will now have more stability across platforms.

---
 src/backend/optimizer/path/costsize.c    |   11 +-
 src/backend/optimizer/util/plancat.c     |   11 +-
 src/test/regress/expected/geometry.out   |  214 +-
 src/test/regress/expected/geometry_1.out |  214 +-
 src/test/regress/expected/geometry_2.out |  214 +-
 src/test/regress/expected/inherit.out    |   15 +-
 src/test/regress/expected/join.out       | 2280 +++++++++++-----------
 src/test/regress/sql/inherit.sql         |    3 +-
 src/test/regress/sql/join.sql            |    8 +-
 9 files changed, 1493 insertions(+), 1477 deletions(-)

diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index c67398d5b0d..677c86e7516 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -49,7 +49,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.135 2004/10/23 00:05:27 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.136 2004/12/02 01:34:17 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -615,6 +615,15 @@ cost_material(Path *path,
 		run_cost += npages;
 	}
 
+	/*
+	 * Charge a very small amount per inserted tuple, to reflect bookkeeping
+	 * costs.  We use cpu_tuple_cost/10 for this.  This is needed to break
+	 * the tie that would otherwise exist between nestloop with A outer,
+	 * materialized B inner and nestloop with B outer, materialized A inner.
+	 * The extra cost ensures we'll prefer materializing the smaller rel.
+	 */
+	startup_cost += cpu_tuple_cost * 0.1 * tuples;
+
 	/*
 	 * Also charge a small amount per extracted tuple.	We use
 	 * cpu_tuple_cost so that it doesn't appear worthwhile to materialize
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index b4f42ac1235..9c9f586727a 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/optimizer/util/plancat.c,v 1.98 2004/12/01 19:00:43 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/optimizer/util/plancat.c,v 1.99 2004/12/02 01:34:17 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -268,6 +268,12 @@ estimate_rel_size(Relation rel, int32 *attr_widths,
 				 * but is probably an overestimate for indexes.  Fortunately
 				 * get_relation_info() can clamp the overestimate to the
 				 * parent table's size.
+				 *
+				 * Note: this code intentionally disregards alignment
+				 * considerations, because (a) that would be gilding the
+				 * lily considering how crude the estimate is, and (b)
+				 * it creates platform dependencies in the default plans
+				 * which are kind of a headache for regression testing.
 				 */
 				int32	tuple_width = 0;
 				int		i;
@@ -291,8 +297,7 @@ estimate_rel_size(Relation rel, int32 *attr_widths,
 						attr_widths[i] = item_width;
 					tuple_width += item_width;
 				}
-				tuple_width = MAXALIGN(tuple_width);
-				tuple_width += MAXALIGN(sizeof(HeapTupleHeaderData));
+				tuple_width += sizeof(HeapTupleHeaderData);
 				tuple_width += sizeof(ItemPointerData);
 				/* note: integer division is intentional here */
 				density = (BLCKSZ - sizeof(PageHeaderData)) / tuple_width;
diff --git a/src/test/regress/expected/geometry.out b/src/test/regress/expected/geometry.out
index 6e619cf0172..7afbb1a2e2c 100644
--- a/src/test/regress/expected/geometry.out
+++ b/src/test/regress/expected/geometry.out
@@ -112,34 +112,34 @@ SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest
  thirty |     f1     |               s               |             closest              
 --------+------------+-------------------------------+----------------------------------
         | (0,0)      | [(1,2),(3,4)]                 | (1,2)
-        | (-10,0)    | [(1,2),(3,4)]                 | (1,2)
-        | (-3,4)     | [(1,2),(3,4)]                 | (1,2)
-        | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
-        | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
-        | (10,10)    | [(1,2),(3,4)]                 | (3,4)
         | (0,0)      | [(0,0),(6,6)]                 | (-0,0)
-        | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
-        | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
-        | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
-        | (-5,-12)   | [(0,0),(6,6)]                 | (0,0)
-        | (10,10)    | [(0,0),(6,6)]                 | (6,6)
         | (0,0)      | [(10,-10),(-3,-4)]            | (-2.0487804878,-4.43902439024)
-        | (-10,0)    | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (5.1,34.5) | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878,-4.64390243902)
-        | (10,10)    | [(10,-10),(-3,-4)]            | (2.39024390244,-6.48780487805)
         | (0,0)      | [(-1000000,200),(300000,-40)] | (0.00284023658959,15.3846148603)
-        | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258,15.386461014)
-        | (-3,4)     | [(-1000000,200),(300000,-40)] | (-2.99789812268,15.3851688427)
-        | (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221,15.3836744977)
-        | (-5,-12)   | [(-1000000,200),(300000,-40)] | (-4.99494420846,15.3855375282)
-        | (10,10)    | [(-1000000,200),(300000,-40)] | (10.000993742,15.3827690473)
         | (0,0)      | [(11,22),(33,44)]             | (11,22)
+        | (-10,0)    | [(1,2),(3,4)]                 | (1,2)
+        | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
+        | (-10,0)    | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258,15.386461014)
         | (-10,0)    | [(11,22),(33,44)]             | (11,22)
+        | (-3,4)     | [(1,2),(3,4)]                 | (1,2)
+        | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
+        | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (-3,4)     | [(-1000000,200),(300000,-40)] | (-2.99789812268,15.3851688427)
         | (-3,4)     | [(11,22),(33,44)]             | (11,22)
+        | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
+        | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
+        | (5.1,34.5) | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221,15.3836744977)
         | (5.1,34.5) | [(11,22),(33,44)]             | (14.3,25.3)
+        | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
+        | (-5,-12)   | [(0,0),(6,6)]                 | (0,0)
+        | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878,-4.64390243902)
+        | (-5,-12)   | [(-1000000,200),(300000,-40)] | (-4.99494420846,15.3855375282)
         | (-5,-12)   | [(11,22),(33,44)]             | (11,22)
+        | (10,10)    | [(1,2),(3,4)]                 | (3,4)
+        | (10,10)    | [(0,0),(6,6)]                 | (6,6)
+        | (10,10)    | [(10,-10),(-3,-4)]            | (2.39024390244,-6.48780487805)
+        | (10,10)    | [(-1000000,200),(300000,-40)] | (10.000993742,15.3827690473)
         | (10,10)    | [(11,22),(33,44)]             | (11,22)
 (30 rows)
 
@@ -166,28 +166,28 @@ SELECT '' AS twentyfour, b.f1 + p.f1 AS translation
  twentyfour |       translation       
 ------------+-------------------------
             | (2,2),(0,0)
-            | (-8,2),(-10,0)
-            | (-1,6),(-3,4)
-            | (7.1,36.5),(5.1,34.5)
-            | (-3,-10),(-5,-12)
-            | (12,12),(10,10)
             | (3,3),(1,1)
-            | (-7,3),(-9,1)
-            | (0,7),(-2,5)
-            | (8.1,37.5),(6.1,35.5)
-            | (-2,-9),(-4,-11)
-            | (13,13),(11,11)
             | (2.5,3.5),(2.5,2.5)
-            | (-7.5,3.5),(-7.5,2.5)
-            | (-0.5,7.5),(-0.5,6.5)
-            | (7.6,38),(7.6,37)
-            | (-2.5,-8.5),(-2.5,-9.5)
-            | (12.5,13.5),(12.5,12.5)
             | (3,3),(3,3)
+            | (-8,2),(-10,0)
+            | (-7,3),(-9,1)
+            | (-7.5,3.5),(-7.5,2.5)
             | (-7,3),(-7,3)
+            | (-1,6),(-3,4)
+            | (0,7),(-2,5)
+            | (-0.5,7.5),(-0.5,6.5)
             | (0,7),(0,7)
+            | (7.1,36.5),(5.1,34.5)
+            | (8.1,37.5),(6.1,35.5)
+            | (7.6,38),(7.6,37)
             | (8.1,37.5),(8.1,37.5)
+            | (-3,-10),(-5,-12)
+            | (-2,-9),(-4,-11)
+            | (-2.5,-8.5),(-2.5,-9.5)
             | (-2,-9),(-2,-9)
+            | (12,12),(10,10)
+            | (13,13),(11,11)
+            | (12.5,13.5),(12.5,12.5)
             | (13,13),(13,13)
 (24 rows)
 
@@ -196,28 +196,28 @@ SELECT '' AS twentyfour, b.f1 - p.f1 AS translation
  twentyfour |        translation        
 ------------+---------------------------
             | (2,2),(0,0)
-            | (12,2),(10,0)
-            | (5,-2),(3,-4)
-            | (-3.1,-32.5),(-5.1,-34.5)
-            | (7,14),(5,12)
-            | (-8,-8),(-10,-10)
             | (3,3),(1,1)
-            | (13,3),(11,1)
-            | (6,-1),(4,-3)
-            | (-2.1,-31.5),(-4.1,-33.5)
-            | (8,15),(6,13)
-            | (-7,-7),(-9,-9)
             | (2.5,3.5),(2.5,2.5)
-            | (12.5,3.5),(12.5,2.5)
-            | (5.5,-0.5),(5.5,-1.5)
-            | (-2.6,-31),(-2.6,-32)
-            | (7.5,15.5),(7.5,14.5)
-            | (-7.5,-6.5),(-7.5,-7.5)
             | (3,3),(3,3)
+            | (12,2),(10,0)
+            | (13,3),(11,1)
+            | (12.5,3.5),(12.5,2.5)
             | (13,3),(13,3)
+            | (5,-2),(3,-4)
+            | (6,-1),(4,-3)
+            | (5.5,-0.5),(5.5,-1.5)
             | (6,-1),(6,-1)
+            | (-3.1,-32.5),(-5.1,-34.5)
+            | (-2.1,-31.5),(-4.1,-33.5)
+            | (-2.6,-31),(-2.6,-32)
             | (-2.1,-31.5),(-2.1,-31.5)
+            | (7,14),(5,12)
+            | (8,15),(6,13)
+            | (7.5,15.5),(7.5,14.5)
             | (8,15),(8,15)
+            | (-8,-8),(-10,-10)
+            | (-7,-7),(-9,-9)
+            | (-7.5,-6.5),(-7.5,-7.5)
             | (-7,-7),(-7,-7)
 (24 rows)
 
@@ -227,28 +227,28 @@ SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation
  twentyfour |          rotation           
 ------------+-----------------------------
             | (0,0),(0,0)
-            | (-0,0),(-20,-20)
-            | (-0,2),(-14,0)
-            | (0,79.2),(-58.8,0)
-            | (14,-0),(0,-34)
-            | (0,40),(0,0)
             | (0,0),(0,0)
-            | (-10,-10),(-30,-30)
-            | (-7,3),(-21,1)
-            | (-29.4,118.8),(-88.2,39.6)
-            | (21,-17),(7,-51)
-            | (0,60),(0,20)
             | (0,0),(0,0)
-            | (-25,-25),(-25,-35)
-            | (-17.5,2.5),(-21.5,-0.5)
-            | (-73.5,104.1),(-108,99)
-            | (29.5,-42.5),(17.5,-47.5)
-            | (0,60),(-10,50)
             | (0,0),(0,0)
+            | (-0,0),(-20,-20)
+            | (-10,-10),(-30,-30)
+            | (-25,-25),(-25,-35)
             | (-30,-30),(-30,-30)
+            | (-0,2),(-14,0)
+            | (-7,3),(-21,1)
+            | (-17.5,2.5),(-21.5,-0.5)
             | (-21,3),(-21,3)
+            | (0,79.2),(-58.8,0)
+            | (-29.4,118.8),(-88.2,39.6)
+            | (-73.5,104.1),(-108,99)
             | (-88.2,118.8),(-88.2,118.8)
+            | (14,-0),(0,-34)
+            | (21,-17),(7,-51)
+            | (29.5,-42.5),(17.5,-47.5)
             | (21,-51),(21,-51)
+            | (0,40),(0,0)
+            | (0,60),(0,20)
+            | (0,60),(-10,50)
             | (0,60),(0,60)
 (24 rows)
 
@@ -258,24 +258,24 @@ SELECT '' AS twenty, b.f1 / p.f1 AS rotation
  twenty |                               rotation                               
 --------+----------------------------------------------------------------------
         | (0,-0),(-0.2,-0.2)
-        | (-0.1,-0.1),(-0.3,-0.3)
-        | (-0.25,-0.25),(-0.25,-0.35)
-        | (-0.3,-0.3),(-0.3,-0.3)
         | (0.08,-0),(0,-0.56)
-        | (0.12,-0.28),(0.04,-0.84)
-        | (0.26,-0.7),(0.1,-0.82)
-        | (0.12,-0.84),(0.12,-0.84)
         | (0.0651176557644,0),(0,-0.0483449262493)
-        | (0.0976764836466,-0.0241724631247),(0.0325588278822,-0.072517389374)
-        | (0.109762715209,-0.0562379754329),(0.0813970697055,-0.0604311578117)
-        | (0.0976764836466,-0.072517389374),(0.0976764836466,-0.072517389374)
         | (-0,0.0828402366864),(-0.201183431953,0)
-        | (-0.100591715976,0.12426035503),(-0.301775147929,0.0414201183432)
-        | (-0.251479289941,0.103550295858),(-0.322485207101,0.0739644970414)
-        | (-0.301775147929,0.12426035503),(-0.301775147929,0.12426035503)
         | (0.2,0),(0,0)
+        | (-0.1,-0.1),(-0.3,-0.3)
+        | (0.12,-0.28),(0.04,-0.84)
+        | (0.0976764836466,-0.0241724631247),(0.0325588278822,-0.072517389374)
+        | (-0.100591715976,0.12426035503),(-0.301775147929,0.0414201183432)
         | (0.3,0),(0.1,0)
+        | (-0.25,-0.25),(-0.25,-0.35)
+        | (0.26,-0.7),(0.1,-0.82)
+        | (0.109762715209,-0.0562379754329),(0.0813970697055,-0.0604311578117)
+        | (-0.251479289941,0.103550295858),(-0.322485207101,0.0739644970414)
         | (0.3,0.05),(0.25,0)
+        | (-0.3,-0.3),(-0.3,-0.3)
+        | (0.12,-0.84),(0.12,-0.84)
+        | (0.0976764836466,-0.072517389374),(0.0976764836466,-0.072517389374)
+        | (-0.301775147929,0.12426035503),(-0.301775147929,0.12426035503)
         | (0.3,0),(0.3,0)
 (20 rows)
 
@@ -345,28 +345,28 @@ SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains
  twentyfour |     f1     |         f1          | contains 
 ------------+------------+---------------------+----------
             | (0,0)      | ((2,0),(2,4),(0,0)) | t
-            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
-            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
-            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
-            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
-            | (10,10)    | ((2,0),(2,4),(0,0)) | f
             | (0,0)      | ((3,1),(3,3),(1,0)) | f
-            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
-            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
-            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
-            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
-            | (10,10)    | ((3,1),(3,3),(1,0)) | f
             | (0,0)      | ((0,0))             | t
-            | (-10,0)    | ((0,0))             | f
-            | (-3,4)     | ((0,0))             | f
-            | (5.1,34.5) | ((0,0))             | f
-            | (-5,-12)   | ((0,0))             | f
-            | (10,10)    | ((0,0))             | f
             | (0,0)      | ((0,1),(0,1))       | f
+            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
+            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
+            | (-10,0)    | ((0,0))             | f
             | (-10,0)    | ((0,1),(0,1))       | f
+            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
+            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
+            | (-3,4)     | ((0,0))             | f
             | (-3,4)     | ((0,1),(0,1))       | f
+            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
+            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
+            | (5.1,34.5) | ((0,0))             | f
             | (5.1,34.5) | ((0,1),(0,1))       | f
+            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
+            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
+            | (-5,-12)   | ((0,0))             | f
             | (-5,-12)   | ((0,1),(0,1))       | f
+            | (10,10)    | ((2,0),(2,4),(0,0)) | f
+            | (10,10)    | ((3,1),(3,3),(1,0)) | f
+            | (10,10)    | ((0,0))             | f
             | (10,10)    | ((0,1),(0,1))       | f
 (24 rows)
 
@@ -375,28 +375,28 @@ SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained
  twentyfour |     f1     |         f1          | contained 
 ------------+------------+---------------------+-----------
             | (0,0)      | ((2,0),(2,4),(0,0)) | t
-            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
-            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
-            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
-            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
-            | (10,10)    | ((2,0),(2,4),(0,0)) | f
             | (0,0)      | ((3,1),(3,3),(1,0)) | f
-            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
-            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
-            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
-            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
-            | (10,10)    | ((3,1),(3,3),(1,0)) | f
             | (0,0)      | ((0,0))             | t
-            | (-10,0)    | ((0,0))             | f
-            | (-3,4)     | ((0,0))             | f
-            | (5.1,34.5) | ((0,0))             | f
-            | (-5,-12)   | ((0,0))             | f
-            | (10,10)    | ((0,0))             | f
             | (0,0)      | ((0,1),(0,1))       | f
+            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
+            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
+            | (-10,0)    | ((0,0))             | f
             | (-10,0)    | ((0,1),(0,1))       | f
+            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
+            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
+            | (-3,4)     | ((0,0))             | f
             | (-3,4)     | ((0,1),(0,1))       | f
+            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
+            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
+            | (5.1,34.5) | ((0,0))             | f
             | (5.1,34.5) | ((0,1),(0,1))       | f
+            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
+            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
+            | (-5,-12)   | ((0,0))             | f
             | (-5,-12)   | ((0,1),(0,1))       | f
+            | (10,10)    | ((2,0),(2,4),(0,0)) | f
+            | (10,10)    | ((3,1),(3,3),(1,0)) | f
+            | (10,10)    | ((0,0))             | f
             | (10,10)    | ((0,1),(0,1))       | f
 (24 rows)
 
diff --git a/src/test/regress/expected/geometry_1.out b/src/test/regress/expected/geometry_1.out
index 70e86958b79..06ca449fc4d 100644
--- a/src/test/regress/expected/geometry_1.out
+++ b/src/test/regress/expected/geometry_1.out
@@ -112,34 +112,34 @@ SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest
  thirty |     f1     |               s               |             closest              
 --------+------------+-------------------------------+----------------------------------
         | (0,0)      | [(1,2),(3,4)]                 | (1,2)
-        | (-10,0)    | [(1,2),(3,4)]                 | (1,2)
-        | (-3,4)     | [(1,2),(3,4)]                 | (1,2)
-        | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
-        | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
-        | (10,10)    | [(1,2),(3,4)]                 | (3,4)
         | (0,0)      | [(0,0),(6,6)]                 | (0,0)
-        | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
-        | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
-        | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
-        | (-5,-12)   | [(0,0),(6,6)]                 | (0,0)
-        | (10,10)    | [(0,0),(6,6)]                 | (6,6)
         | (0,0)      | [(10,-10),(-3,-4)]            | (-2.0487804878,-4.43902439024)
-        | (-10,0)    | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (5.1,34.5) | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878,-4.64390243902)
-        | (10,10)    | [(10,-10),(-3,-4)]            | (2.39024390244,-6.48780487805)
         | (0,0)      | [(-1000000,200),(300000,-40)] | (0.00284023658959,15.3846148603)
-        | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258,15.386461014)
-        | (-3,4)     | [(-1000000,200),(300000,-40)] | (-2.99789812268,15.3851688427)
-        | (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221,15.3836744977)
-        | (-5,-12)   | [(-1000000,200),(300000,-40)] | (-4.99494420846,15.3855375282)
-        | (10,10)    | [(-1000000,200),(300000,-40)] | (10.000993742,15.3827690473)
         | (0,0)      | [(11,22),(33,44)]             | (11,22)
+        | (-10,0)    | [(1,2),(3,4)]                 | (1,2)
+        | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
+        | (-10,0)    | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258,15.386461014)
         | (-10,0)    | [(11,22),(33,44)]             | (11,22)
+        | (-3,4)     | [(1,2),(3,4)]                 | (1,2)
+        | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
+        | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (-3,4)     | [(-1000000,200),(300000,-40)] | (-2.99789812268,15.3851688427)
         | (-3,4)     | [(11,22),(33,44)]             | (11,22)
+        | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
+        | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
+        | (5.1,34.5) | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221,15.3836744977)
         | (5.1,34.5) | [(11,22),(33,44)]             | (14.3,25.3)
+        | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
+        | (-5,-12)   | [(0,0),(6,6)]                 | (0,0)
+        | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878,-4.64390243902)
+        | (-5,-12)   | [(-1000000,200),(300000,-40)] | (-4.99494420846,15.3855375282)
         | (-5,-12)   | [(11,22),(33,44)]             | (11,22)
+        | (10,10)    | [(1,2),(3,4)]                 | (3,4)
+        | (10,10)    | [(0,0),(6,6)]                 | (6,6)
+        | (10,10)    | [(10,-10),(-3,-4)]            | (2.39024390244,-6.48780487805)
+        | (10,10)    | [(-1000000,200),(300000,-40)] | (10.000993742,15.3827690473)
         | (10,10)    | [(11,22),(33,44)]             | (11,22)
 (30 rows)
 
@@ -166,28 +166,28 @@ SELECT '' AS twentyfour, b.f1 + p.f1 AS translation
  twentyfour |       translation       
 ------------+-------------------------
             | (2,2),(0,0)
-            | (-8,2),(-10,0)
-            | (-1,6),(-3,4)
-            | (7.1,36.5),(5.1,34.5)
-            | (-3,-10),(-5,-12)
-            | (12,12),(10,10)
             | (3,3),(1,1)
-            | (-7,3),(-9,1)
-            | (0,7),(-2,5)
-            | (8.1,37.5),(6.1,35.5)
-            | (-2,-9),(-4,-11)
-            | (13,13),(11,11)
             | (2.5,3.5),(2.5,2.5)
-            | (-7.5,3.5),(-7.5,2.5)
-            | (-0.5,7.5),(-0.5,6.5)
-            | (7.6,38),(7.6,37)
-            | (-2.5,-8.5),(-2.5,-9.5)
-            | (12.5,13.5),(12.5,12.5)
             | (3,3),(3,3)
+            | (-8,2),(-10,0)
+            | (-7,3),(-9,1)
+            | (-7.5,3.5),(-7.5,2.5)
             | (-7,3),(-7,3)
+            | (-1,6),(-3,4)
+            | (0,7),(-2,5)
+            | (-0.5,7.5),(-0.5,6.5)
             | (0,7),(0,7)
+            | (7.1,36.5),(5.1,34.5)
+            | (8.1,37.5),(6.1,35.5)
+            | (7.6,38),(7.6,37)
             | (8.1,37.5),(8.1,37.5)
+            | (-3,-10),(-5,-12)
+            | (-2,-9),(-4,-11)
+            | (-2.5,-8.5),(-2.5,-9.5)
             | (-2,-9),(-2,-9)
+            | (12,12),(10,10)
+            | (13,13),(11,11)
+            | (12.5,13.5),(12.5,12.5)
             | (13,13),(13,13)
 (24 rows)
 
@@ -196,28 +196,28 @@ SELECT '' AS twentyfour, b.f1 - p.f1 AS translation
  twentyfour |        translation        
 ------------+---------------------------
             | (2,2),(0,0)
-            | (12,2),(10,0)
-            | (5,-2),(3,-4)
-            | (-3.1,-32.5),(-5.1,-34.5)
-            | (7,14),(5,12)
-            | (-8,-8),(-10,-10)
             | (3,3),(1,1)
-            | (13,3),(11,1)
-            | (6,-1),(4,-3)
-            | (-2.1,-31.5),(-4.1,-33.5)
-            | (8,15),(6,13)
-            | (-7,-7),(-9,-9)
             | (2.5,3.5),(2.5,2.5)
-            | (12.5,3.5),(12.5,2.5)
-            | (5.5,-0.5),(5.5,-1.5)
-            | (-2.6,-31),(-2.6,-32)
-            | (7.5,15.5),(7.5,14.5)
-            | (-7.5,-6.5),(-7.5,-7.5)
             | (3,3),(3,3)
+            | (12,2),(10,0)
+            | (13,3),(11,1)
+            | (12.5,3.5),(12.5,2.5)
             | (13,3),(13,3)
+            | (5,-2),(3,-4)
+            | (6,-1),(4,-3)
+            | (5.5,-0.5),(5.5,-1.5)
             | (6,-1),(6,-1)
+            | (-3.1,-32.5),(-5.1,-34.5)
+            | (-2.1,-31.5),(-4.1,-33.5)
+            | (-2.6,-31),(-2.6,-32)
             | (-2.1,-31.5),(-2.1,-31.5)
+            | (7,14),(5,12)
+            | (8,15),(6,13)
+            | (7.5,15.5),(7.5,14.5)
             | (8,15),(8,15)
+            | (-8,-8),(-10,-10)
+            | (-7,-7),(-9,-9)
+            | (-7.5,-6.5),(-7.5,-7.5)
             | (-7,-7),(-7,-7)
 (24 rows)
 
@@ -227,28 +227,28 @@ SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation
  twentyfour |          rotation           
 ------------+-----------------------------
             | (0,0),(0,0)
-            | (0,0),(-20,-20)
-            | (0,2),(-14,0)
-            | (0,79.2),(-58.8,0)
-            | (14,0),(0,-34)
-            | (0,40),(0,0)
             | (0,0),(0,0)
-            | (-10,-10),(-30,-30)
-            | (-7,3),(-21,1)
-            | (-29.4,118.8),(-88.2,39.6)
-            | (21,-17),(7,-51)
-            | (0,60),(0,20)
             | (0,0),(0,0)
-            | (-25,-25),(-25,-35)
-            | (-17.5,2.5),(-21.5,-0.5)
-            | (-73.5,104.1),(-108,99)
-            | (29.5,-42.5),(17.5,-47.5)
-            | (0,60),(-10,50)
             | (0,0),(0,0)
+            | (0,0),(-20,-20)
+            | (-10,-10),(-30,-30)
+            | (-25,-25),(-25,-35)
             | (-30,-30),(-30,-30)
+            | (0,2),(-14,0)
+            | (-7,3),(-21,1)
+            | (-17.5,2.5),(-21.5,-0.5)
             | (-21,3),(-21,3)
+            | (0,79.2),(-58.8,0)
+            | (-29.4,118.8),(-88.2,39.6)
+            | (-73.5,104.1),(-108,99)
             | (-88.2,118.8),(-88.2,118.8)
+            | (14,0),(0,-34)
+            | (21,-17),(7,-51)
+            | (29.5,-42.5),(17.5,-47.5)
             | (21,-51),(21,-51)
+            | (0,40),(0,0)
+            | (0,60),(0,20)
+            | (0,60),(-10,50)
             | (0,60),(0,60)
 (24 rows)
 
@@ -258,24 +258,24 @@ SELECT '' AS twenty, b.f1 / p.f1 AS rotation
  twenty |                               rotation                               
 --------+----------------------------------------------------------------------
         | (0,0),(-0.2,-0.2)
-        | (-0.1,-0.1),(-0.3,-0.3)
-        | (-0.25,-0.25),(-0.25,-0.35)
-        | (-0.3,-0.3),(-0.3,-0.3)
         | (0.08,0),(0,-0.56)
-        | (0.12,-0.28),(0.04,-0.84)
-        | (0.26,-0.7),(0.1,-0.82)
-        | (0.12,-0.84),(0.12,-0.84)
         | (0.0651176557644,0),(0,-0.0483449262493)
-        | (0.0976764836466,-0.0241724631247),(0.0325588278822,-0.072517389374)
-        | (0.109762715209,-0.0562379754329),(0.0813970697055,-0.0604311578117)
-        | (0.0976764836466,-0.072517389374),(0.0976764836466,-0.072517389374)
         | (0,0.0828402366864),(-0.201183431953,0)
-        | (-0.100591715976,0.12426035503),(-0.301775147929,0.0414201183432)
-        | (-0.251479289941,0.103550295858),(-0.322485207101,0.0739644970414)
-        | (-0.301775147929,0.12426035503),(-0.301775147929,0.12426035503)
         | (0.2,0),(0,0)
+        | (-0.1,-0.1),(-0.3,-0.3)
+        | (0.12,-0.28),(0.04,-0.84)
+        | (0.0976764836466,-0.0241724631247),(0.0325588278822,-0.072517389374)
+        | (-0.100591715976,0.12426035503),(-0.301775147929,0.0414201183432)
         | (0.3,0),(0.1,0)
+        | (-0.25,-0.25),(-0.25,-0.35)
+        | (0.26,-0.7),(0.1,-0.82)
+        | (0.109762715209,-0.0562379754329),(0.0813970697055,-0.0604311578117)
+        | (-0.251479289941,0.103550295858),(-0.322485207101,0.0739644970414)
         | (0.3,0.05),(0.25,0)
+        | (-0.3,-0.3),(-0.3,-0.3)
+        | (0.12,-0.84),(0.12,-0.84)
+        | (0.0976764836466,-0.072517389374),(0.0976764836466,-0.072517389374)
+        | (-0.301775147929,0.12426035503),(-0.301775147929,0.12426035503)
         | (0.3,0),(0.3,0)
 (20 rows)
 
@@ -345,28 +345,28 @@ SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains
  twentyfour |     f1     |         f1          | contains 
 ------------+------------+---------------------+----------
             | (0,0)      | ((2,0),(2,4),(0,0)) | t
-            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
-            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
-            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
-            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
-            | (10,10)    | ((2,0),(2,4),(0,0)) | f
             | (0,0)      | ((3,1),(3,3),(1,0)) | f
-            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
-            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
-            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
-            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
-            | (10,10)    | ((3,1),(3,3),(1,0)) | f
             | (0,0)      | ((0,0))             | t
-            | (-10,0)    | ((0,0))             | f
-            | (-3,4)     | ((0,0))             | f
-            | (5.1,34.5) | ((0,0))             | f
-            | (-5,-12)   | ((0,0))             | f
-            | (10,10)    | ((0,0))             | f
             | (0,0)      | ((0,1),(0,1))       | f
+            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
+            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
+            | (-10,0)    | ((0,0))             | f
             | (-10,0)    | ((0,1),(0,1))       | f
+            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
+            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
+            | (-3,4)     | ((0,0))             | f
             | (-3,4)     | ((0,1),(0,1))       | f
+            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
+            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
+            | (5.1,34.5) | ((0,0))             | f
             | (5.1,34.5) | ((0,1),(0,1))       | f
+            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
+            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
+            | (-5,-12)   | ((0,0))             | f
             | (-5,-12)   | ((0,1),(0,1))       | f
+            | (10,10)    | ((2,0),(2,4),(0,0)) | f
+            | (10,10)    | ((3,1),(3,3),(1,0)) | f
+            | (10,10)    | ((0,0))             | f
             | (10,10)    | ((0,1),(0,1))       | f
 (24 rows)
 
@@ -375,28 +375,28 @@ SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained
  twentyfour |     f1     |         f1          | contained 
 ------------+------------+---------------------+-----------
             | (0,0)      | ((2,0),(2,4),(0,0)) | t
-            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
-            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
-            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
-            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
-            | (10,10)    | ((2,0),(2,4),(0,0)) | f
             | (0,0)      | ((3,1),(3,3),(1,0)) | f
-            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
-            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
-            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
-            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
-            | (10,10)    | ((3,1),(3,3),(1,0)) | f
             | (0,0)      | ((0,0))             | t
-            | (-10,0)    | ((0,0))             | f
-            | (-3,4)     | ((0,0))             | f
-            | (5.1,34.5) | ((0,0))             | f
-            | (-5,-12)   | ((0,0))             | f
-            | (10,10)    | ((0,0))             | f
             | (0,0)      | ((0,1),(0,1))       | f
+            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
+            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
+            | (-10,0)    | ((0,0))             | f
             | (-10,0)    | ((0,1),(0,1))       | f
+            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
+            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
+            | (-3,4)     | ((0,0))             | f
             | (-3,4)     | ((0,1),(0,1))       | f
+            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
+            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
+            | (5.1,34.5) | ((0,0))             | f
             | (5.1,34.5) | ((0,1),(0,1))       | f
+            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
+            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
+            | (-5,-12)   | ((0,0))             | f
             | (-5,-12)   | ((0,1),(0,1))       | f
+            | (10,10)    | ((2,0),(2,4),(0,0)) | f
+            | (10,10)    | ((3,1),(3,3),(1,0)) | f
+            | (10,10)    | ((0,0))             | f
             | (10,10)    | ((0,1),(0,1))       | f
 (24 rows)
 
diff --git a/src/test/regress/expected/geometry_2.out b/src/test/regress/expected/geometry_2.out
index df2fc40a1aa..a5ff53d6f4b 100644
--- a/src/test/regress/expected/geometry_2.out
+++ b/src/test/regress/expected/geometry_2.out
@@ -112,34 +112,34 @@ SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest
  thirty |     f1     |               s               |             closest              
 --------+------------+-------------------------------+----------------------------------
         | (0,0)      | [(1,2),(3,4)]                 | (1,2)
-        | (-10,0)    | [(1,2),(3,4)]                 | (1,2)
-        | (-3,4)     | [(1,2),(3,4)]                 | (1,2)
-        | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
-        | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
-        | (10,10)    | [(1,2),(3,4)]                 | (3,4)
         | (0,0)      | [(0,0),(6,6)]                 | (0,0)
-        | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
-        | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
-        | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
-        | (-5,-12)   | [(0,0),(6,6)]                 | (0,0)
-        | (10,10)    | [(0,0),(6,6)]                 | (6,6)
         | (0,0)      | [(10,-10),(-3,-4)]            | (-2.0487804878,-4.43902439024)
-        | (-10,0)    | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (5.1,34.5) | [(10,-10),(-3,-4)]            | (-3,-4)
-        | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878,-4.64390243902)
-        | (10,10)    | [(10,-10),(-3,-4)]            | (2.39024390244,-6.48780487805)
         | (0,0)      | [(-1000000,200),(300000,-40)] | (0.00284023658959,15.3846148603)
-        | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258,15.386461014)
-        | (-3,4)     | [(-1000000,200),(300000,-40)] | (-2.99789812268,15.3851688427)
-        | (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221,15.3836744977)
-        | (-5,-12)   | [(-1000000,200),(300000,-40)] | (-4.99494420846,15.3855375282)
-        | (10,10)    | [(-1000000,200),(300000,-40)] | (10.000993742,15.3827690473)
         | (0,0)      | [(11,22),(33,44)]             | (11,22)
+        | (-10,0)    | [(1,2),(3,4)]                 | (1,2)
+        | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
+        | (-10,0)    | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258,15.386461014)
         | (-10,0)    | [(11,22),(33,44)]             | (11,22)
+        | (-3,4)     | [(1,2),(3,4)]                 | (1,2)
+        | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
+        | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (-3,4)     | [(-1000000,200),(300000,-40)] | (-2.99789812268,15.3851688427)
         | (-3,4)     | [(11,22),(33,44)]             | (11,22)
+        | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
+        | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
+        | (5.1,34.5) | [(10,-10),(-3,-4)]            | (-3,-4)
+        | (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221,15.3836744977)
         | (5.1,34.5) | [(11,22),(33,44)]             | (14.3,25.3)
+        | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
+        | (-5,-12)   | [(0,0),(6,6)]                 | (0,0)
+        | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878,-4.64390243902)
+        | (-5,-12)   | [(-1000000,200),(300000,-40)] | (-4.99494420846,15.3855375282)
         | (-5,-12)   | [(11,22),(33,44)]             | (11,22)
+        | (10,10)    | [(1,2),(3,4)]                 | (3,4)
+        | (10,10)    | [(0,0),(6,6)]                 | (6,6)
+        | (10,10)    | [(10,-10),(-3,-4)]            | (2.39024390244,-6.48780487805)
+        | (10,10)    | [(-1000000,200),(300000,-40)] | (10.000993742,15.3827690473)
         | (10,10)    | [(11,22),(33,44)]             | (11,22)
 (30 rows)
 
@@ -166,28 +166,28 @@ SELECT '' AS twentyfour, b.f1 + p.f1 AS translation
  twentyfour |       translation       
 ------------+-------------------------
             | (2,2),(0,0)
-            | (-8,2),(-10,0)
-            | (-1,6),(-3,4)
-            | (7.1,36.5),(5.1,34.5)
-            | (-3,-10),(-5,-12)
-            | (12,12),(10,10)
             | (3,3),(1,1)
-            | (-7,3),(-9,1)
-            | (0,7),(-2,5)
-            | (8.1,37.5),(6.1,35.5)
-            | (-2,-9),(-4,-11)
-            | (13,13),(11,11)
             | (2.5,3.5),(2.5,2.5)
-            | (-7.5,3.5),(-7.5,2.5)
-            | (-0.5,7.5),(-0.5,6.5)
-            | (7.6,38),(7.6,37)
-            | (-2.5,-8.5),(-2.5,-9.5)
-            | (12.5,13.5),(12.5,12.5)
             | (3,3),(3,3)
+            | (-8,2),(-10,0)
+            | (-7,3),(-9,1)
+            | (-7.5,3.5),(-7.5,2.5)
             | (-7,3),(-7,3)
+            | (-1,6),(-3,4)
+            | (0,7),(-2,5)
+            | (-0.5,7.5),(-0.5,6.5)
             | (0,7),(0,7)
+            | (7.1,36.5),(5.1,34.5)
+            | (8.1,37.5),(6.1,35.5)
+            | (7.6,38),(7.6,37)
             | (8.1,37.5),(8.1,37.5)
+            | (-3,-10),(-5,-12)
+            | (-2,-9),(-4,-11)
+            | (-2.5,-8.5),(-2.5,-9.5)
             | (-2,-9),(-2,-9)
+            | (12,12),(10,10)
+            | (13,13),(11,11)
+            | (12.5,13.5),(12.5,12.5)
             | (13,13),(13,13)
 (24 rows)
 
@@ -196,28 +196,28 @@ SELECT '' AS twentyfour, b.f1 - p.f1 AS translation
  twentyfour |        translation        
 ------------+---------------------------
             | (2,2),(0,0)
-            | (12,2),(10,0)
-            | (5,-2),(3,-4)
-            | (-3.1,-32.5),(-5.1,-34.5)
-            | (7,14),(5,12)
-            | (-8,-8),(-10,-10)
             | (3,3),(1,1)
-            | (13,3),(11,1)
-            | (6,-1),(4,-3)
-            | (-2.1,-31.5),(-4.1,-33.5)
-            | (8,15),(6,13)
-            | (-7,-7),(-9,-9)
             | (2.5,3.5),(2.5,2.5)
-            | (12.5,3.5),(12.5,2.5)
-            | (5.5,-0.5),(5.5,-1.5)
-            | (-2.6,-31),(-2.6,-32)
-            | (7.5,15.5),(7.5,14.5)
-            | (-7.5,-6.5),(-7.5,-7.5)
             | (3,3),(3,3)
+            | (12,2),(10,0)
+            | (13,3),(11,1)
+            | (12.5,3.5),(12.5,2.5)
             | (13,3),(13,3)
+            | (5,-2),(3,-4)
+            | (6,-1),(4,-3)
+            | (5.5,-0.5),(5.5,-1.5)
             | (6,-1),(6,-1)
+            | (-3.1,-32.5),(-5.1,-34.5)
+            | (-2.1,-31.5),(-4.1,-33.5)
+            | (-2.6,-31),(-2.6,-32)
             | (-2.1,-31.5),(-2.1,-31.5)
+            | (7,14),(5,12)
+            | (8,15),(6,13)
+            | (7.5,15.5),(7.5,14.5)
             | (8,15),(8,15)
+            | (-8,-8),(-10,-10)
+            | (-7,-7),(-9,-9)
+            | (-7.5,-6.5),(-7.5,-7.5)
             | (-7,-7),(-7,-7)
 (24 rows)
 
@@ -227,28 +227,28 @@ SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation
  twentyfour |          rotation           
 ------------+-----------------------------
             | (0,0),(0,0)
-            | (-0,0),(-20,-20)
-            | (-0,2),(-14,0)
-            | (0,79.2),(-58.8,0)
-            | (14,-0),(0,-34)
-            | (0,40),(0,0)
             | (0,0),(0,0)
-            | (-10,-10),(-30,-30)
-            | (-7,3),(-21,1)
-            | (-29.4,118.8),(-88.2,39.6)
-            | (21,-17),(7,-51)
-            | (0,60),(0,20)
             | (0,0),(0,0)
-            | (-25,-25),(-25,-35)
-            | (-17.5,2.5),(-21.5,-0.5)
-            | (-73.5,104.1),(-108,99)
-            | (29.5,-42.5),(17.5,-47.5)
-            | (0,60),(-10,50)
             | (0,0),(0,0)
+            | (-0,0),(-20,-20)
+            | (-10,-10),(-30,-30)
+            | (-25,-25),(-25,-35)
             | (-30,-30),(-30,-30)
+            | (-0,2),(-14,0)
+            | (-7,3),(-21,1)
+            | (-17.5,2.5),(-21.5,-0.5)
             | (-21,3),(-21,3)
+            | (0,79.2),(-58.8,0)
+            | (-29.4,118.8),(-88.2,39.6)
+            | (-73.5,104.1),(-108,99)
             | (-88.2,118.8),(-88.2,118.8)
+            | (14,-0),(0,-34)
+            | (21,-17),(7,-51)
+            | (29.5,-42.5),(17.5,-47.5)
             | (21,-51),(21,-51)
+            | (0,40),(0,0)
+            | (0,60),(0,20)
+            | (0,60),(-10,50)
             | (0,60),(0,60)
 (24 rows)
 
@@ -258,24 +258,24 @@ SELECT '' AS twenty, b.f1 / p.f1 AS rotation
  twenty |                               rotation                               
 --------+----------------------------------------------------------------------
         | (0,-0),(-0.2,-0.2)
-        | (-0.1,-0.1),(-0.3,-0.3)
-        | (-0.25,-0.25),(-0.25,-0.35)
-        | (-0.3,-0.3),(-0.3,-0.3)
         | (0.08,-0),(0,-0.56)
-        | (0.12,-0.28),(0.04,-0.84)
-        | (0.26,-0.7),(0.1,-0.82)
-        | (0.12,-0.84),(0.12,-0.84)
         | (0.0651176557644,0),(0,-0.0483449262493)
-        | (0.0976764836466,-0.0241724631247),(0.0325588278822,-0.072517389374)
-        | (0.109762715209,-0.0562379754329),(0.0813970697055,-0.0604311578117)
-        | (0.0976764836466,-0.072517389374),(0.0976764836466,-0.072517389374)
         | (-0,0.0828402366864),(-0.201183431953,0)
-        | (-0.100591715976,0.12426035503),(-0.301775147929,0.0414201183432)
-        | (-0.251479289941,0.103550295858),(-0.322485207101,0.0739644970414)
-        | (-0.301775147929,0.12426035503),(-0.301775147929,0.12426035503)
         | (0.2,0),(0,0)
+        | (-0.1,-0.1),(-0.3,-0.3)
+        | (0.12,-0.28),(0.04,-0.84)
+        | (0.0976764836466,-0.0241724631247),(0.0325588278822,-0.072517389374)
+        | (-0.100591715976,0.12426035503),(-0.301775147929,0.0414201183432)
         | (0.3,0),(0.1,0)
+        | (-0.25,-0.25),(-0.25,-0.35)
+        | (0.26,-0.7),(0.1,-0.82)
+        | (0.109762715209,-0.0562379754329),(0.0813970697055,-0.0604311578117)
+        | (-0.251479289941,0.103550295858),(-0.322485207101,0.0739644970414)
         | (0.3,0.05),(0.25,0)
+        | (-0.3,-0.3),(-0.3,-0.3)
+        | (0.12,-0.84),(0.12,-0.84)
+        | (0.0976764836466,-0.072517389374),(0.0976764836466,-0.072517389374)
+        | (-0.301775147929,0.12426035503),(-0.301775147929,0.12426035503)
         | (0.3,0),(0.3,0)
 (20 rows)
 
@@ -345,28 +345,28 @@ SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains
  twentyfour |     f1     |         f1          | contains 
 ------------+------------+---------------------+----------
             | (0,0)      | ((2,0),(2,4),(0,0)) | t
-            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
-            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
-            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
-            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
-            | (10,10)    | ((2,0),(2,4),(0,0)) | f
             | (0,0)      | ((3,1),(3,3),(1,0)) | f
-            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
-            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
-            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
-            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
-            | (10,10)    | ((3,1),(3,3),(1,0)) | f
             | (0,0)      | ((0,0))             | t
-            | (-10,0)    | ((0,0))             | f
-            | (-3,4)     | ((0,0))             | f
-            | (5.1,34.5) | ((0,0))             | f
-            | (-5,-12)   | ((0,0))             | f
-            | (10,10)    | ((0,0))             | f
             | (0,0)      | ((0,1),(0,1))       | f
+            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
+            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
+            | (-10,0)    | ((0,0))             | f
             | (-10,0)    | ((0,1),(0,1))       | f
+            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
+            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
+            | (-3,4)     | ((0,0))             | f
             | (-3,4)     | ((0,1),(0,1))       | f
+            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
+            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
+            | (5.1,34.5) | ((0,0))             | f
             | (5.1,34.5) | ((0,1),(0,1))       | f
+            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
+            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
+            | (-5,-12)   | ((0,0))             | f
             | (-5,-12)   | ((0,1),(0,1))       | f
+            | (10,10)    | ((2,0),(2,4),(0,0)) | f
+            | (10,10)    | ((3,1),(3,3),(1,0)) | f
+            | (10,10)    | ((0,0))             | f
             | (10,10)    | ((0,1),(0,1))       | f
 (24 rows)
 
@@ -375,28 +375,28 @@ SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained
  twentyfour |     f1     |         f1          | contained 
 ------------+------------+---------------------+-----------
             | (0,0)      | ((2,0),(2,4),(0,0)) | t
-            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
-            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
-            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
-            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
-            | (10,10)    | ((2,0),(2,4),(0,0)) | f
             | (0,0)      | ((3,1),(3,3),(1,0)) | f
-            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
-            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
-            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
-            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
-            | (10,10)    | ((3,1),(3,3),(1,0)) | f
             | (0,0)      | ((0,0))             | t
-            | (-10,0)    | ((0,0))             | f
-            | (-3,4)     | ((0,0))             | f
-            | (5.1,34.5) | ((0,0))             | f
-            | (-5,-12)   | ((0,0))             | f
-            | (10,10)    | ((0,0))             | f
             | (0,0)      | ((0,1),(0,1))       | f
+            | (-10,0)    | ((2,0),(2,4),(0,0)) | f
+            | (-10,0)    | ((3,1),(3,3),(1,0)) | f
+            | (-10,0)    | ((0,0))             | f
             | (-10,0)    | ((0,1),(0,1))       | f
+            | (-3,4)     | ((2,0),(2,4),(0,0)) | f
+            | (-3,4)     | ((3,1),(3,3),(1,0)) | f
+            | (-3,4)     | ((0,0))             | f
             | (-3,4)     | ((0,1),(0,1))       | f
+            | (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
+            | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
+            | (5.1,34.5) | ((0,0))             | f
             | (5.1,34.5) | ((0,1),(0,1))       | f
+            | (-5,-12)   | ((2,0),(2,4),(0,0)) | f
+            | (-5,-12)   | ((3,1),(3,3),(1,0)) | f
+            | (-5,-12)   | ((0,0))             | f
             | (-5,-12)   | ((0,1),(0,1))       | f
+            | (10,10)    | ((2,0),(2,4),(0,0)) | f
+            | (10,10)    | ((3,1),(3,3),(1,0)) | f
+            | (10,10)    | ((0,0))             | f
             | (10,10)    | ((0,1),(0,1))       | f
 (24 rows)
 
diff --git a/src/test/regress/expected/inherit.out b/src/test/regress/expected/inherit.out
index a04da28e16a..6e8e9ca18d9 100644
--- a/src/test/regress/expected/inherit.out
+++ b/src/test/regress/expected/inherit.out
@@ -557,17 +557,18 @@ insert into bar2 values(2,2,2);
 insert into bar2 values(3,3,3);
 insert into bar2 values(4,4,4);
 update bar set f2 = f2 + 100 where f1 in (select f1 from foo);
-SELECT relname, bar.* FROM bar, pg_class where bar.tableoid = pg_class.oid;
+SELECT relname, bar.* FROM bar, pg_class where bar.tableoid = pg_class.oid
+order by 1,2;
  relname | f1 | f2  
 ---------+----+-----
- bar     |  4 |   4
- bar     |  3 | 103
- bar     |  2 | 102
  bar     |  1 | 101
- bar2    |  4 |   4
- bar2    |  3 | 103
- bar2    |  2 | 102
+ bar     |  2 | 102
+ bar     |  3 | 103
+ bar     |  4 |   4
  bar2    |  1 | 101
+ bar2    |  2 | 102
+ bar2    |  3 | 103
+ bar2    |  4 |   4
 (8 rows)
 
 /* Test inheritance of structure (LIKE) */
diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out
index ec708f77660..58d0d3f06f5 100644
--- a/src/test/regress/expected/join.out
+++ b/src/test/regress/expected/join.out
@@ -109,103 +109,103 @@ SELECT '' AS "xxx", *
  xxx | a | b |   c   | d | e  
 -----+---+---+-------+---+----
      | 1 | 4 | one   | 1 | -1
-     | 1 | 4 | one   | 2 |  2
-     | 1 | 4 | one   | 3 | -3
-     | 1 | 4 | one   | 2 |  4
-     | 1 | 4 | one   | 5 | -5
-     | 1 | 4 | one   | 5 | -5
-     | 1 | 4 | one   | 0 |   
-     | 1 | 4 | one   |   |   
-     | 1 | 4 | one   |   |  0
      | 2 | 3 | two   | 1 | -1
-     | 2 | 3 | two   | 2 |  2
-     | 2 | 3 | two   | 3 | -3
-     | 2 | 3 | two   | 2 |  4
-     | 2 | 3 | two   | 5 | -5
-     | 2 | 3 | two   | 5 | -5
-     | 2 | 3 | two   | 0 |   
-     | 2 | 3 | two   |   |   
-     | 2 | 3 | two   |   |  0
      | 3 | 2 | three | 1 | -1
-     | 3 | 2 | three | 2 |  2
-     | 3 | 2 | three | 3 | -3
-     | 3 | 2 | three | 2 |  4
-     | 3 | 2 | three | 5 | -5
-     | 3 | 2 | three | 5 | -5
-     | 3 | 2 | three | 0 |   
-     | 3 | 2 | three |   |   
-     | 3 | 2 | three |   |  0
      | 4 | 1 | four  | 1 | -1
-     | 4 | 1 | four  | 2 |  2
-     | 4 | 1 | four  | 3 | -3
-     | 4 | 1 | four  | 2 |  4
-     | 4 | 1 | four  | 5 | -5
-     | 4 | 1 | four  | 5 | -5
-     | 4 | 1 | four  | 0 |   
-     | 4 | 1 | four  |   |   
-     | 4 | 1 | four  |   |  0
      | 5 | 0 | five  | 1 | -1
-     | 5 | 0 | five  | 2 |  2
-     | 5 | 0 | five  | 3 | -3
-     | 5 | 0 | five  | 2 |  4
-     | 5 | 0 | five  | 5 | -5
-     | 5 | 0 | five  | 5 | -5
-     | 5 | 0 | five  | 0 |   
-     | 5 | 0 | five  |   |   
-     | 5 | 0 | five  |   |  0
      | 6 | 6 | six   | 1 | -1
-     | 6 | 6 | six   | 2 |  2
-     | 6 | 6 | six   | 3 | -3
-     | 6 | 6 | six   | 2 |  4
-     | 6 | 6 | six   | 5 | -5
-     | 6 | 6 | six   | 5 | -5
-     | 6 | 6 | six   | 0 |   
-     | 6 | 6 | six   |   |   
-     | 6 | 6 | six   |   |  0
      | 7 | 7 | seven | 1 | -1
-     | 7 | 7 | seven | 2 |  2
-     | 7 | 7 | seven | 3 | -3
-     | 7 | 7 | seven | 2 |  4
-     | 7 | 7 | seven | 5 | -5
-     | 7 | 7 | seven | 5 | -5
-     | 7 | 7 | seven | 0 |   
-     | 7 | 7 | seven |   |   
-     | 7 | 7 | seven |   |  0
      | 8 | 8 | eight | 1 | -1
-     | 8 | 8 | eight | 2 |  2
-     | 8 | 8 | eight | 3 | -3
-     | 8 | 8 | eight | 2 |  4
-     | 8 | 8 | eight | 5 | -5
-     | 8 | 8 | eight | 5 | -5
-     | 8 | 8 | eight | 0 |   
-     | 8 | 8 | eight |   |   
-     | 8 | 8 | eight |   |  0
      | 0 |   | zero  | 1 | -1
-     | 0 |   | zero  | 2 |  2
-     | 0 |   | zero  | 3 | -3
-     | 0 |   | zero  | 2 |  4
-     | 0 |   | zero  | 5 | -5
-     | 0 |   | zero  | 5 | -5
-     | 0 |   | zero  | 0 |   
-     | 0 |   | zero  |   |   
-     | 0 |   | zero  |   |  0
      |   |   | null  | 1 | -1
-     |   |   | null  | 2 |  2
-     |   |   | null  | 3 | -3
-     |   |   | null  | 2 |  4
-     |   |   | null  | 5 | -5
-     |   |   | null  | 5 | -5
-     |   |   | null  | 0 |   
-     |   |   | null  |   |   
-     |   |   | null  |   |  0
      |   | 0 | zero  | 1 | -1
+     | 1 | 4 | one   | 2 |  2
+     | 2 | 3 | two   | 2 |  2
+     | 3 | 2 | three | 2 |  2
+     | 4 | 1 | four  | 2 |  2
+     | 5 | 0 | five  | 2 |  2
+     | 6 | 6 | six   | 2 |  2
+     | 7 | 7 | seven | 2 |  2
+     | 8 | 8 | eight | 2 |  2
+     | 0 |   | zero  | 2 |  2
+     |   |   | null  | 2 |  2
      |   | 0 | zero  | 2 |  2
+     | 1 | 4 | one   | 3 | -3
+     | 2 | 3 | two   | 3 | -3
+     | 3 | 2 | three | 3 | -3
+     | 4 | 1 | four  | 3 | -3
+     | 5 | 0 | five  | 3 | -3
+     | 6 | 6 | six   | 3 | -3
+     | 7 | 7 | seven | 3 | -3
+     | 8 | 8 | eight | 3 | -3
+     | 0 |   | zero  | 3 | -3
+     |   |   | null  | 3 | -3
      |   | 0 | zero  | 3 | -3
+     | 1 | 4 | one   | 2 |  4
+     | 2 | 3 | two   | 2 |  4
+     | 3 | 2 | three | 2 |  4
+     | 4 | 1 | four  | 2 |  4
+     | 5 | 0 | five  | 2 |  4
+     | 6 | 6 | six   | 2 |  4
+     | 7 | 7 | seven | 2 |  4
+     | 8 | 8 | eight | 2 |  4
+     | 0 |   | zero  | 2 |  4
+     |   |   | null  | 2 |  4
      |   | 0 | zero  | 2 |  4
+     | 1 | 4 | one   | 5 | -5
+     | 2 | 3 | two   | 5 | -5
+     | 3 | 2 | three | 5 | -5
+     | 4 | 1 | four  | 5 | -5
+     | 5 | 0 | five  | 5 | -5
+     | 6 | 6 | six   | 5 | -5
+     | 7 | 7 | seven | 5 | -5
+     | 8 | 8 | eight | 5 | -5
+     | 0 |   | zero  | 5 | -5
+     |   |   | null  | 5 | -5
      |   | 0 | zero  | 5 | -5
+     | 1 | 4 | one   | 5 | -5
+     | 2 | 3 | two   | 5 | -5
+     | 3 | 2 | three | 5 | -5
+     | 4 | 1 | four  | 5 | -5
+     | 5 | 0 | five  | 5 | -5
+     | 6 | 6 | six   | 5 | -5
+     | 7 | 7 | seven | 5 | -5
+     | 8 | 8 | eight | 5 | -5
+     | 0 |   | zero  | 5 | -5
+     |   |   | null  | 5 | -5
      |   | 0 | zero  | 5 | -5
+     | 1 | 4 | one   | 0 |   
+     | 2 | 3 | two   | 0 |   
+     | 3 | 2 | three | 0 |   
+     | 4 | 1 | four  | 0 |   
+     | 5 | 0 | five  | 0 |   
+     | 6 | 6 | six   | 0 |   
+     | 7 | 7 | seven | 0 |   
+     | 8 | 8 | eight | 0 |   
+     | 0 |   | zero  | 0 |   
+     |   |   | null  | 0 |   
      |   | 0 | zero  | 0 |   
+     | 1 | 4 | one   |   |   
+     | 2 | 3 | two   |   |   
+     | 3 | 2 | three |   |   
+     | 4 | 1 | four  |   |   
+     | 5 | 0 | five  |   |   
+     | 6 | 6 | six   |   |   
+     | 7 | 7 | seven |   |   
+     | 8 | 8 | eight |   |   
+     | 0 |   | zero  |   |   
+     |   |   | null  |   |   
      |   | 0 | zero  |   |   
+     | 1 | 4 | one   |   |  0
+     | 2 | 3 | two   |   |  0
+     | 3 | 2 | three |   |  0
+     | 4 | 1 | four  |   |  0
+     | 5 | 0 | five  |   |  0
+     | 6 | 6 | six   |   |  0
+     | 7 | 7 | seven |   |  0
+     | 8 | 8 | eight |   |  0
+     | 0 |   | zero  |   |  0
+     |   |   | null  |   |  0
      |   | 0 | zero  |   |  0
 (99 rows)
 
@@ -233,103 +233,103 @@ SELECT '' AS "xxx", *
  xxx | i | j |   t   | i | k  
 -----+---+---+-------+---+----
      | 1 | 4 | one   | 1 | -1
-     | 1 | 4 | one   | 2 |  2
-     | 1 | 4 | one   | 3 | -3
-     | 1 | 4 | one   | 2 |  4
-     | 1 | 4 | one   | 5 | -5
-     | 1 | 4 | one   | 5 | -5
-     | 1 | 4 | one   | 0 |   
-     | 1 | 4 | one   |   |   
-     | 1 | 4 | one   |   |  0
      | 2 | 3 | two   | 1 | -1
-     | 2 | 3 | two   | 2 |  2
-     | 2 | 3 | two   | 3 | -3
-     | 2 | 3 | two   | 2 |  4
-     | 2 | 3 | two   | 5 | -5
-     | 2 | 3 | two   | 5 | -5
-     | 2 | 3 | two   | 0 |   
-     | 2 | 3 | two   |   |   
-     | 2 | 3 | two   |   |  0
      | 3 | 2 | three | 1 | -1
-     | 3 | 2 | three | 2 |  2
-     | 3 | 2 | three | 3 | -3
-     | 3 | 2 | three | 2 |  4
-     | 3 | 2 | three | 5 | -5
-     | 3 | 2 | three | 5 | -5
-     | 3 | 2 | three | 0 |   
-     | 3 | 2 | three |   |   
-     | 3 | 2 | three |   |  0
      | 4 | 1 | four  | 1 | -1
-     | 4 | 1 | four  | 2 |  2
-     | 4 | 1 | four  | 3 | -3
-     | 4 | 1 | four  | 2 |  4
-     | 4 | 1 | four  | 5 | -5
-     | 4 | 1 | four  | 5 | -5
-     | 4 | 1 | four  | 0 |   
-     | 4 | 1 | four  |   |   
-     | 4 | 1 | four  |   |  0
      | 5 | 0 | five  | 1 | -1
-     | 5 | 0 | five  | 2 |  2
-     | 5 | 0 | five  | 3 | -3
-     | 5 | 0 | five  | 2 |  4
-     | 5 | 0 | five  | 5 | -5
-     | 5 | 0 | five  | 5 | -5
-     | 5 | 0 | five  | 0 |   
-     | 5 | 0 | five  |   |   
-     | 5 | 0 | five  |   |  0
      | 6 | 6 | six   | 1 | -1
-     | 6 | 6 | six   | 2 |  2
-     | 6 | 6 | six   | 3 | -3
-     | 6 | 6 | six   | 2 |  4
-     | 6 | 6 | six   | 5 | -5
-     | 6 | 6 | six   | 5 | -5
-     | 6 | 6 | six   | 0 |   
-     | 6 | 6 | six   |   |   
-     | 6 | 6 | six   |   |  0
      | 7 | 7 | seven | 1 | -1
-     | 7 | 7 | seven | 2 |  2
-     | 7 | 7 | seven | 3 | -3
-     | 7 | 7 | seven | 2 |  4
-     | 7 | 7 | seven | 5 | -5
-     | 7 | 7 | seven | 5 | -5
-     | 7 | 7 | seven | 0 |   
-     | 7 | 7 | seven |   |   
-     | 7 | 7 | seven |   |  0
      | 8 | 8 | eight | 1 | -1
-     | 8 | 8 | eight | 2 |  2
-     | 8 | 8 | eight | 3 | -3
-     | 8 | 8 | eight | 2 |  4
-     | 8 | 8 | eight | 5 | -5
-     | 8 | 8 | eight | 5 | -5
-     | 8 | 8 | eight | 0 |   
-     | 8 | 8 | eight |   |   
-     | 8 | 8 | eight |   |  0
      | 0 |   | zero  | 1 | -1
-     | 0 |   | zero  | 2 |  2
-     | 0 |   | zero  | 3 | -3
-     | 0 |   | zero  | 2 |  4
-     | 0 |   | zero  | 5 | -5
-     | 0 |   | zero  | 5 | -5
-     | 0 |   | zero  | 0 |   
-     | 0 |   | zero  |   |   
-     | 0 |   | zero  |   |  0
      |   |   | null  | 1 | -1
-     |   |   | null  | 2 |  2
-     |   |   | null  | 3 | -3
-     |   |   | null  | 2 |  4
-     |   |   | null  | 5 | -5
-     |   |   | null  | 5 | -5
-     |   |   | null  | 0 |   
-     |   |   | null  |   |   
-     |   |   | null  |   |  0
      |   | 0 | zero  | 1 | -1
+     | 1 | 4 | one   | 2 |  2
+     | 2 | 3 | two   | 2 |  2
+     | 3 | 2 | three | 2 |  2
+     | 4 | 1 | four  | 2 |  2
+     | 5 | 0 | five  | 2 |  2
+     | 6 | 6 | six   | 2 |  2
+     | 7 | 7 | seven | 2 |  2
+     | 8 | 8 | eight | 2 |  2
+     | 0 |   | zero  | 2 |  2
+     |   |   | null  | 2 |  2
      |   | 0 | zero  | 2 |  2
-     |   | 0 | zero  | 3 | -3
-     |   | 0 | zero  | 2 |  4
-     |   | 0 | zero  | 5 | -5
-     |   | 0 | zero  | 5 | -5
-     |   | 0 | zero  | 0 |   
-     |   | 0 | zero  |   |   
+     | 1 | 4 | one   | 3 | -3
+     | 2 | 3 | two   | 3 | -3
+     | 3 | 2 | three | 3 | -3
+     | 4 | 1 | four  | 3 | -3
+     | 5 | 0 | five  | 3 | -3
+     | 6 | 6 | six   | 3 | -3
+     | 7 | 7 | seven | 3 | -3
+     | 8 | 8 | eight | 3 | -3
+     | 0 |   | zero  | 3 | -3
+     |   |   | null  | 3 | -3
+     |   | 0 | zero  | 3 | -3
+     | 1 | 4 | one   | 2 |  4
+     | 2 | 3 | two   | 2 |  4
+     | 3 | 2 | three | 2 |  4
+     | 4 | 1 | four  | 2 |  4
+     | 5 | 0 | five  | 2 |  4
+     | 6 | 6 | six   | 2 |  4
+     | 7 | 7 | seven | 2 |  4
+     | 8 | 8 | eight | 2 |  4
+     | 0 |   | zero  | 2 |  4
+     |   |   | null  | 2 |  4
+     |   | 0 | zero  | 2 |  4
+     | 1 | 4 | one   | 5 | -5
+     | 2 | 3 | two   | 5 | -5
+     | 3 | 2 | three | 5 | -5
+     | 4 | 1 | four  | 5 | -5
+     | 5 | 0 | five  | 5 | -5
+     | 6 | 6 | six   | 5 | -5
+     | 7 | 7 | seven | 5 | -5
+     | 8 | 8 | eight | 5 | -5
+     | 0 |   | zero  | 5 | -5
+     |   |   | null  | 5 | -5
+     |   | 0 | zero  | 5 | -5
+     | 1 | 4 | one   | 5 | -5
+     | 2 | 3 | two   | 5 | -5
+     | 3 | 2 | three | 5 | -5
+     | 4 | 1 | four  | 5 | -5
+     | 5 | 0 | five  | 5 | -5
+     | 6 | 6 | six   | 5 | -5
+     | 7 | 7 | seven | 5 | -5
+     | 8 | 8 | eight | 5 | -5
+     | 0 |   | zero  | 5 | -5
+     |   |   | null  | 5 | -5
+     |   | 0 | zero  | 5 | -5
+     | 1 | 4 | one   | 0 |   
+     | 2 | 3 | two   | 0 |   
+     | 3 | 2 | three | 0 |   
+     | 4 | 1 | four  | 0 |   
+     | 5 | 0 | five  | 0 |   
+     | 6 | 6 | six   | 0 |   
+     | 7 | 7 | seven | 0 |   
+     | 8 | 8 | eight | 0 |   
+     | 0 |   | zero  | 0 |   
+     |   |   | null  | 0 |   
+     |   | 0 | zero  | 0 |   
+     | 1 | 4 | one   |   |   
+     | 2 | 3 | two   |   |   
+     | 3 | 2 | three |   |   
+     | 4 | 1 | four  |   |   
+     | 5 | 0 | five  |   |   
+     | 6 | 6 | six   |   |   
+     | 7 | 7 | seven |   |   
+     | 8 | 8 | eight |   |   
+     | 0 |   | zero  |   |   
+     |   |   | null  |   |   
+     |   | 0 | zero  |   |   
+     | 1 | 4 | one   |   |  0
+     | 2 | 3 | two   |   |  0
+     | 3 | 2 | three |   |  0
+     | 4 | 1 | four  |   |  0
+     | 5 | 0 | five  |   |  0
+     | 6 | 6 | six   |   |  0
+     | 7 | 7 | seven |   |  0
+     | 8 | 8 | eight |   |  0
+     | 0 |   | zero  |   |  0
+     |   |   | null  |   |  0
      |   | 0 | zero  |   |  0
 (99 rows)
 
@@ -343,103 +343,103 @@ SELECT '' AS "xxx", t1.i, k, t
  xxx | i | k  |   t   
 -----+---+----+-------
      | 1 | -1 | one
-     | 1 |  2 | one
-     | 1 | -3 | one
-     | 1 |  4 | one
-     | 1 | -5 | one
-     | 1 | -5 | one
-     | 1 |    | one
-     | 1 |    | one
-     | 1 |  0 | one
      | 2 | -1 | two
-     | 2 |  2 | two
-     | 2 | -3 | two
-     | 2 |  4 | two
-     | 2 | -5 | two
-     | 2 | -5 | two
-     | 2 |    | two
-     | 2 |    | two
-     | 2 |  0 | two
      | 3 | -1 | three
-     | 3 |  2 | three
-     | 3 | -3 | three
-     | 3 |  4 | three
-     | 3 | -5 | three
-     | 3 | -5 | three
-     | 3 |    | three
-     | 3 |    | three
-     | 3 |  0 | three
      | 4 | -1 | four
-     | 4 |  2 | four
-     | 4 | -3 | four
-     | 4 |  4 | four
-     | 4 | -5 | four
-     | 4 | -5 | four
-     | 4 |    | four
-     | 4 |    | four
-     | 4 |  0 | four
      | 5 | -1 | five
-     | 5 |  2 | five
-     | 5 | -3 | five
-     | 5 |  4 | five
-     | 5 | -5 | five
-     | 5 | -5 | five
-     | 5 |    | five
-     | 5 |    | five
-     | 5 |  0 | five
      | 6 | -1 | six
-     | 6 |  2 | six
-     | 6 | -3 | six
-     | 6 |  4 | six
-     | 6 | -5 | six
-     | 6 | -5 | six
-     | 6 |    | six
-     | 6 |    | six
-     | 6 |  0 | six
      | 7 | -1 | seven
-     | 7 |  2 | seven
-     | 7 | -3 | seven
-     | 7 |  4 | seven
-     | 7 | -5 | seven
-     | 7 | -5 | seven
-     | 7 |    | seven
-     | 7 |    | seven
-     | 7 |  0 | seven
      | 8 | -1 | eight
-     | 8 |  2 | eight
-     | 8 | -3 | eight
-     | 8 |  4 | eight
-     | 8 | -5 | eight
-     | 8 | -5 | eight
-     | 8 |    | eight
-     | 8 |    | eight
-     | 8 |  0 | eight
      | 0 | -1 | zero
-     | 0 |  2 | zero
-     | 0 | -3 | zero
-     | 0 |  4 | zero
-     | 0 | -5 | zero
-     | 0 | -5 | zero
-     | 0 |    | zero
-     | 0 |    | zero
-     | 0 |  0 | zero
      |   | -1 | null
-     |   |  2 | null
-     |   | -3 | null
-     |   |  4 | null
-     |   | -5 | null
-     |   | -5 | null
-     |   |    | null
-     |   |    | null
-     |   |  0 | null
      |   | -1 | zero
+     | 1 |  2 | one
+     | 2 |  2 | two
+     | 3 |  2 | three
+     | 4 |  2 | four
+     | 5 |  2 | five
+     | 6 |  2 | six
+     | 7 |  2 | seven
+     | 8 |  2 | eight
+     | 0 |  2 | zero
+     |   |  2 | null
      |   |  2 | zero
+     | 1 | -3 | one
+     | 2 | -3 | two
+     | 3 | -3 | three
+     | 4 | -3 | four
+     | 5 | -3 | five
+     | 6 | -3 | six
+     | 7 | -3 | seven
+     | 8 | -3 | eight
+     | 0 | -3 | zero
+     |   | -3 | null
      |   | -3 | zero
+     | 1 |  4 | one
+     | 2 |  4 | two
+     | 3 |  4 | three
+     | 4 |  4 | four
+     | 5 |  4 | five
+     | 6 |  4 | six
+     | 7 |  4 | seven
+     | 8 |  4 | eight
+     | 0 |  4 | zero
+     |   |  4 | null
      |   |  4 | zero
+     | 1 | -5 | one
+     | 2 | -5 | two
+     | 3 | -5 | three
+     | 4 | -5 | four
+     | 5 | -5 | five
+     | 6 | -5 | six
+     | 7 | -5 | seven
+     | 8 | -5 | eight
+     | 0 | -5 | zero
+     |   | -5 | null
      |   | -5 | zero
+     | 1 | -5 | one
+     | 2 | -5 | two
+     | 3 | -5 | three
+     | 4 | -5 | four
+     | 5 | -5 | five
+     | 6 | -5 | six
+     | 7 | -5 | seven
+     | 8 | -5 | eight
+     | 0 | -5 | zero
+     |   | -5 | null
      |   | -5 | zero
+     | 1 |    | one
+     | 2 |    | two
+     | 3 |    | three
+     | 4 |    | four
+     | 5 |    | five
+     | 6 |    | six
+     | 7 |    | seven
+     | 8 |    | eight
+     | 0 |    | zero
+     |   |    | null
      |   |    | zero
+     | 1 |    | one
+     | 2 |    | two
+     | 3 |    | three
+     | 4 |    | four
+     | 5 |    | five
+     | 6 |    | six
+     | 7 |    | seven
+     | 8 |    | eight
+     | 0 |    | zero
+     |   |    | null
      |   |    | zero
+     | 1 |  0 | one
+     | 2 |  0 | two
+     | 3 |  0 | three
+     | 4 |  0 | four
+     | 5 |  0 | five
+     | 6 |  0 | six
+     | 7 |  0 | seven
+     | 8 |  0 | eight
+     | 0 |  0 | zero
+     |   |  0 | null
      |   |  0 | zero
 (99 rows)
 
@@ -449,103 +449,103 @@ SELECT '' AS "xxx", ii, tt, kk
  xxx | ii |  tt   | kk 
 -----+----+-------+----
      |  1 | one   | -1
-     |  1 | one   |  2
-     |  1 | one   | -3
-     |  1 | one   |  4
-     |  1 | one   | -5
-     |  1 | one   | -5
-     |  1 | one   |   
-     |  1 | one   |   
-     |  1 | one   |  0
      |  2 | two   | -1
-     |  2 | two   |  2
-     |  2 | two   | -3
-     |  2 | two   |  4
-     |  2 | two   | -5
-     |  2 | two   | -5
-     |  2 | two   |   
-     |  2 | two   |   
-     |  2 | two   |  0
      |  3 | three | -1
-     |  3 | three |  2
-     |  3 | three | -3
-     |  3 | three |  4
-     |  3 | three | -5
-     |  3 | three | -5
-     |  3 | three |   
-     |  3 | three |   
-     |  3 | three |  0
      |  4 | four  | -1
-     |  4 | four  |  2
-     |  4 | four  | -3
-     |  4 | four  |  4
-     |  4 | four  | -5
-     |  4 | four  | -5
-     |  4 | four  |   
-     |  4 | four  |   
-     |  4 | four  |  0
      |  5 | five  | -1
-     |  5 | five  |  2
-     |  5 | five  | -3
-     |  5 | five  |  4
-     |  5 | five  | -5
-     |  5 | five  | -5
-     |  5 | five  |   
-     |  5 | five  |   
-     |  5 | five  |  0
      |  6 | six   | -1
-     |  6 | six   |  2
-     |  6 | six   | -3
-     |  6 | six   |  4
-     |  6 | six   | -5
-     |  6 | six   | -5
-     |  6 | six   |   
-     |  6 | six   |   
-     |  6 | six   |  0
      |  7 | seven | -1
-     |  7 | seven |  2
-     |  7 | seven | -3
-     |  7 | seven |  4
-     |  7 | seven | -5
-     |  7 | seven | -5
-     |  7 | seven |   
-     |  7 | seven |   
-     |  7 | seven |  0
      |  8 | eight | -1
-     |  8 | eight |  2
-     |  8 | eight | -3
-     |  8 | eight |  4
-     |  8 | eight | -5
-     |  8 | eight | -5
-     |  8 | eight |   
-     |  8 | eight |   
-     |  8 | eight |  0
      |  0 | zero  | -1
-     |  0 | zero  |  2
-     |  0 | zero  | -3
-     |  0 | zero  |  4
-     |  0 | zero  | -5
-     |  0 | zero  | -5
-     |  0 | zero  |   
-     |  0 | zero  |   
-     |  0 | zero  |  0
      |    | null  | -1
-     |    | null  |  2
-     |    | null  | -3
-     |    | null  |  4
-     |    | null  | -5
-     |    | null  | -5
-     |    | null  |   
-     |    | null  |   
-     |    | null  |  0
      |    | zero  | -1
+     |  1 | one   |  2
+     |  2 | two   |  2
+     |  3 | three |  2
+     |  4 | four  |  2
+     |  5 | five  |  2
+     |  6 | six   |  2
+     |  7 | seven |  2
+     |  8 | eight |  2
+     |  0 | zero  |  2
+     |    | null  |  2
      |    | zero  |  2
+     |  1 | one   | -3
+     |  2 | two   | -3
+     |  3 | three | -3
+     |  4 | four  | -3
+     |  5 | five  | -3
+     |  6 | six   | -3
+     |  7 | seven | -3
+     |  8 | eight | -3
+     |  0 | zero  | -3
+     |    | null  | -3
      |    | zero  | -3
+     |  1 | one   |  4
+     |  2 | two   |  4
+     |  3 | three |  4
+     |  4 | four  |  4
+     |  5 | five  |  4
+     |  6 | six   |  4
+     |  7 | seven |  4
+     |  8 | eight |  4
+     |  0 | zero  |  4
+     |    | null  |  4
      |    | zero  |  4
+     |  1 | one   | -5
+     |  2 | two   | -5
+     |  3 | three | -5
+     |  4 | four  | -5
+     |  5 | five  | -5
+     |  6 | six   | -5
+     |  7 | seven | -5
+     |  8 | eight | -5
+     |  0 | zero  | -5
+     |    | null  | -5
      |    | zero  | -5
+     |  1 | one   | -5
+     |  2 | two   | -5
+     |  3 | three | -5
+     |  4 | four  | -5
+     |  5 | five  | -5
+     |  6 | six   | -5
+     |  7 | seven | -5
+     |  8 | eight | -5
+     |  0 | zero  | -5
+     |    | null  | -5
      |    | zero  | -5
+     |  1 | one   |   
+     |  2 | two   |   
+     |  3 | three |   
+     |  4 | four  |   
+     |  5 | five  |   
+     |  6 | six   |   
+     |  7 | seven |   
+     |  8 | eight |   
+     |  0 | zero  |   
+     |    | null  |   
      |    | zero  |   
+     |  1 | one   |   
+     |  2 | two   |   
+     |  3 | three |   
+     |  4 | four  |   
+     |  5 | five  |   
+     |  6 | six   |   
+     |  7 | seven |   
+     |  8 | eight |   
+     |  0 | zero  |   
+     |    | null  |   
      |    | zero  |   
+     |  1 | one   |  0
+     |  2 | two   |  0
+     |  3 | three |  0
+     |  4 | four  |  0
+     |  5 | five  |  0
+     |  6 | six   |  0
+     |  7 | seven |  0
+     |  8 | eight |  0
+     |  0 | zero  |  0
+     |    | null  |  0
      |    | zero  |  0
 (99 rows)
 
@@ -555,105 +555,105 @@ SELECT '' AS "xxx", tx.ii, tx.jj, tx.kk
  xxx | ii | jj | kk 
 -----+----+----+----
      |  1 |  4 | -1
-     |  1 |  4 |  2
-     |  1 |  4 | -3
-     |  1 |  4 |  4
-     |  1 |  4 | -5
-     |  1 |  4 | -5
-     |  1 |  4 |   
-     |  1 |  4 |   
-     |  1 |  4 |  0
      |  2 |  3 | -1
-     |  2 |  3 |  2
-     |  2 |  3 | -3
-     |  2 |  3 |  4
-     |  2 |  3 | -5
-     |  2 |  3 | -5
-     |  2 |  3 |   
-     |  2 |  3 |   
-     |  2 |  3 |  0
      |  3 |  2 | -1
-     |  3 |  2 |  2
-     |  3 |  2 | -3
-     |  3 |  2 |  4
-     |  3 |  2 | -5
-     |  3 |  2 | -5
-     |  3 |  2 |   
-     |  3 |  2 |   
-     |  3 |  2 |  0
      |  4 |  1 | -1
-     |  4 |  1 |  2
-     |  4 |  1 | -3
-     |  4 |  1 |  4
-     |  4 |  1 | -5
-     |  4 |  1 | -5
-     |  4 |  1 |   
-     |  4 |  1 |   
-     |  4 |  1 |  0
      |  5 |  0 | -1
-     |  5 |  0 |  2
-     |  5 |  0 | -3
-     |  5 |  0 |  4
-     |  5 |  0 | -5
-     |  5 |  0 | -5
-     |  5 |  0 |   
-     |  5 |  0 |   
-     |  5 |  0 |  0
      |  6 |  6 | -1
-     |  6 |  6 |  2
-     |  6 |  6 | -3
-     |  6 |  6 |  4
-     |  6 |  6 | -5
-     |  6 |  6 | -5
-     |  6 |  6 |   
-     |  6 |  6 |   
-     |  6 |  6 |  0
      |  7 |  7 | -1
-     |  7 |  7 |  2
-     |  7 |  7 | -3
-     |  7 |  7 |  4
-     |  7 |  7 | -5
-     |  7 |  7 | -5
-     |  7 |  7 |   
-     |  7 |  7 |   
-     |  7 |  7 |  0
      |  8 |  8 | -1
-     |  8 |  8 |  2
-     |  8 |  8 | -3
-     |  8 |  8 |  4
-     |  8 |  8 | -5
-     |  8 |  8 | -5
-     |  8 |  8 |   
-     |  8 |  8 |   
-     |  8 |  8 |  0
      |  0 |    | -1
-     |  0 |    |  2
-     |  0 |    | -3
-     |  0 |    |  4
-     |  0 |    | -5
-     |  0 |    | -5
-     |  0 |    |   
-     |  0 |    |   
-     |  0 |    |  0
      |    |    | -1
-     |    |    |  2
-     |    |    | -3
-     |    |    |  4
-     |    |    | -5
-     |    |    | -5
-     |    |    |   
-     |    |    |   
-     |    |    |  0
      |    |  0 | -1
+     |  1 |  4 |  2
+     |  2 |  3 |  2
+     |  3 |  2 |  2
+     |  4 |  1 |  2
+     |  5 |  0 |  2
+     |  6 |  6 |  2
+     |  7 |  7 |  2
+     |  8 |  8 |  2
+     |  0 |    |  2
+     |    |    |  2
      |    |  0 |  2
+     |  1 |  4 | -3
+     |  2 |  3 | -3
+     |  3 |  2 | -3
+     |  4 |  1 | -3
+     |  5 |  0 | -3
+     |  6 |  6 | -3
+     |  7 |  7 | -3
+     |  8 |  8 | -3
+     |  0 |    | -3
+     |    |    | -3
      |    |  0 | -3
+     |  1 |  4 |  4
+     |  2 |  3 |  4
+     |  3 |  2 |  4
+     |  4 |  1 |  4
+     |  5 |  0 |  4
+     |  6 |  6 |  4
+     |  7 |  7 |  4
+     |  8 |  8 |  4
+     |  0 |    |  4
+     |    |    |  4
      |    |  0 |  4
-     |    |  0 | -5
-     |    |  0 | -5
-     |    |  0 |   
-     |    |  0 |   
-     |    |  0 |  0
-(99 rows)
+     |  1 |  4 | -5
+     |  2 |  3 | -5
+     |  3 |  2 | -5
+     |  4 |  1 | -5
+     |  5 |  0 | -5
+     |  6 |  6 | -5
+     |  7 |  7 | -5
+     |  8 |  8 | -5
+     |  0 |    | -5
+     |    |    | -5
+     |    |  0 | -5
+     |  1 |  4 | -5
+     |  2 |  3 | -5
+     |  3 |  2 | -5
+     |  4 |  1 | -5
+     |  5 |  0 | -5
+     |  6 |  6 | -5
+     |  7 |  7 | -5
+     |  8 |  8 | -5
+     |  0 |    | -5
+     |    |    | -5
+     |    |  0 | -5
+     |  1 |  4 |   
+     |  2 |  3 |   
+     |  3 |  2 |   
+     |  4 |  1 |   
+     |  5 |  0 |   
+     |  6 |  6 |   
+     |  7 |  7 |   
+     |  8 |  8 |   
+     |  0 |    |   
+     |    |    |   
+     |    |  0 |   
+     |  1 |  4 |   
+     |  2 |  3 |   
+     |  3 |  2 |   
+     |  4 |  1 |   
+     |  5 |  0 |   
+     |  6 |  6 |   
+     |  7 |  7 |   
+     |  8 |  8 |   
+     |  0 |    |   
+     |    |    |   
+     |    |  0 |   
+     |  1 |  4 |  0
+     |  2 |  3 |  0
+     |  3 |  2 |  0
+     |  4 |  1 |  0
+     |  5 |  0 |  0
+     |  6 |  6 |  0
+     |  7 |  7 |  0
+     |  8 |  8 |  0
+     |  0 |    |  0
+     |    |    |  0
+     |    |  0 |  0
+(99 rows)
 
 SELECT '' AS "xxx", *
   FROM J1_TBL CROSS JOIN J2_TBL a CROSS JOIN J2_TBL b;
@@ -668,78 +668,6 @@ SELECT '' AS "xxx", *
      | 1 | 4 | one   | 1 | -1 | 0 |   
      | 1 | 4 | one   | 1 | -1 |   |   
      | 1 | 4 | one   | 1 | -1 |   |  0
-     | 1 | 4 | one   | 2 |  2 | 1 | -1
-     | 1 | 4 | one   | 2 |  2 | 2 |  2
-     | 1 | 4 | one   | 2 |  2 | 3 | -3
-     | 1 | 4 | one   | 2 |  2 | 2 |  4
-     | 1 | 4 | one   | 2 |  2 | 5 | -5
-     | 1 | 4 | one   | 2 |  2 | 5 | -5
-     | 1 | 4 | one   | 2 |  2 | 0 |   
-     | 1 | 4 | one   | 2 |  2 |   |   
-     | 1 | 4 | one   | 2 |  2 |   |  0
-     | 1 | 4 | one   | 3 | -3 | 1 | -1
-     | 1 | 4 | one   | 3 | -3 | 2 |  2
-     | 1 | 4 | one   | 3 | -3 | 3 | -3
-     | 1 | 4 | one   | 3 | -3 | 2 |  4
-     | 1 | 4 | one   | 3 | -3 | 5 | -5
-     | 1 | 4 | one   | 3 | -3 | 5 | -5
-     | 1 | 4 | one   | 3 | -3 | 0 |   
-     | 1 | 4 | one   | 3 | -3 |   |   
-     | 1 | 4 | one   | 3 | -3 |   |  0
-     | 1 | 4 | one   | 2 |  4 | 1 | -1
-     | 1 | 4 | one   | 2 |  4 | 2 |  2
-     | 1 | 4 | one   | 2 |  4 | 3 | -3
-     | 1 | 4 | one   | 2 |  4 | 2 |  4
-     | 1 | 4 | one   | 2 |  4 | 5 | -5
-     | 1 | 4 | one   | 2 |  4 | 5 | -5
-     | 1 | 4 | one   | 2 |  4 | 0 |   
-     | 1 | 4 | one   | 2 |  4 |   |   
-     | 1 | 4 | one   | 2 |  4 |   |  0
-     | 1 | 4 | one   | 5 | -5 | 1 | -1
-     | 1 | 4 | one   | 5 | -5 | 2 |  2
-     | 1 | 4 | one   | 5 | -5 | 3 | -3
-     | 1 | 4 | one   | 5 | -5 | 2 |  4
-     | 1 | 4 | one   | 5 | -5 | 5 | -5
-     | 1 | 4 | one   | 5 | -5 | 5 | -5
-     | 1 | 4 | one   | 5 | -5 | 0 |   
-     | 1 | 4 | one   | 5 | -5 |   |   
-     | 1 | 4 | one   | 5 | -5 |   |  0
-     | 1 | 4 | one   | 5 | -5 | 1 | -1
-     | 1 | 4 | one   | 5 | -5 | 2 |  2
-     | 1 | 4 | one   | 5 | -5 | 3 | -3
-     | 1 | 4 | one   | 5 | -5 | 2 |  4
-     | 1 | 4 | one   | 5 | -5 | 5 | -5
-     | 1 | 4 | one   | 5 | -5 | 5 | -5
-     | 1 | 4 | one   | 5 | -5 | 0 |   
-     | 1 | 4 | one   | 5 | -5 |   |   
-     | 1 | 4 | one   | 5 | -5 |   |  0
-     | 1 | 4 | one   | 0 |    | 1 | -1
-     | 1 | 4 | one   | 0 |    | 2 |  2
-     | 1 | 4 | one   | 0 |    | 3 | -3
-     | 1 | 4 | one   | 0 |    | 2 |  4
-     | 1 | 4 | one   | 0 |    | 5 | -5
-     | 1 | 4 | one   | 0 |    | 5 | -5
-     | 1 | 4 | one   | 0 |    | 0 |   
-     | 1 | 4 | one   | 0 |    |   |   
-     | 1 | 4 | one   | 0 |    |   |  0
-     | 1 | 4 | one   |   |    | 1 | -1
-     | 1 | 4 | one   |   |    | 2 |  2
-     | 1 | 4 | one   |   |    | 3 | -3
-     | 1 | 4 | one   |   |    | 2 |  4
-     | 1 | 4 | one   |   |    | 5 | -5
-     | 1 | 4 | one   |   |    | 5 | -5
-     | 1 | 4 | one   |   |    | 0 |   
-     | 1 | 4 | one   |   |    |   |   
-     | 1 | 4 | one   |   |    |   |  0
-     | 1 | 4 | one   |   |  0 | 1 | -1
-     | 1 | 4 | one   |   |  0 | 2 |  2
-     | 1 | 4 | one   |   |  0 | 3 | -3
-     | 1 | 4 | one   |   |  0 | 2 |  4
-     | 1 | 4 | one   |   |  0 | 5 | -5
-     | 1 | 4 | one   |   |  0 | 5 | -5
-     | 1 | 4 | one   |   |  0 | 0 |   
-     | 1 | 4 | one   |   |  0 |   |   
-     | 1 | 4 | one   |   |  0 |   |  0
      | 2 | 3 | two   | 1 | -1 | 1 | -1
      | 2 | 3 | two   | 1 | -1 | 2 |  2
      | 2 | 3 | two   | 1 | -1 | 3 | -3
@@ -749,78 +677,6 @@ SELECT '' AS "xxx", *
      | 2 | 3 | two   | 1 | -1 | 0 |   
      | 2 | 3 | two   | 1 | -1 |   |   
      | 2 | 3 | two   | 1 | -1 |   |  0
-     | 2 | 3 | two   | 2 |  2 | 1 | -1
-     | 2 | 3 | two   | 2 |  2 | 2 |  2
-     | 2 | 3 | two   | 2 |  2 | 3 | -3
-     | 2 | 3 | two   | 2 |  2 | 2 |  4
-     | 2 | 3 | two   | 2 |  2 | 5 | -5
-     | 2 | 3 | two   | 2 |  2 | 5 | -5
-     | 2 | 3 | two   | 2 |  2 | 0 |   
-     | 2 | 3 | two   | 2 |  2 |   |   
-     | 2 | 3 | two   | 2 |  2 |   |  0
-     | 2 | 3 | two   | 3 | -3 | 1 | -1
-     | 2 | 3 | two   | 3 | -3 | 2 |  2
-     | 2 | 3 | two   | 3 | -3 | 3 | -3
-     | 2 | 3 | two   | 3 | -3 | 2 |  4
-     | 2 | 3 | two   | 3 | -3 | 5 | -5
-     | 2 | 3 | two   | 3 | -3 | 5 | -5
-     | 2 | 3 | two   | 3 | -3 | 0 |   
-     | 2 | 3 | two   | 3 | -3 |   |   
-     | 2 | 3 | two   | 3 | -3 |   |  0
-     | 2 | 3 | two   | 2 |  4 | 1 | -1
-     | 2 | 3 | two   | 2 |  4 | 2 |  2
-     | 2 | 3 | two   | 2 |  4 | 3 | -3
-     | 2 | 3 | two   | 2 |  4 | 2 |  4
-     | 2 | 3 | two   | 2 |  4 | 5 | -5
-     | 2 | 3 | two   | 2 |  4 | 5 | -5
-     | 2 | 3 | two   | 2 |  4 | 0 |   
-     | 2 | 3 | two   | 2 |  4 |   |   
-     | 2 | 3 | two   | 2 |  4 |   |  0
-     | 2 | 3 | two   | 5 | -5 | 1 | -1
-     | 2 | 3 | two   | 5 | -5 | 2 |  2
-     | 2 | 3 | two   | 5 | -5 | 3 | -3
-     | 2 | 3 | two   | 5 | -5 | 2 |  4
-     | 2 | 3 | two   | 5 | -5 | 5 | -5
-     | 2 | 3 | two   | 5 | -5 | 5 | -5
-     | 2 | 3 | two   | 5 | -5 | 0 |   
-     | 2 | 3 | two   | 5 | -5 |   |   
-     | 2 | 3 | two   | 5 | -5 |   |  0
-     | 2 | 3 | two   | 5 | -5 | 1 | -1
-     | 2 | 3 | two   | 5 | -5 | 2 |  2
-     | 2 | 3 | two   | 5 | -5 | 3 | -3
-     | 2 | 3 | two   | 5 | -5 | 2 |  4
-     | 2 | 3 | two   | 5 | -5 | 5 | -5
-     | 2 | 3 | two   | 5 | -5 | 5 | -5
-     | 2 | 3 | two   | 5 | -5 | 0 |   
-     | 2 | 3 | two   | 5 | -5 |   |   
-     | 2 | 3 | two   | 5 | -5 |   |  0
-     | 2 | 3 | two   | 0 |    | 1 | -1
-     | 2 | 3 | two   | 0 |    | 2 |  2
-     | 2 | 3 | two   | 0 |    | 3 | -3
-     | 2 | 3 | two   | 0 |    | 2 |  4
-     | 2 | 3 | two   | 0 |    | 5 | -5
-     | 2 | 3 | two   | 0 |    | 5 | -5
-     | 2 | 3 | two   | 0 |    | 0 |   
-     | 2 | 3 | two   | 0 |    |   |   
-     | 2 | 3 | two   | 0 |    |   |  0
-     | 2 | 3 | two   |   |    | 1 | -1
-     | 2 | 3 | two   |   |    | 2 |  2
-     | 2 | 3 | two   |   |    | 3 | -3
-     | 2 | 3 | two   |   |    | 2 |  4
-     | 2 | 3 | two   |   |    | 5 | -5
-     | 2 | 3 | two   |   |    | 5 | -5
-     | 2 | 3 | two   |   |    | 0 |   
-     | 2 | 3 | two   |   |    |   |   
-     | 2 | 3 | two   |   |    |   |  0
-     | 2 | 3 | two   |   |  0 | 1 | -1
-     | 2 | 3 | two   |   |  0 | 2 |  2
-     | 2 | 3 | two   |   |  0 | 3 | -3
-     | 2 | 3 | two   |   |  0 | 2 |  4
-     | 2 | 3 | two   |   |  0 | 5 | -5
-     | 2 | 3 | two   |   |  0 | 5 | -5
-     | 2 | 3 | two   |   |  0 | 0 |   
-     | 2 | 3 | two   |   |  0 |   |   
-     | 2 | 3 | two   |   |  0 |   |  0
      | 3 | 2 | three | 1 | -1 | 1 | -1
      | 3 | 2 | three | 1 | -1 | 2 |  2
      | 3 | 2 | three | 1 | -1 | 3 | -3
@@ -830,78 +686,6 @@ SELECT '' AS "xxx", *
      | 3 | 2 | three | 1 | -1 | 0 |   
      | 3 | 2 | three | 1 | -1 |   |   
      | 3 | 2 | three | 1 | -1 |   |  0
-     | 3 | 2 | three | 2 |  2 | 1 | -1
-     | 3 | 2 | three | 2 |  2 | 2 |  2
-     | 3 | 2 | three | 2 |  2 | 3 | -3
-     | 3 | 2 | three | 2 |  2 | 2 |  4
-     | 3 | 2 | three | 2 |  2 | 5 | -5
-     | 3 | 2 | three | 2 |  2 | 5 | -5
-     | 3 | 2 | three | 2 |  2 | 0 |   
-     | 3 | 2 | three | 2 |  2 |   |   
-     | 3 | 2 | three | 2 |  2 |   |  0
-     | 3 | 2 | three | 3 | -3 | 1 | -1
-     | 3 | 2 | three | 3 | -3 | 2 |  2
-     | 3 | 2 | three | 3 | -3 | 3 | -3
-     | 3 | 2 | three | 3 | -3 | 2 |  4
-     | 3 | 2 | three | 3 | -3 | 5 | -5
-     | 3 | 2 | three | 3 | -3 | 5 | -5
-     | 3 | 2 | three | 3 | -3 | 0 |   
-     | 3 | 2 | three | 3 | -3 |   |   
-     | 3 | 2 | three | 3 | -3 |   |  0
-     | 3 | 2 | three | 2 |  4 | 1 | -1
-     | 3 | 2 | three | 2 |  4 | 2 |  2
-     | 3 | 2 | three | 2 |  4 | 3 | -3
-     | 3 | 2 | three | 2 |  4 | 2 |  4
-     | 3 | 2 | three | 2 |  4 | 5 | -5
-     | 3 | 2 | three | 2 |  4 | 5 | -5
-     | 3 | 2 | three | 2 |  4 | 0 |   
-     | 3 | 2 | three | 2 |  4 |   |   
-     | 3 | 2 | three | 2 |  4 |   |  0
-     | 3 | 2 | three | 5 | -5 | 1 | -1
-     | 3 | 2 | three | 5 | -5 | 2 |  2
-     | 3 | 2 | three | 5 | -5 | 3 | -3
-     | 3 | 2 | three | 5 | -5 | 2 |  4
-     | 3 | 2 | three | 5 | -5 | 5 | -5
-     | 3 | 2 | three | 5 | -5 | 5 | -5
-     | 3 | 2 | three | 5 | -5 | 0 |   
-     | 3 | 2 | three | 5 | -5 |   |   
-     | 3 | 2 | three | 5 | -5 |   |  0
-     | 3 | 2 | three | 5 | -5 | 1 | -1
-     | 3 | 2 | three | 5 | -5 | 2 |  2
-     | 3 | 2 | three | 5 | -5 | 3 | -3
-     | 3 | 2 | three | 5 | -5 | 2 |  4
-     | 3 | 2 | three | 5 | -5 | 5 | -5
-     | 3 | 2 | three | 5 | -5 | 5 | -5
-     | 3 | 2 | three | 5 | -5 | 0 |   
-     | 3 | 2 | three | 5 | -5 |   |   
-     | 3 | 2 | three | 5 | -5 |   |  0
-     | 3 | 2 | three | 0 |    | 1 | -1
-     | 3 | 2 | three | 0 |    | 2 |  2
-     | 3 | 2 | three | 0 |    | 3 | -3
-     | 3 | 2 | three | 0 |    | 2 |  4
-     | 3 | 2 | three | 0 |    | 5 | -5
-     | 3 | 2 | three | 0 |    | 5 | -5
-     | 3 | 2 | three | 0 |    | 0 |   
-     | 3 | 2 | three | 0 |    |   |   
-     | 3 | 2 | three | 0 |    |   |  0
-     | 3 | 2 | three |   |    | 1 | -1
-     | 3 | 2 | three |   |    | 2 |  2
-     | 3 | 2 | three |   |    | 3 | -3
-     | 3 | 2 | three |   |    | 2 |  4
-     | 3 | 2 | three |   |    | 5 | -5
-     | 3 | 2 | three |   |    | 5 | -5
-     | 3 | 2 | three |   |    | 0 |   
-     | 3 | 2 | three |   |    |   |   
-     | 3 | 2 | three |   |    |   |  0
-     | 3 | 2 | three |   |  0 | 1 | -1
-     | 3 | 2 | three |   |  0 | 2 |  2
-     | 3 | 2 | three |   |  0 | 3 | -3
-     | 3 | 2 | three |   |  0 | 2 |  4
-     | 3 | 2 | three |   |  0 | 5 | -5
-     | 3 | 2 | three |   |  0 | 5 | -5
-     | 3 | 2 | three |   |  0 | 0 |   
-     | 3 | 2 | three |   |  0 |   |   
-     | 3 | 2 | three |   |  0 |   |  0
      | 4 | 1 | four  | 1 | -1 | 1 | -1
      | 4 | 1 | four  | 1 | -1 | 2 |  2
      | 4 | 1 | four  | 1 | -1 | 3 | -3
@@ -911,78 +695,6 @@ SELECT '' AS "xxx", *
      | 4 | 1 | four  | 1 | -1 | 0 |   
      | 4 | 1 | four  | 1 | -1 |   |   
      | 4 | 1 | four  | 1 | -1 |   |  0
-     | 4 | 1 | four  | 2 |  2 | 1 | -1
-     | 4 | 1 | four  | 2 |  2 | 2 |  2
-     | 4 | 1 | four  | 2 |  2 | 3 | -3
-     | 4 | 1 | four  | 2 |  2 | 2 |  4
-     | 4 | 1 | four  | 2 |  2 | 5 | -5
-     | 4 | 1 | four  | 2 |  2 | 5 | -5
-     | 4 | 1 | four  | 2 |  2 | 0 |   
-     | 4 | 1 | four  | 2 |  2 |   |   
-     | 4 | 1 | four  | 2 |  2 |   |  0
-     | 4 | 1 | four  | 3 | -3 | 1 | -1
-     | 4 | 1 | four  | 3 | -3 | 2 |  2
-     | 4 | 1 | four  | 3 | -3 | 3 | -3
-     | 4 | 1 | four  | 3 | -3 | 2 |  4
-     | 4 | 1 | four  | 3 | -3 | 5 | -5
-     | 4 | 1 | four  | 3 | -3 | 5 | -5
-     | 4 | 1 | four  | 3 | -3 | 0 |   
-     | 4 | 1 | four  | 3 | -3 |   |   
-     | 4 | 1 | four  | 3 | -3 |   |  0
-     | 4 | 1 | four  | 2 |  4 | 1 | -1
-     | 4 | 1 | four  | 2 |  4 | 2 |  2
-     | 4 | 1 | four  | 2 |  4 | 3 | -3
-     | 4 | 1 | four  | 2 |  4 | 2 |  4
-     | 4 | 1 | four  | 2 |  4 | 5 | -5
-     | 4 | 1 | four  | 2 |  4 | 5 | -5
-     | 4 | 1 | four  | 2 |  4 | 0 |   
-     | 4 | 1 | four  | 2 |  4 |   |   
-     | 4 | 1 | four  | 2 |  4 |   |  0
-     | 4 | 1 | four  | 5 | -5 | 1 | -1
-     | 4 | 1 | four  | 5 | -5 | 2 |  2
-     | 4 | 1 | four  | 5 | -5 | 3 | -3
-     | 4 | 1 | four  | 5 | -5 | 2 |  4
-     | 4 | 1 | four  | 5 | -5 | 5 | -5
-     | 4 | 1 | four  | 5 | -5 | 5 | -5
-     | 4 | 1 | four  | 5 | -5 | 0 |   
-     | 4 | 1 | four  | 5 | -5 |   |   
-     | 4 | 1 | four  | 5 | -5 |   |  0
-     | 4 | 1 | four  | 5 | -5 | 1 | -1
-     | 4 | 1 | four  | 5 | -5 | 2 |  2
-     | 4 | 1 | four  | 5 | -5 | 3 | -3
-     | 4 | 1 | four  | 5 | -5 | 2 |  4
-     | 4 | 1 | four  | 5 | -5 | 5 | -5
-     | 4 | 1 | four  | 5 | -5 | 5 | -5
-     | 4 | 1 | four  | 5 | -5 | 0 |   
-     | 4 | 1 | four  | 5 | -5 |   |   
-     | 4 | 1 | four  | 5 | -5 |   |  0
-     | 4 | 1 | four  | 0 |    | 1 | -1
-     | 4 | 1 | four  | 0 |    | 2 |  2
-     | 4 | 1 | four  | 0 |    | 3 | -3
-     | 4 | 1 | four  | 0 |    | 2 |  4
-     | 4 | 1 | four  | 0 |    | 5 | -5
-     | 4 | 1 | four  | 0 |    | 5 | -5
-     | 4 | 1 | four  | 0 |    | 0 |   
-     | 4 | 1 | four  | 0 |    |   |   
-     | 4 | 1 | four  | 0 |    |   |  0
-     | 4 | 1 | four  |   |    | 1 | -1
-     | 4 | 1 | four  |   |    | 2 |  2
-     | 4 | 1 | four  |   |    | 3 | -3
-     | 4 | 1 | four  |   |    | 2 |  4
-     | 4 | 1 | four  |   |    | 5 | -5
-     | 4 | 1 | four  |   |    | 5 | -5
-     | 4 | 1 | four  |   |    | 0 |   
-     | 4 | 1 | four  |   |    |   |   
-     | 4 | 1 | four  |   |    |   |  0
-     | 4 | 1 | four  |   |  0 | 1 | -1
-     | 4 | 1 | four  |   |  0 | 2 |  2
-     | 4 | 1 | four  |   |  0 | 3 | -3
-     | 4 | 1 | four  |   |  0 | 2 |  4
-     | 4 | 1 | four  |   |  0 | 5 | -5
-     | 4 | 1 | four  |   |  0 | 5 | -5
-     | 4 | 1 | four  |   |  0 | 0 |   
-     | 4 | 1 | four  |   |  0 |   |   
-     | 4 | 1 | four  |   |  0 |   |  0
      | 5 | 0 | five  | 1 | -1 | 1 | -1
      | 5 | 0 | five  | 1 | -1 | 2 |  2
      | 5 | 0 | five  | 1 | -1 | 3 | -3
@@ -992,78 +704,6 @@ SELECT '' AS "xxx", *
      | 5 | 0 | five  | 1 | -1 | 0 |   
      | 5 | 0 | five  | 1 | -1 |   |   
      | 5 | 0 | five  | 1 | -1 |   |  0
-     | 5 | 0 | five  | 2 |  2 | 1 | -1
-     | 5 | 0 | five  | 2 |  2 | 2 |  2
-     | 5 | 0 | five  | 2 |  2 | 3 | -3
-     | 5 | 0 | five  | 2 |  2 | 2 |  4
-     | 5 | 0 | five  | 2 |  2 | 5 | -5
-     | 5 | 0 | five  | 2 |  2 | 5 | -5
-     | 5 | 0 | five  | 2 |  2 | 0 |   
-     | 5 | 0 | five  | 2 |  2 |   |   
-     | 5 | 0 | five  | 2 |  2 |   |  0
-     | 5 | 0 | five  | 3 | -3 | 1 | -1
-     | 5 | 0 | five  | 3 | -3 | 2 |  2
-     | 5 | 0 | five  | 3 | -3 | 3 | -3
-     | 5 | 0 | five  | 3 | -3 | 2 |  4
-     | 5 | 0 | five  | 3 | -3 | 5 | -5
-     | 5 | 0 | five  | 3 | -3 | 5 | -5
-     | 5 | 0 | five  | 3 | -3 | 0 |   
-     | 5 | 0 | five  | 3 | -3 |   |   
-     | 5 | 0 | five  | 3 | -3 |   |  0
-     | 5 | 0 | five  | 2 |  4 | 1 | -1
-     | 5 | 0 | five  | 2 |  4 | 2 |  2
-     | 5 | 0 | five  | 2 |  4 | 3 | -3
-     | 5 | 0 | five  | 2 |  4 | 2 |  4
-     | 5 | 0 | five  | 2 |  4 | 5 | -5
-     | 5 | 0 | five  | 2 |  4 | 5 | -5
-     | 5 | 0 | five  | 2 |  4 | 0 |   
-     | 5 | 0 | five  | 2 |  4 |   |   
-     | 5 | 0 | five  | 2 |  4 |   |  0
-     | 5 | 0 | five  | 5 | -5 | 1 | -1
-     | 5 | 0 | five  | 5 | -5 | 2 |  2
-     | 5 | 0 | five  | 5 | -5 | 3 | -3
-     | 5 | 0 | five  | 5 | -5 | 2 |  4
-     | 5 | 0 | five  | 5 | -5 | 5 | -5
-     | 5 | 0 | five  | 5 | -5 | 5 | -5
-     | 5 | 0 | five  | 5 | -5 | 0 |   
-     | 5 | 0 | five  | 5 | -5 |   |   
-     | 5 | 0 | five  | 5 | -5 |   |  0
-     | 5 | 0 | five  | 5 | -5 | 1 | -1
-     | 5 | 0 | five  | 5 | -5 | 2 |  2
-     | 5 | 0 | five  | 5 | -5 | 3 | -3
-     | 5 | 0 | five  | 5 | -5 | 2 |  4
-     | 5 | 0 | five  | 5 | -5 | 5 | -5
-     | 5 | 0 | five  | 5 | -5 | 5 | -5
-     | 5 | 0 | five  | 5 | -5 | 0 |   
-     | 5 | 0 | five  | 5 | -5 |   |   
-     | 5 | 0 | five  | 5 | -5 |   |  0
-     | 5 | 0 | five  | 0 |    | 1 | -1
-     | 5 | 0 | five  | 0 |    | 2 |  2
-     | 5 | 0 | five  | 0 |    | 3 | -3
-     | 5 | 0 | five  | 0 |    | 2 |  4
-     | 5 | 0 | five  | 0 |    | 5 | -5
-     | 5 | 0 | five  | 0 |    | 5 | -5
-     | 5 | 0 | five  | 0 |    | 0 |   
-     | 5 | 0 | five  | 0 |    |   |   
-     | 5 | 0 | five  | 0 |    |   |  0
-     | 5 | 0 | five  |   |    | 1 | -1
-     | 5 | 0 | five  |   |    | 2 |  2
-     | 5 | 0 | five  |   |    | 3 | -3
-     | 5 | 0 | five  |   |    | 2 |  4
-     | 5 | 0 | five  |   |    | 5 | -5
-     | 5 | 0 | five  |   |    | 5 | -5
-     | 5 | 0 | five  |   |    | 0 |   
-     | 5 | 0 | five  |   |    |   |   
-     | 5 | 0 | five  |   |    |   |  0
-     | 5 | 0 | five  |   |  0 | 1 | -1
-     | 5 | 0 | five  |   |  0 | 2 |  2
-     | 5 | 0 | five  |   |  0 | 3 | -3
-     | 5 | 0 | five  |   |  0 | 2 |  4
-     | 5 | 0 | five  |   |  0 | 5 | -5
-     | 5 | 0 | five  |   |  0 | 5 | -5
-     | 5 | 0 | five  |   |  0 | 0 |   
-     | 5 | 0 | five  |   |  0 |   |   
-     | 5 | 0 | five  |   |  0 |   |  0
      | 6 | 6 | six   | 1 | -1 | 1 | -1
      | 6 | 6 | six   | 1 | -1 | 2 |  2
      | 6 | 6 | six   | 1 | -1 | 3 | -3
@@ -1073,78 +713,6 @@ SELECT '' AS "xxx", *
      | 6 | 6 | six   | 1 | -1 | 0 |   
      | 6 | 6 | six   | 1 | -1 |   |   
      | 6 | 6 | six   | 1 | -1 |   |  0
-     | 6 | 6 | six   | 2 |  2 | 1 | -1
-     | 6 | 6 | six   | 2 |  2 | 2 |  2
-     | 6 | 6 | six   | 2 |  2 | 3 | -3
-     | 6 | 6 | six   | 2 |  2 | 2 |  4
-     | 6 | 6 | six   | 2 |  2 | 5 | -5
-     | 6 | 6 | six   | 2 |  2 | 5 | -5
-     | 6 | 6 | six   | 2 |  2 | 0 |   
-     | 6 | 6 | six   | 2 |  2 |   |   
-     | 6 | 6 | six   | 2 |  2 |   |  0
-     | 6 | 6 | six   | 3 | -3 | 1 | -1
-     | 6 | 6 | six   | 3 | -3 | 2 |  2
-     | 6 | 6 | six   | 3 | -3 | 3 | -3
-     | 6 | 6 | six   | 3 | -3 | 2 |  4
-     | 6 | 6 | six   | 3 | -3 | 5 | -5
-     | 6 | 6 | six   | 3 | -3 | 5 | -5
-     | 6 | 6 | six   | 3 | -3 | 0 |   
-     | 6 | 6 | six   | 3 | -3 |   |   
-     | 6 | 6 | six   | 3 | -3 |   |  0
-     | 6 | 6 | six   | 2 |  4 | 1 | -1
-     | 6 | 6 | six   | 2 |  4 | 2 |  2
-     | 6 | 6 | six   | 2 |  4 | 3 | -3
-     | 6 | 6 | six   | 2 |  4 | 2 |  4
-     | 6 | 6 | six   | 2 |  4 | 5 | -5
-     | 6 | 6 | six   | 2 |  4 | 5 | -5
-     | 6 | 6 | six   | 2 |  4 | 0 |   
-     | 6 | 6 | six   | 2 |  4 |   |   
-     | 6 | 6 | six   | 2 |  4 |   |  0
-     | 6 | 6 | six   | 5 | -5 | 1 | -1
-     | 6 | 6 | six   | 5 | -5 | 2 |  2
-     | 6 | 6 | six   | 5 | -5 | 3 | -3
-     | 6 | 6 | six   | 5 | -5 | 2 |  4
-     | 6 | 6 | six   | 5 | -5 | 5 | -5
-     | 6 | 6 | six   | 5 | -5 | 5 | -5
-     | 6 | 6 | six   | 5 | -5 | 0 |   
-     | 6 | 6 | six   | 5 | -5 |   |   
-     | 6 | 6 | six   | 5 | -5 |   |  0
-     | 6 | 6 | six   | 5 | -5 | 1 | -1
-     | 6 | 6 | six   | 5 | -5 | 2 |  2
-     | 6 | 6 | six   | 5 | -5 | 3 | -3
-     | 6 | 6 | six   | 5 | -5 | 2 |  4
-     | 6 | 6 | six   | 5 | -5 | 5 | -5
-     | 6 | 6 | six   | 5 | -5 | 5 | -5
-     | 6 | 6 | six   | 5 | -5 | 0 |   
-     | 6 | 6 | six   | 5 | -5 |   |   
-     | 6 | 6 | six   | 5 | -5 |   |  0
-     | 6 | 6 | six   | 0 |    | 1 | -1
-     | 6 | 6 | six   | 0 |    | 2 |  2
-     | 6 | 6 | six   | 0 |    | 3 | -3
-     | 6 | 6 | six   | 0 |    | 2 |  4
-     | 6 | 6 | six   | 0 |    | 5 | -5
-     | 6 | 6 | six   | 0 |    | 5 | -5
-     | 6 | 6 | six   | 0 |    | 0 |   
-     | 6 | 6 | six   | 0 |    |   |   
-     | 6 | 6 | six   | 0 |    |   |  0
-     | 6 | 6 | six   |   |    | 1 | -1
-     | 6 | 6 | six   |   |    | 2 |  2
-     | 6 | 6 | six   |   |    | 3 | -3
-     | 6 | 6 | six   |   |    | 2 |  4
-     | 6 | 6 | six   |   |    | 5 | -5
-     | 6 | 6 | six   |   |    | 5 | -5
-     | 6 | 6 | six   |   |    | 0 |   
-     | 6 | 6 | six   |   |    |   |   
-     | 6 | 6 | six   |   |    |   |  0
-     | 6 | 6 | six   |   |  0 | 1 | -1
-     | 6 | 6 | six   |   |  0 | 2 |  2
-     | 6 | 6 | six   |   |  0 | 3 | -3
-     | 6 | 6 | six   |   |  0 | 2 |  4
-     | 6 | 6 | six   |   |  0 | 5 | -5
-     | 6 | 6 | six   |   |  0 | 5 | -5
-     | 6 | 6 | six   |   |  0 | 0 |   
-     | 6 | 6 | six   |   |  0 |   |   
-     | 6 | 6 | six   |   |  0 |   |  0
      | 7 | 7 | seven | 1 | -1 | 1 | -1
      | 7 | 7 | seven | 1 | -1 | 2 |  2
      | 7 | 7 | seven | 1 | -1 | 3 | -3
@@ -1154,78 +722,6 @@ SELECT '' AS "xxx", *
      | 7 | 7 | seven | 1 | -1 | 0 |   
      | 7 | 7 | seven | 1 | -1 |   |   
      | 7 | 7 | seven | 1 | -1 |   |  0
-     | 7 | 7 | seven | 2 |  2 | 1 | -1
-     | 7 | 7 | seven | 2 |  2 | 2 |  2
-     | 7 | 7 | seven | 2 |  2 | 3 | -3
-     | 7 | 7 | seven | 2 |  2 | 2 |  4
-     | 7 | 7 | seven | 2 |  2 | 5 | -5
-     | 7 | 7 | seven | 2 |  2 | 5 | -5
-     | 7 | 7 | seven | 2 |  2 | 0 |   
-     | 7 | 7 | seven | 2 |  2 |   |   
-     | 7 | 7 | seven | 2 |  2 |   |  0
-     | 7 | 7 | seven | 3 | -3 | 1 | -1
-     | 7 | 7 | seven | 3 | -3 | 2 |  2
-     | 7 | 7 | seven | 3 | -3 | 3 | -3
-     | 7 | 7 | seven | 3 | -3 | 2 |  4
-     | 7 | 7 | seven | 3 | -3 | 5 | -5
-     | 7 | 7 | seven | 3 | -3 | 5 | -5
-     | 7 | 7 | seven | 3 | -3 | 0 |   
-     | 7 | 7 | seven | 3 | -3 |   |   
-     | 7 | 7 | seven | 3 | -3 |   |  0
-     | 7 | 7 | seven | 2 |  4 | 1 | -1
-     | 7 | 7 | seven | 2 |  4 | 2 |  2
-     | 7 | 7 | seven | 2 |  4 | 3 | -3
-     | 7 | 7 | seven | 2 |  4 | 2 |  4
-     | 7 | 7 | seven | 2 |  4 | 5 | -5
-     | 7 | 7 | seven | 2 |  4 | 5 | -5
-     | 7 | 7 | seven | 2 |  4 | 0 |   
-     | 7 | 7 | seven | 2 |  4 |   |   
-     | 7 | 7 | seven | 2 |  4 |   |  0
-     | 7 | 7 | seven | 5 | -5 | 1 | -1
-     | 7 | 7 | seven | 5 | -5 | 2 |  2
-     | 7 | 7 | seven | 5 | -5 | 3 | -3
-     | 7 | 7 | seven | 5 | -5 | 2 |  4
-     | 7 | 7 | seven | 5 | -5 | 5 | -5
-     | 7 | 7 | seven | 5 | -5 | 5 | -5
-     | 7 | 7 | seven | 5 | -5 | 0 |   
-     | 7 | 7 | seven | 5 | -5 |   |   
-     | 7 | 7 | seven | 5 | -5 |   |  0
-     | 7 | 7 | seven | 5 | -5 | 1 | -1
-     | 7 | 7 | seven | 5 | -5 | 2 |  2
-     | 7 | 7 | seven | 5 | -5 | 3 | -3
-     | 7 | 7 | seven | 5 | -5 | 2 |  4
-     | 7 | 7 | seven | 5 | -5 | 5 | -5
-     | 7 | 7 | seven | 5 | -5 | 5 | -5
-     | 7 | 7 | seven | 5 | -5 | 0 |   
-     | 7 | 7 | seven | 5 | -5 |   |   
-     | 7 | 7 | seven | 5 | -5 |   |  0
-     | 7 | 7 | seven | 0 |    | 1 | -1
-     | 7 | 7 | seven | 0 |    | 2 |  2
-     | 7 | 7 | seven | 0 |    | 3 | -3
-     | 7 | 7 | seven | 0 |    | 2 |  4
-     | 7 | 7 | seven | 0 |    | 5 | -5
-     | 7 | 7 | seven | 0 |    | 5 | -5
-     | 7 | 7 | seven | 0 |    | 0 |   
-     | 7 | 7 | seven | 0 |    |   |   
-     | 7 | 7 | seven | 0 |    |   |  0
-     | 7 | 7 | seven |   |    | 1 | -1
-     | 7 | 7 | seven |   |    | 2 |  2
-     | 7 | 7 | seven |   |    | 3 | -3
-     | 7 | 7 | seven |   |    | 2 |  4
-     | 7 | 7 | seven |   |    | 5 | -5
-     | 7 | 7 | seven |   |    | 5 | -5
-     | 7 | 7 | seven |   |    | 0 |   
-     | 7 | 7 | seven |   |    |   |   
-     | 7 | 7 | seven |   |    |   |  0
-     | 7 | 7 | seven |   |  0 | 1 | -1
-     | 7 | 7 | seven |   |  0 | 2 |  2
-     | 7 | 7 | seven |   |  0 | 3 | -3
-     | 7 | 7 | seven |   |  0 | 2 |  4
-     | 7 | 7 | seven |   |  0 | 5 | -5
-     | 7 | 7 | seven |   |  0 | 5 | -5
-     | 7 | 7 | seven |   |  0 | 0 |   
-     | 7 | 7 | seven |   |  0 |   |   
-     | 7 | 7 | seven |   |  0 |   |  0
      | 8 | 8 | eight | 1 | -1 | 1 | -1
      | 8 | 8 | eight | 1 | -1 | 2 |  2
      | 8 | 8 | eight | 1 | -1 | 3 | -3
@@ -1235,78 +731,6 @@ SELECT '' AS "xxx", *
      | 8 | 8 | eight | 1 | -1 | 0 |   
      | 8 | 8 | eight | 1 | -1 |   |   
      | 8 | 8 | eight | 1 | -1 |   |  0
-     | 8 | 8 | eight | 2 |  2 | 1 | -1
-     | 8 | 8 | eight | 2 |  2 | 2 |  2
-     | 8 | 8 | eight | 2 |  2 | 3 | -3
-     | 8 | 8 | eight | 2 |  2 | 2 |  4
-     | 8 | 8 | eight | 2 |  2 | 5 | -5
-     | 8 | 8 | eight | 2 |  2 | 5 | -5
-     | 8 | 8 | eight | 2 |  2 | 0 |   
-     | 8 | 8 | eight | 2 |  2 |   |   
-     | 8 | 8 | eight | 2 |  2 |   |  0
-     | 8 | 8 | eight | 3 | -3 | 1 | -1
-     | 8 | 8 | eight | 3 | -3 | 2 |  2
-     | 8 | 8 | eight | 3 | -3 | 3 | -3
-     | 8 | 8 | eight | 3 | -3 | 2 |  4
-     | 8 | 8 | eight | 3 | -3 | 5 | -5
-     | 8 | 8 | eight | 3 | -3 | 5 | -5
-     | 8 | 8 | eight | 3 | -3 | 0 |   
-     | 8 | 8 | eight | 3 | -3 |   |   
-     | 8 | 8 | eight | 3 | -3 |   |  0
-     | 8 | 8 | eight | 2 |  4 | 1 | -1
-     | 8 | 8 | eight | 2 |  4 | 2 |  2
-     | 8 | 8 | eight | 2 |  4 | 3 | -3
-     | 8 | 8 | eight | 2 |  4 | 2 |  4
-     | 8 | 8 | eight | 2 |  4 | 5 | -5
-     | 8 | 8 | eight | 2 |  4 | 5 | -5
-     | 8 | 8 | eight | 2 |  4 | 0 |   
-     | 8 | 8 | eight | 2 |  4 |   |   
-     | 8 | 8 | eight | 2 |  4 |   |  0
-     | 8 | 8 | eight | 5 | -5 | 1 | -1
-     | 8 | 8 | eight | 5 | -5 | 2 |  2
-     | 8 | 8 | eight | 5 | -5 | 3 | -3
-     | 8 | 8 | eight | 5 | -5 | 2 |  4
-     | 8 | 8 | eight | 5 | -5 | 5 | -5
-     | 8 | 8 | eight | 5 | -5 | 5 | -5
-     | 8 | 8 | eight | 5 | -5 | 0 |   
-     | 8 | 8 | eight | 5 | -5 |   |   
-     | 8 | 8 | eight | 5 | -5 |   |  0
-     | 8 | 8 | eight | 5 | -5 | 1 | -1
-     | 8 | 8 | eight | 5 | -5 | 2 |  2
-     | 8 | 8 | eight | 5 | -5 | 3 | -3
-     | 8 | 8 | eight | 5 | -5 | 2 |  4
-     | 8 | 8 | eight | 5 | -5 | 5 | -5
-     | 8 | 8 | eight | 5 | -5 | 5 | -5
-     | 8 | 8 | eight | 5 | -5 | 0 |   
-     | 8 | 8 | eight | 5 | -5 |   |   
-     | 8 | 8 | eight | 5 | -5 |   |  0
-     | 8 | 8 | eight | 0 |    | 1 | -1
-     | 8 | 8 | eight | 0 |    | 2 |  2
-     | 8 | 8 | eight | 0 |    | 3 | -3
-     | 8 | 8 | eight | 0 |    | 2 |  4
-     | 8 | 8 | eight | 0 |    | 5 | -5
-     | 8 | 8 | eight | 0 |    | 5 | -5
-     | 8 | 8 | eight | 0 |    | 0 |   
-     | 8 | 8 | eight | 0 |    |   |   
-     | 8 | 8 | eight | 0 |    |   |  0
-     | 8 | 8 | eight |   |    | 1 | -1
-     | 8 | 8 | eight |   |    | 2 |  2
-     | 8 | 8 | eight |   |    | 3 | -3
-     | 8 | 8 | eight |   |    | 2 |  4
-     | 8 | 8 | eight |   |    | 5 | -5
-     | 8 | 8 | eight |   |    | 5 | -5
-     | 8 | 8 | eight |   |    | 0 |   
-     | 8 | 8 | eight |   |    |   |   
-     | 8 | 8 | eight |   |    |   |  0
-     | 8 | 8 | eight |   |  0 | 1 | -1
-     | 8 | 8 | eight |   |  0 | 2 |  2
-     | 8 | 8 | eight |   |  0 | 3 | -3
-     | 8 | 8 | eight |   |  0 | 2 |  4
-     | 8 | 8 | eight |   |  0 | 5 | -5
-     | 8 | 8 | eight |   |  0 | 5 | -5
-     | 8 | 8 | eight |   |  0 | 0 |   
-     | 8 | 8 | eight |   |  0 |   |   
-     | 8 | 8 | eight |   |  0 |   |  0
      | 0 |   | zero  | 1 | -1 | 1 | -1
      | 0 |   | zero  | 1 | -1 | 2 |  2
      | 0 |   | zero  | 1 | -1 | 3 | -3
@@ -1316,6 +740,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 1 | -1 | 0 |   
      | 0 |   | zero  | 1 | -1 |   |   
      | 0 |   | zero  | 1 | -1 |   |  0
+     |   |   | null  | 1 | -1 | 1 | -1
+     |   |   | null  | 1 | -1 | 2 |  2
+     |   |   | null  | 1 | -1 | 3 | -3
+     |   |   | null  | 1 | -1 | 2 |  4
+     |   |   | null  | 1 | -1 | 5 | -5
+     |   |   | null  | 1 | -1 | 5 | -5
+     |   |   | null  | 1 | -1 | 0 |   
+     |   |   | null  | 1 | -1 |   |   
+     |   |   | null  | 1 | -1 |   |  0
+     |   | 0 | zero  | 1 | -1 | 1 | -1
+     |   | 0 | zero  | 1 | -1 | 2 |  2
+     |   | 0 | zero  | 1 | -1 | 3 | -3
+     |   | 0 | zero  | 1 | -1 | 2 |  4
+     |   | 0 | zero  | 1 | -1 | 5 | -5
+     |   | 0 | zero  | 1 | -1 | 5 | -5
+     |   | 0 | zero  | 1 | -1 | 0 |   
+     |   | 0 | zero  | 1 | -1 |   |   
+     |   | 0 | zero  | 1 | -1 |   |  0
+     | 1 | 4 | one   | 2 |  2 | 1 | -1
+     | 1 | 4 | one   | 2 |  2 | 2 |  2
+     | 1 | 4 | one   | 2 |  2 | 3 | -3
+     | 1 | 4 | one   | 2 |  2 | 2 |  4
+     | 1 | 4 | one   | 2 |  2 | 5 | -5
+     | 1 | 4 | one   | 2 |  2 | 5 | -5
+     | 1 | 4 | one   | 2 |  2 | 0 |   
+     | 1 | 4 | one   | 2 |  2 |   |   
+     | 1 | 4 | one   | 2 |  2 |   |  0
+     | 2 | 3 | two   | 2 |  2 | 1 | -1
+     | 2 | 3 | two   | 2 |  2 | 2 |  2
+     | 2 | 3 | two   | 2 |  2 | 3 | -3
+     | 2 | 3 | two   | 2 |  2 | 2 |  4
+     | 2 | 3 | two   | 2 |  2 | 5 | -5
+     | 2 | 3 | two   | 2 |  2 | 5 | -5
+     | 2 | 3 | two   | 2 |  2 | 0 |   
+     | 2 | 3 | two   | 2 |  2 |   |   
+     | 2 | 3 | two   | 2 |  2 |   |  0
+     | 3 | 2 | three | 2 |  2 | 1 | -1
+     | 3 | 2 | three | 2 |  2 | 2 |  2
+     | 3 | 2 | three | 2 |  2 | 3 | -3
+     | 3 | 2 | three | 2 |  2 | 2 |  4
+     | 3 | 2 | three | 2 |  2 | 5 | -5
+     | 3 | 2 | three | 2 |  2 | 5 | -5
+     | 3 | 2 | three | 2 |  2 | 0 |   
+     | 3 | 2 | three | 2 |  2 |   |   
+     | 3 | 2 | three | 2 |  2 |   |  0
+     | 4 | 1 | four  | 2 |  2 | 1 | -1
+     | 4 | 1 | four  | 2 |  2 | 2 |  2
+     | 4 | 1 | four  | 2 |  2 | 3 | -3
+     | 4 | 1 | four  | 2 |  2 | 2 |  4
+     | 4 | 1 | four  | 2 |  2 | 5 | -5
+     | 4 | 1 | four  | 2 |  2 | 5 | -5
+     | 4 | 1 | four  | 2 |  2 | 0 |   
+     | 4 | 1 | four  | 2 |  2 |   |   
+     | 4 | 1 | four  | 2 |  2 |   |  0
+     | 5 | 0 | five  | 2 |  2 | 1 | -1
+     | 5 | 0 | five  | 2 |  2 | 2 |  2
+     | 5 | 0 | five  | 2 |  2 | 3 | -3
+     | 5 | 0 | five  | 2 |  2 | 2 |  4
+     | 5 | 0 | five  | 2 |  2 | 5 | -5
+     | 5 | 0 | five  | 2 |  2 | 5 | -5
+     | 5 | 0 | five  | 2 |  2 | 0 |   
+     | 5 | 0 | five  | 2 |  2 |   |   
+     | 5 | 0 | five  | 2 |  2 |   |  0
+     | 6 | 6 | six   | 2 |  2 | 1 | -1
+     | 6 | 6 | six   | 2 |  2 | 2 |  2
+     | 6 | 6 | six   | 2 |  2 | 3 | -3
+     | 6 | 6 | six   | 2 |  2 | 2 |  4
+     | 6 | 6 | six   | 2 |  2 | 5 | -5
+     | 6 | 6 | six   | 2 |  2 | 5 | -5
+     | 6 | 6 | six   | 2 |  2 | 0 |   
+     | 6 | 6 | six   | 2 |  2 |   |   
+     | 6 | 6 | six   | 2 |  2 |   |  0
+     | 7 | 7 | seven | 2 |  2 | 1 | -1
+     | 7 | 7 | seven | 2 |  2 | 2 |  2
+     | 7 | 7 | seven | 2 |  2 | 3 | -3
+     | 7 | 7 | seven | 2 |  2 | 2 |  4
+     | 7 | 7 | seven | 2 |  2 | 5 | -5
+     | 7 | 7 | seven | 2 |  2 | 5 | -5
+     | 7 | 7 | seven | 2 |  2 | 0 |   
+     | 7 | 7 | seven | 2 |  2 |   |   
+     | 7 | 7 | seven | 2 |  2 |   |  0
+     | 8 | 8 | eight | 2 |  2 | 1 | -1
+     | 8 | 8 | eight | 2 |  2 | 2 |  2
+     | 8 | 8 | eight | 2 |  2 | 3 | -3
+     | 8 | 8 | eight | 2 |  2 | 2 |  4
+     | 8 | 8 | eight | 2 |  2 | 5 | -5
+     | 8 | 8 | eight | 2 |  2 | 5 | -5
+     | 8 | 8 | eight | 2 |  2 | 0 |   
+     | 8 | 8 | eight | 2 |  2 |   |   
+     | 8 | 8 | eight | 2 |  2 |   |  0
      | 0 |   | zero  | 2 |  2 | 1 | -1
      | 0 |   | zero  | 2 |  2 | 2 |  2
      | 0 |   | zero  | 2 |  2 | 3 | -3
@@ -1325,6 +839,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 2 |  2 | 0 |   
      | 0 |   | zero  | 2 |  2 |   |   
      | 0 |   | zero  | 2 |  2 |   |  0
+     |   |   | null  | 2 |  2 | 1 | -1
+     |   |   | null  | 2 |  2 | 2 |  2
+     |   |   | null  | 2 |  2 | 3 | -3
+     |   |   | null  | 2 |  2 | 2 |  4
+     |   |   | null  | 2 |  2 | 5 | -5
+     |   |   | null  | 2 |  2 | 5 | -5
+     |   |   | null  | 2 |  2 | 0 |   
+     |   |   | null  | 2 |  2 |   |   
+     |   |   | null  | 2 |  2 |   |  0
+     |   | 0 | zero  | 2 |  2 | 1 | -1
+     |   | 0 | zero  | 2 |  2 | 2 |  2
+     |   | 0 | zero  | 2 |  2 | 3 | -3
+     |   | 0 | zero  | 2 |  2 | 2 |  4
+     |   | 0 | zero  | 2 |  2 | 5 | -5
+     |   | 0 | zero  | 2 |  2 | 5 | -5
+     |   | 0 | zero  | 2 |  2 | 0 |   
+     |   | 0 | zero  | 2 |  2 |   |   
+     |   | 0 | zero  | 2 |  2 |   |  0
+     | 1 | 4 | one   | 3 | -3 | 1 | -1
+     | 1 | 4 | one   | 3 | -3 | 2 |  2
+     | 1 | 4 | one   | 3 | -3 | 3 | -3
+     | 1 | 4 | one   | 3 | -3 | 2 |  4
+     | 1 | 4 | one   | 3 | -3 | 5 | -5
+     | 1 | 4 | one   | 3 | -3 | 5 | -5
+     | 1 | 4 | one   | 3 | -3 | 0 |   
+     | 1 | 4 | one   | 3 | -3 |   |   
+     | 1 | 4 | one   | 3 | -3 |   |  0
+     | 2 | 3 | two   | 3 | -3 | 1 | -1
+     | 2 | 3 | two   | 3 | -3 | 2 |  2
+     | 2 | 3 | two   | 3 | -3 | 3 | -3
+     | 2 | 3 | two   | 3 | -3 | 2 |  4
+     | 2 | 3 | two   | 3 | -3 | 5 | -5
+     | 2 | 3 | two   | 3 | -3 | 5 | -5
+     | 2 | 3 | two   | 3 | -3 | 0 |   
+     | 2 | 3 | two   | 3 | -3 |   |   
+     | 2 | 3 | two   | 3 | -3 |   |  0
+     | 3 | 2 | three | 3 | -3 | 1 | -1
+     | 3 | 2 | three | 3 | -3 | 2 |  2
+     | 3 | 2 | three | 3 | -3 | 3 | -3
+     | 3 | 2 | three | 3 | -3 | 2 |  4
+     | 3 | 2 | three | 3 | -3 | 5 | -5
+     | 3 | 2 | three | 3 | -3 | 5 | -5
+     | 3 | 2 | three | 3 | -3 | 0 |   
+     | 3 | 2 | three | 3 | -3 |   |   
+     | 3 | 2 | three | 3 | -3 |   |  0
+     | 4 | 1 | four  | 3 | -3 | 1 | -1
+     | 4 | 1 | four  | 3 | -3 | 2 |  2
+     | 4 | 1 | four  | 3 | -3 | 3 | -3
+     | 4 | 1 | four  | 3 | -3 | 2 |  4
+     | 4 | 1 | four  | 3 | -3 | 5 | -5
+     | 4 | 1 | four  | 3 | -3 | 5 | -5
+     | 4 | 1 | four  | 3 | -3 | 0 |   
+     | 4 | 1 | four  | 3 | -3 |   |   
+     | 4 | 1 | four  | 3 | -3 |   |  0
+     | 5 | 0 | five  | 3 | -3 | 1 | -1
+     | 5 | 0 | five  | 3 | -3 | 2 |  2
+     | 5 | 0 | five  | 3 | -3 | 3 | -3
+     | 5 | 0 | five  | 3 | -3 | 2 |  4
+     | 5 | 0 | five  | 3 | -3 | 5 | -5
+     | 5 | 0 | five  | 3 | -3 | 5 | -5
+     | 5 | 0 | five  | 3 | -3 | 0 |   
+     | 5 | 0 | five  | 3 | -3 |   |   
+     | 5 | 0 | five  | 3 | -3 |   |  0
+     | 6 | 6 | six   | 3 | -3 | 1 | -1
+     | 6 | 6 | six   | 3 | -3 | 2 |  2
+     | 6 | 6 | six   | 3 | -3 | 3 | -3
+     | 6 | 6 | six   | 3 | -3 | 2 |  4
+     | 6 | 6 | six   | 3 | -3 | 5 | -5
+     | 6 | 6 | six   | 3 | -3 | 5 | -5
+     | 6 | 6 | six   | 3 | -3 | 0 |   
+     | 6 | 6 | six   | 3 | -3 |   |   
+     | 6 | 6 | six   | 3 | -3 |   |  0
+     | 7 | 7 | seven | 3 | -3 | 1 | -1
+     | 7 | 7 | seven | 3 | -3 | 2 |  2
+     | 7 | 7 | seven | 3 | -3 | 3 | -3
+     | 7 | 7 | seven | 3 | -3 | 2 |  4
+     | 7 | 7 | seven | 3 | -3 | 5 | -5
+     | 7 | 7 | seven | 3 | -3 | 5 | -5
+     | 7 | 7 | seven | 3 | -3 | 0 |   
+     | 7 | 7 | seven | 3 | -3 |   |   
+     | 7 | 7 | seven | 3 | -3 |   |  0
+     | 8 | 8 | eight | 3 | -3 | 1 | -1
+     | 8 | 8 | eight | 3 | -3 | 2 |  2
+     | 8 | 8 | eight | 3 | -3 | 3 | -3
+     | 8 | 8 | eight | 3 | -3 | 2 |  4
+     | 8 | 8 | eight | 3 | -3 | 5 | -5
+     | 8 | 8 | eight | 3 | -3 | 5 | -5
+     | 8 | 8 | eight | 3 | -3 | 0 |   
+     | 8 | 8 | eight | 3 | -3 |   |   
+     | 8 | 8 | eight | 3 | -3 |   |  0
      | 0 |   | zero  | 3 | -3 | 1 | -1
      | 0 |   | zero  | 3 | -3 | 2 |  2
      | 0 |   | zero  | 3 | -3 | 3 | -3
@@ -1334,6 +938,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 3 | -3 | 0 |   
      | 0 |   | zero  | 3 | -3 |   |   
      | 0 |   | zero  | 3 | -3 |   |  0
+     |   |   | null  | 3 | -3 | 1 | -1
+     |   |   | null  | 3 | -3 | 2 |  2
+     |   |   | null  | 3 | -3 | 3 | -3
+     |   |   | null  | 3 | -3 | 2 |  4
+     |   |   | null  | 3 | -3 | 5 | -5
+     |   |   | null  | 3 | -3 | 5 | -5
+     |   |   | null  | 3 | -3 | 0 |   
+     |   |   | null  | 3 | -3 |   |   
+     |   |   | null  | 3 | -3 |   |  0
+     |   | 0 | zero  | 3 | -3 | 1 | -1
+     |   | 0 | zero  | 3 | -3 | 2 |  2
+     |   | 0 | zero  | 3 | -3 | 3 | -3
+     |   | 0 | zero  | 3 | -3 | 2 |  4
+     |   | 0 | zero  | 3 | -3 | 5 | -5
+     |   | 0 | zero  | 3 | -3 | 5 | -5
+     |   | 0 | zero  | 3 | -3 | 0 |   
+     |   | 0 | zero  | 3 | -3 |   |   
+     |   | 0 | zero  | 3 | -3 |   |  0
+     | 1 | 4 | one   | 2 |  4 | 1 | -1
+     | 1 | 4 | one   | 2 |  4 | 2 |  2
+     | 1 | 4 | one   | 2 |  4 | 3 | -3
+     | 1 | 4 | one   | 2 |  4 | 2 |  4
+     | 1 | 4 | one   | 2 |  4 | 5 | -5
+     | 1 | 4 | one   | 2 |  4 | 5 | -5
+     | 1 | 4 | one   | 2 |  4 | 0 |   
+     | 1 | 4 | one   | 2 |  4 |   |   
+     | 1 | 4 | one   | 2 |  4 |   |  0
+     | 2 | 3 | two   | 2 |  4 | 1 | -1
+     | 2 | 3 | two   | 2 |  4 | 2 |  2
+     | 2 | 3 | two   | 2 |  4 | 3 | -3
+     | 2 | 3 | two   | 2 |  4 | 2 |  4
+     | 2 | 3 | two   | 2 |  4 | 5 | -5
+     | 2 | 3 | two   | 2 |  4 | 5 | -5
+     | 2 | 3 | two   | 2 |  4 | 0 |   
+     | 2 | 3 | two   | 2 |  4 |   |   
+     | 2 | 3 | two   | 2 |  4 |   |  0
+     | 3 | 2 | three | 2 |  4 | 1 | -1
+     | 3 | 2 | three | 2 |  4 | 2 |  2
+     | 3 | 2 | three | 2 |  4 | 3 | -3
+     | 3 | 2 | three | 2 |  4 | 2 |  4
+     | 3 | 2 | three | 2 |  4 | 5 | -5
+     | 3 | 2 | three | 2 |  4 | 5 | -5
+     | 3 | 2 | three | 2 |  4 | 0 |   
+     | 3 | 2 | three | 2 |  4 |   |   
+     | 3 | 2 | three | 2 |  4 |   |  0
+     | 4 | 1 | four  | 2 |  4 | 1 | -1
+     | 4 | 1 | four  | 2 |  4 | 2 |  2
+     | 4 | 1 | four  | 2 |  4 | 3 | -3
+     | 4 | 1 | four  | 2 |  4 | 2 |  4
+     | 4 | 1 | four  | 2 |  4 | 5 | -5
+     | 4 | 1 | four  | 2 |  4 | 5 | -5
+     | 4 | 1 | four  | 2 |  4 | 0 |   
+     | 4 | 1 | four  | 2 |  4 |   |   
+     | 4 | 1 | four  | 2 |  4 |   |  0
+     | 5 | 0 | five  | 2 |  4 | 1 | -1
+     | 5 | 0 | five  | 2 |  4 | 2 |  2
+     | 5 | 0 | five  | 2 |  4 | 3 | -3
+     | 5 | 0 | five  | 2 |  4 | 2 |  4
+     | 5 | 0 | five  | 2 |  4 | 5 | -5
+     | 5 | 0 | five  | 2 |  4 | 5 | -5
+     | 5 | 0 | five  | 2 |  4 | 0 |   
+     | 5 | 0 | five  | 2 |  4 |   |   
+     | 5 | 0 | five  | 2 |  4 |   |  0
+     | 6 | 6 | six   | 2 |  4 | 1 | -1
+     | 6 | 6 | six   | 2 |  4 | 2 |  2
+     | 6 | 6 | six   | 2 |  4 | 3 | -3
+     | 6 | 6 | six   | 2 |  4 | 2 |  4
+     | 6 | 6 | six   | 2 |  4 | 5 | -5
+     | 6 | 6 | six   | 2 |  4 | 5 | -5
+     | 6 | 6 | six   | 2 |  4 | 0 |   
+     | 6 | 6 | six   | 2 |  4 |   |   
+     | 6 | 6 | six   | 2 |  4 |   |  0
+     | 7 | 7 | seven | 2 |  4 | 1 | -1
+     | 7 | 7 | seven | 2 |  4 | 2 |  2
+     | 7 | 7 | seven | 2 |  4 | 3 | -3
+     | 7 | 7 | seven | 2 |  4 | 2 |  4
+     | 7 | 7 | seven | 2 |  4 | 5 | -5
+     | 7 | 7 | seven | 2 |  4 | 5 | -5
+     | 7 | 7 | seven | 2 |  4 | 0 |   
+     | 7 | 7 | seven | 2 |  4 |   |   
+     | 7 | 7 | seven | 2 |  4 |   |  0
+     | 8 | 8 | eight | 2 |  4 | 1 | -1
+     | 8 | 8 | eight | 2 |  4 | 2 |  2
+     | 8 | 8 | eight | 2 |  4 | 3 | -3
+     | 8 | 8 | eight | 2 |  4 | 2 |  4
+     | 8 | 8 | eight | 2 |  4 | 5 | -5
+     | 8 | 8 | eight | 2 |  4 | 5 | -5
+     | 8 | 8 | eight | 2 |  4 | 0 |   
+     | 8 | 8 | eight | 2 |  4 |   |   
+     | 8 | 8 | eight | 2 |  4 |   |  0
      | 0 |   | zero  | 2 |  4 | 1 | -1
      | 0 |   | zero  | 2 |  4 | 2 |  2
      | 0 |   | zero  | 2 |  4 | 3 | -3
@@ -1343,6 +1037,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 2 |  4 | 0 |   
      | 0 |   | zero  | 2 |  4 |   |   
      | 0 |   | zero  | 2 |  4 |   |  0
+     |   |   | null  | 2 |  4 | 1 | -1
+     |   |   | null  | 2 |  4 | 2 |  2
+     |   |   | null  | 2 |  4 | 3 | -3
+     |   |   | null  | 2 |  4 | 2 |  4
+     |   |   | null  | 2 |  4 | 5 | -5
+     |   |   | null  | 2 |  4 | 5 | -5
+     |   |   | null  | 2 |  4 | 0 |   
+     |   |   | null  | 2 |  4 |   |   
+     |   |   | null  | 2 |  4 |   |  0
+     |   | 0 | zero  | 2 |  4 | 1 | -1
+     |   | 0 | zero  | 2 |  4 | 2 |  2
+     |   | 0 | zero  | 2 |  4 | 3 | -3
+     |   | 0 | zero  | 2 |  4 | 2 |  4
+     |   | 0 | zero  | 2 |  4 | 5 | -5
+     |   | 0 | zero  | 2 |  4 | 5 | -5
+     |   | 0 | zero  | 2 |  4 | 0 |   
+     |   | 0 | zero  | 2 |  4 |   |   
+     |   | 0 | zero  | 2 |  4 |   |  0
+     | 1 | 4 | one   | 5 | -5 | 1 | -1
+     | 1 | 4 | one   | 5 | -5 | 2 |  2
+     | 1 | 4 | one   | 5 | -5 | 3 | -3
+     | 1 | 4 | one   | 5 | -5 | 2 |  4
+     | 1 | 4 | one   | 5 | -5 | 5 | -5
+     | 1 | 4 | one   | 5 | -5 | 5 | -5
+     | 1 | 4 | one   | 5 | -5 | 0 |   
+     | 1 | 4 | one   | 5 | -5 |   |   
+     | 1 | 4 | one   | 5 | -5 |   |  0
+     | 2 | 3 | two   | 5 | -5 | 1 | -1
+     | 2 | 3 | two   | 5 | -5 | 2 |  2
+     | 2 | 3 | two   | 5 | -5 | 3 | -3
+     | 2 | 3 | two   | 5 | -5 | 2 |  4
+     | 2 | 3 | two   | 5 | -5 | 5 | -5
+     | 2 | 3 | two   | 5 | -5 | 5 | -5
+     | 2 | 3 | two   | 5 | -5 | 0 |   
+     | 2 | 3 | two   | 5 | -5 |   |   
+     | 2 | 3 | two   | 5 | -5 |   |  0
+     | 3 | 2 | three | 5 | -5 | 1 | -1
+     | 3 | 2 | three | 5 | -5 | 2 |  2
+     | 3 | 2 | three | 5 | -5 | 3 | -3
+     | 3 | 2 | three | 5 | -5 | 2 |  4
+     | 3 | 2 | three | 5 | -5 | 5 | -5
+     | 3 | 2 | three | 5 | -5 | 5 | -5
+     | 3 | 2 | three | 5 | -5 | 0 |   
+     | 3 | 2 | three | 5 | -5 |   |   
+     | 3 | 2 | three | 5 | -5 |   |  0
+     | 4 | 1 | four  | 5 | -5 | 1 | -1
+     | 4 | 1 | four  | 5 | -5 | 2 |  2
+     | 4 | 1 | four  | 5 | -5 | 3 | -3
+     | 4 | 1 | four  | 5 | -5 | 2 |  4
+     | 4 | 1 | four  | 5 | -5 | 5 | -5
+     | 4 | 1 | four  | 5 | -5 | 5 | -5
+     | 4 | 1 | four  | 5 | -5 | 0 |   
+     | 4 | 1 | four  | 5 | -5 |   |   
+     | 4 | 1 | four  | 5 | -5 |   |  0
+     | 5 | 0 | five  | 5 | -5 | 1 | -1
+     | 5 | 0 | five  | 5 | -5 | 2 |  2
+     | 5 | 0 | five  | 5 | -5 | 3 | -3
+     | 5 | 0 | five  | 5 | -5 | 2 |  4
+     | 5 | 0 | five  | 5 | -5 | 5 | -5
+     | 5 | 0 | five  | 5 | -5 | 5 | -5
+     | 5 | 0 | five  | 5 | -5 | 0 |   
+     | 5 | 0 | five  | 5 | -5 |   |   
+     | 5 | 0 | five  | 5 | -5 |   |  0
+     | 6 | 6 | six   | 5 | -5 | 1 | -1
+     | 6 | 6 | six   | 5 | -5 | 2 |  2
+     | 6 | 6 | six   | 5 | -5 | 3 | -3
+     | 6 | 6 | six   | 5 | -5 | 2 |  4
+     | 6 | 6 | six   | 5 | -5 | 5 | -5
+     | 6 | 6 | six   | 5 | -5 | 5 | -5
+     | 6 | 6 | six   | 5 | -5 | 0 |   
+     | 6 | 6 | six   | 5 | -5 |   |   
+     | 6 | 6 | six   | 5 | -5 |   |  0
+     | 7 | 7 | seven | 5 | -5 | 1 | -1
+     | 7 | 7 | seven | 5 | -5 | 2 |  2
+     | 7 | 7 | seven | 5 | -5 | 3 | -3
+     | 7 | 7 | seven | 5 | -5 | 2 |  4
+     | 7 | 7 | seven | 5 | -5 | 5 | -5
+     | 7 | 7 | seven | 5 | -5 | 5 | -5
+     | 7 | 7 | seven | 5 | -5 | 0 |   
+     | 7 | 7 | seven | 5 | -5 |   |   
+     | 7 | 7 | seven | 5 | -5 |   |  0
+     | 8 | 8 | eight | 5 | -5 | 1 | -1
+     | 8 | 8 | eight | 5 | -5 | 2 |  2
+     | 8 | 8 | eight | 5 | -5 | 3 | -3
+     | 8 | 8 | eight | 5 | -5 | 2 |  4
+     | 8 | 8 | eight | 5 | -5 | 5 | -5
+     | 8 | 8 | eight | 5 | -5 | 5 | -5
+     | 8 | 8 | eight | 5 | -5 | 0 |   
+     | 8 | 8 | eight | 5 | -5 |   |   
+     | 8 | 8 | eight | 5 | -5 |   |  0
      | 0 |   | zero  | 5 | -5 | 1 | -1
      | 0 |   | zero  | 5 | -5 | 2 |  2
      | 0 |   | zero  | 5 | -5 | 3 | -3
@@ -1352,6 +1136,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 5 | -5 | 0 |   
      | 0 |   | zero  | 5 | -5 |   |   
      | 0 |   | zero  | 5 | -5 |   |  0
+     |   |   | null  | 5 | -5 | 1 | -1
+     |   |   | null  | 5 | -5 | 2 |  2
+     |   |   | null  | 5 | -5 | 3 | -3
+     |   |   | null  | 5 | -5 | 2 |  4
+     |   |   | null  | 5 | -5 | 5 | -5
+     |   |   | null  | 5 | -5 | 5 | -5
+     |   |   | null  | 5 | -5 | 0 |   
+     |   |   | null  | 5 | -5 |   |   
+     |   |   | null  | 5 | -5 |   |  0
+     |   | 0 | zero  | 5 | -5 | 1 | -1
+     |   | 0 | zero  | 5 | -5 | 2 |  2
+     |   | 0 | zero  | 5 | -5 | 3 | -3
+     |   | 0 | zero  | 5 | -5 | 2 |  4
+     |   | 0 | zero  | 5 | -5 | 5 | -5
+     |   | 0 | zero  | 5 | -5 | 5 | -5
+     |   | 0 | zero  | 5 | -5 | 0 |   
+     |   | 0 | zero  | 5 | -5 |   |   
+     |   | 0 | zero  | 5 | -5 |   |  0
+     | 1 | 4 | one   | 5 | -5 | 1 | -1
+     | 1 | 4 | one   | 5 | -5 | 2 |  2
+     | 1 | 4 | one   | 5 | -5 | 3 | -3
+     | 1 | 4 | one   | 5 | -5 | 2 |  4
+     | 1 | 4 | one   | 5 | -5 | 5 | -5
+     | 1 | 4 | one   | 5 | -5 | 5 | -5
+     | 1 | 4 | one   | 5 | -5 | 0 |   
+     | 1 | 4 | one   | 5 | -5 |   |   
+     | 1 | 4 | one   | 5 | -5 |   |  0
+     | 2 | 3 | two   | 5 | -5 | 1 | -1
+     | 2 | 3 | two   | 5 | -5 | 2 |  2
+     | 2 | 3 | two   | 5 | -5 | 3 | -3
+     | 2 | 3 | two   | 5 | -5 | 2 |  4
+     | 2 | 3 | two   | 5 | -5 | 5 | -5
+     | 2 | 3 | two   | 5 | -5 | 5 | -5
+     | 2 | 3 | two   | 5 | -5 | 0 |   
+     | 2 | 3 | two   | 5 | -5 |   |   
+     | 2 | 3 | two   | 5 | -5 |   |  0
+     | 3 | 2 | three | 5 | -5 | 1 | -1
+     | 3 | 2 | three | 5 | -5 | 2 |  2
+     | 3 | 2 | three | 5 | -5 | 3 | -3
+     | 3 | 2 | three | 5 | -5 | 2 |  4
+     | 3 | 2 | three | 5 | -5 | 5 | -5
+     | 3 | 2 | three | 5 | -5 | 5 | -5
+     | 3 | 2 | three | 5 | -5 | 0 |   
+     | 3 | 2 | three | 5 | -5 |   |   
+     | 3 | 2 | three | 5 | -5 |   |  0
+     | 4 | 1 | four  | 5 | -5 | 1 | -1
+     | 4 | 1 | four  | 5 | -5 | 2 |  2
+     | 4 | 1 | four  | 5 | -5 | 3 | -3
+     | 4 | 1 | four  | 5 | -5 | 2 |  4
+     | 4 | 1 | four  | 5 | -5 | 5 | -5
+     | 4 | 1 | four  | 5 | -5 | 5 | -5
+     | 4 | 1 | four  | 5 | -5 | 0 |   
+     | 4 | 1 | four  | 5 | -5 |   |   
+     | 4 | 1 | four  | 5 | -5 |   |  0
+     | 5 | 0 | five  | 5 | -5 | 1 | -1
+     | 5 | 0 | five  | 5 | -5 | 2 |  2
+     | 5 | 0 | five  | 5 | -5 | 3 | -3
+     | 5 | 0 | five  | 5 | -5 | 2 |  4
+     | 5 | 0 | five  | 5 | -5 | 5 | -5
+     | 5 | 0 | five  | 5 | -5 | 5 | -5
+     | 5 | 0 | five  | 5 | -5 | 0 |   
+     | 5 | 0 | five  | 5 | -5 |   |   
+     | 5 | 0 | five  | 5 | -5 |   |  0
+     | 6 | 6 | six   | 5 | -5 | 1 | -1
+     | 6 | 6 | six   | 5 | -5 | 2 |  2
+     | 6 | 6 | six   | 5 | -5 | 3 | -3
+     | 6 | 6 | six   | 5 | -5 | 2 |  4
+     | 6 | 6 | six   | 5 | -5 | 5 | -5
+     | 6 | 6 | six   | 5 | -5 | 5 | -5
+     | 6 | 6 | six   | 5 | -5 | 0 |   
+     | 6 | 6 | six   | 5 | -5 |   |   
+     | 6 | 6 | six   | 5 | -5 |   |  0
+     | 7 | 7 | seven | 5 | -5 | 1 | -1
+     | 7 | 7 | seven | 5 | -5 | 2 |  2
+     | 7 | 7 | seven | 5 | -5 | 3 | -3
+     | 7 | 7 | seven | 5 | -5 | 2 |  4
+     | 7 | 7 | seven | 5 | -5 | 5 | -5
+     | 7 | 7 | seven | 5 | -5 | 5 | -5
+     | 7 | 7 | seven | 5 | -5 | 0 |   
+     | 7 | 7 | seven | 5 | -5 |   |   
+     | 7 | 7 | seven | 5 | -5 |   |  0
+     | 8 | 8 | eight | 5 | -5 | 1 | -1
+     | 8 | 8 | eight | 5 | -5 | 2 |  2
+     | 8 | 8 | eight | 5 | -5 | 3 | -3
+     | 8 | 8 | eight | 5 | -5 | 2 |  4
+     | 8 | 8 | eight | 5 | -5 | 5 | -5
+     | 8 | 8 | eight | 5 | -5 | 5 | -5
+     | 8 | 8 | eight | 5 | -5 | 0 |   
+     | 8 | 8 | eight | 5 | -5 |   |   
+     | 8 | 8 | eight | 5 | -5 |   |  0
      | 0 |   | zero  | 5 | -5 | 1 | -1
      | 0 |   | zero  | 5 | -5 | 2 |  2
      | 0 |   | zero  | 5 | -5 | 3 | -3
@@ -1361,6 +1235,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 5 | -5 | 0 |   
      | 0 |   | zero  | 5 | -5 |   |   
      | 0 |   | zero  | 5 | -5 |   |  0
+     |   |   | null  | 5 | -5 | 1 | -1
+     |   |   | null  | 5 | -5 | 2 |  2
+     |   |   | null  | 5 | -5 | 3 | -3
+     |   |   | null  | 5 | -5 | 2 |  4
+     |   |   | null  | 5 | -5 | 5 | -5
+     |   |   | null  | 5 | -5 | 5 | -5
+     |   |   | null  | 5 | -5 | 0 |   
+     |   |   | null  | 5 | -5 |   |   
+     |   |   | null  | 5 | -5 |   |  0
+     |   | 0 | zero  | 5 | -5 | 1 | -1
+     |   | 0 | zero  | 5 | -5 | 2 |  2
+     |   | 0 | zero  | 5 | -5 | 3 | -3
+     |   | 0 | zero  | 5 | -5 | 2 |  4
+     |   | 0 | zero  | 5 | -5 | 5 | -5
+     |   | 0 | zero  | 5 | -5 | 5 | -5
+     |   | 0 | zero  | 5 | -5 | 0 |   
+     |   | 0 | zero  | 5 | -5 |   |   
+     |   | 0 | zero  | 5 | -5 |   |  0
+     | 1 | 4 | one   | 0 |    | 1 | -1
+     | 1 | 4 | one   | 0 |    | 2 |  2
+     | 1 | 4 | one   | 0 |    | 3 | -3
+     | 1 | 4 | one   | 0 |    | 2 |  4
+     | 1 | 4 | one   | 0 |    | 5 | -5
+     | 1 | 4 | one   | 0 |    | 5 | -5
+     | 1 | 4 | one   | 0 |    | 0 |   
+     | 1 | 4 | one   | 0 |    |   |   
+     | 1 | 4 | one   | 0 |    |   |  0
+     | 2 | 3 | two   | 0 |    | 1 | -1
+     | 2 | 3 | two   | 0 |    | 2 |  2
+     | 2 | 3 | two   | 0 |    | 3 | -3
+     | 2 | 3 | two   | 0 |    | 2 |  4
+     | 2 | 3 | two   | 0 |    | 5 | -5
+     | 2 | 3 | two   | 0 |    | 5 | -5
+     | 2 | 3 | two   | 0 |    | 0 |   
+     | 2 | 3 | two   | 0 |    |   |   
+     | 2 | 3 | two   | 0 |    |   |  0
+     | 3 | 2 | three | 0 |    | 1 | -1
+     | 3 | 2 | three | 0 |    | 2 |  2
+     | 3 | 2 | three | 0 |    | 3 | -3
+     | 3 | 2 | three | 0 |    | 2 |  4
+     | 3 | 2 | three | 0 |    | 5 | -5
+     | 3 | 2 | three | 0 |    | 5 | -5
+     | 3 | 2 | three | 0 |    | 0 |   
+     | 3 | 2 | three | 0 |    |   |   
+     | 3 | 2 | three | 0 |    |   |  0
+     | 4 | 1 | four  | 0 |    | 1 | -1
+     | 4 | 1 | four  | 0 |    | 2 |  2
+     | 4 | 1 | four  | 0 |    | 3 | -3
+     | 4 | 1 | four  | 0 |    | 2 |  4
+     | 4 | 1 | four  | 0 |    | 5 | -5
+     | 4 | 1 | four  | 0 |    | 5 | -5
+     | 4 | 1 | four  | 0 |    | 0 |   
+     | 4 | 1 | four  | 0 |    |   |   
+     | 4 | 1 | four  | 0 |    |   |  0
+     | 5 | 0 | five  | 0 |    | 1 | -1
+     | 5 | 0 | five  | 0 |    | 2 |  2
+     | 5 | 0 | five  | 0 |    | 3 | -3
+     | 5 | 0 | five  | 0 |    | 2 |  4
+     | 5 | 0 | five  | 0 |    | 5 | -5
+     | 5 | 0 | five  | 0 |    | 5 | -5
+     | 5 | 0 | five  | 0 |    | 0 |   
+     | 5 | 0 | five  | 0 |    |   |   
+     | 5 | 0 | five  | 0 |    |   |  0
+     | 6 | 6 | six   | 0 |    | 1 | -1
+     | 6 | 6 | six   | 0 |    | 2 |  2
+     | 6 | 6 | six   | 0 |    | 3 | -3
+     | 6 | 6 | six   | 0 |    | 2 |  4
+     | 6 | 6 | six   | 0 |    | 5 | -5
+     | 6 | 6 | six   | 0 |    | 5 | -5
+     | 6 | 6 | six   | 0 |    | 0 |   
+     | 6 | 6 | six   | 0 |    |   |   
+     | 6 | 6 | six   | 0 |    |   |  0
+     | 7 | 7 | seven | 0 |    | 1 | -1
+     | 7 | 7 | seven | 0 |    | 2 |  2
+     | 7 | 7 | seven | 0 |    | 3 | -3
+     | 7 | 7 | seven | 0 |    | 2 |  4
+     | 7 | 7 | seven | 0 |    | 5 | -5
+     | 7 | 7 | seven | 0 |    | 5 | -5
+     | 7 | 7 | seven | 0 |    | 0 |   
+     | 7 | 7 | seven | 0 |    |   |   
+     | 7 | 7 | seven | 0 |    |   |  0
+     | 8 | 8 | eight | 0 |    | 1 | -1
+     | 8 | 8 | eight | 0 |    | 2 |  2
+     | 8 | 8 | eight | 0 |    | 3 | -3
+     | 8 | 8 | eight | 0 |    | 2 |  4
+     | 8 | 8 | eight | 0 |    | 5 | -5
+     | 8 | 8 | eight | 0 |    | 5 | -5
+     | 8 | 8 | eight | 0 |    | 0 |   
+     | 8 | 8 | eight | 0 |    |   |   
+     | 8 | 8 | eight | 0 |    |   |  0
      | 0 |   | zero  | 0 |    | 1 | -1
      | 0 |   | zero  | 0 |    | 2 |  2
      | 0 |   | zero  | 0 |    | 3 | -3
@@ -1370,6 +1334,96 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  | 0 |    | 0 |   
      | 0 |   | zero  | 0 |    |   |   
      | 0 |   | zero  | 0 |    |   |  0
+     |   |   | null  | 0 |    | 1 | -1
+     |   |   | null  | 0 |    | 2 |  2
+     |   |   | null  | 0 |    | 3 | -3
+     |   |   | null  | 0 |    | 2 |  4
+     |   |   | null  | 0 |    | 5 | -5
+     |   |   | null  | 0 |    | 5 | -5
+     |   |   | null  | 0 |    | 0 |   
+     |   |   | null  | 0 |    |   |   
+     |   |   | null  | 0 |    |   |  0
+     |   | 0 | zero  | 0 |    | 1 | -1
+     |   | 0 | zero  | 0 |    | 2 |  2
+     |   | 0 | zero  | 0 |    | 3 | -3
+     |   | 0 | zero  | 0 |    | 2 |  4
+     |   | 0 | zero  | 0 |    | 5 | -5
+     |   | 0 | zero  | 0 |    | 5 | -5
+     |   | 0 | zero  | 0 |    | 0 |   
+     |   | 0 | zero  | 0 |    |   |   
+     |   | 0 | zero  | 0 |    |   |  0
+     | 1 | 4 | one   |   |    | 1 | -1
+     | 1 | 4 | one   |   |    | 2 |  2
+     | 1 | 4 | one   |   |    | 3 | -3
+     | 1 | 4 | one   |   |    | 2 |  4
+     | 1 | 4 | one   |   |    | 5 | -5
+     | 1 | 4 | one   |   |    | 5 | -5
+     | 1 | 4 | one   |   |    | 0 |   
+     | 1 | 4 | one   |   |    |   |   
+     | 1 | 4 | one   |   |    |   |  0
+     | 2 | 3 | two   |   |    | 1 | -1
+     | 2 | 3 | two   |   |    | 2 |  2
+     | 2 | 3 | two   |   |    | 3 | -3
+     | 2 | 3 | two   |   |    | 2 |  4
+     | 2 | 3 | two   |   |    | 5 | -5
+     | 2 | 3 | two   |   |    | 5 | -5
+     | 2 | 3 | two   |   |    | 0 |   
+     | 2 | 3 | two   |   |    |   |   
+     | 2 | 3 | two   |   |    |   |  0
+     | 3 | 2 | three |   |    | 1 | -1
+     | 3 | 2 | three |   |    | 2 |  2
+     | 3 | 2 | three |   |    | 3 | -3
+     | 3 | 2 | three |   |    | 2 |  4
+     | 3 | 2 | three |   |    | 5 | -5
+     | 3 | 2 | three |   |    | 5 | -5
+     | 3 | 2 | three |   |    | 0 |   
+     | 3 | 2 | three |   |    |   |   
+     | 3 | 2 | three |   |    |   |  0
+     | 4 | 1 | four  |   |    | 1 | -1
+     | 4 | 1 | four  |   |    | 2 |  2
+     | 4 | 1 | four  |   |    | 3 | -3
+     | 4 | 1 | four  |   |    | 2 |  4
+     | 4 | 1 | four  |   |    | 5 | -5
+     | 4 | 1 | four  |   |    | 5 | -5
+     | 4 | 1 | four  |   |    | 0 |   
+     | 4 | 1 | four  |   |    |   |   
+     | 4 | 1 | four  |   |    |   |  0
+     | 5 | 0 | five  |   |    | 1 | -1
+     | 5 | 0 | five  |   |    | 2 |  2
+     | 5 | 0 | five  |   |    | 3 | -3
+     | 5 | 0 | five  |   |    | 2 |  4
+     | 5 | 0 | five  |   |    | 5 | -5
+     | 5 | 0 | five  |   |    | 5 | -5
+     | 5 | 0 | five  |   |    | 0 |   
+     | 5 | 0 | five  |   |    |   |   
+     | 5 | 0 | five  |   |    |   |  0
+     | 6 | 6 | six   |   |    | 1 | -1
+     | 6 | 6 | six   |   |    | 2 |  2
+     | 6 | 6 | six   |   |    | 3 | -3
+     | 6 | 6 | six   |   |    | 2 |  4
+     | 6 | 6 | six   |   |    | 5 | -5
+     | 6 | 6 | six   |   |    | 5 | -5
+     | 6 | 6 | six   |   |    | 0 |   
+     | 6 | 6 | six   |   |    |   |   
+     | 6 | 6 | six   |   |    |   |  0
+     | 7 | 7 | seven |   |    | 1 | -1
+     | 7 | 7 | seven |   |    | 2 |  2
+     | 7 | 7 | seven |   |    | 3 | -3
+     | 7 | 7 | seven |   |    | 2 |  4
+     | 7 | 7 | seven |   |    | 5 | -5
+     | 7 | 7 | seven |   |    | 5 | -5
+     | 7 | 7 | seven |   |    | 0 |   
+     | 7 | 7 | seven |   |    |   |   
+     | 7 | 7 | seven |   |    |   |  0
+     | 8 | 8 | eight |   |    | 1 | -1
+     | 8 | 8 | eight |   |    | 2 |  2
+     | 8 | 8 | eight |   |    | 3 | -3
+     | 8 | 8 | eight |   |    | 2 |  4
+     | 8 | 8 | eight |   |    | 5 | -5
+     | 8 | 8 | eight |   |    | 5 | -5
+     | 8 | 8 | eight |   |    | 0 |   
+     | 8 | 8 | eight |   |    |   |   
+     | 8 | 8 | eight |   |    |   |  0
      | 0 |   | zero  |   |    | 1 | -1
      | 0 |   | zero  |   |    | 2 |  2
      | 0 |   | zero  |   |    | 3 | -3
@@ -1379,78 +1433,6 @@ SELECT '' AS "xxx", *
      | 0 |   | zero  |   |    | 0 |   
      | 0 |   | zero  |   |    |   |   
      | 0 |   | zero  |   |    |   |  0
-     | 0 |   | zero  |   |  0 | 1 | -1
-     | 0 |   | zero  |   |  0 | 2 |  2
-     | 0 |   | zero  |   |  0 | 3 | -3
-     | 0 |   | zero  |   |  0 | 2 |  4
-     | 0 |   | zero  |   |  0 | 5 | -5
-     | 0 |   | zero  |   |  0 | 5 | -5
-     | 0 |   | zero  |   |  0 | 0 |   
-     | 0 |   | zero  |   |  0 |   |   
-     | 0 |   | zero  |   |  0 |   |  0
-     |   |   | null  | 1 | -1 | 1 | -1
-     |   |   | null  | 1 | -1 | 2 |  2
-     |   |   | null  | 1 | -1 | 3 | -3
-     |   |   | null  | 1 | -1 | 2 |  4
-     |   |   | null  | 1 | -1 | 5 | -5
-     |   |   | null  | 1 | -1 | 5 | -5
-     |   |   | null  | 1 | -1 | 0 |   
-     |   |   | null  | 1 | -1 |   |   
-     |   |   | null  | 1 | -1 |   |  0
-     |   |   | null  | 2 |  2 | 1 | -1
-     |   |   | null  | 2 |  2 | 2 |  2
-     |   |   | null  | 2 |  2 | 3 | -3
-     |   |   | null  | 2 |  2 | 2 |  4
-     |   |   | null  | 2 |  2 | 5 | -5
-     |   |   | null  | 2 |  2 | 5 | -5
-     |   |   | null  | 2 |  2 | 0 |   
-     |   |   | null  | 2 |  2 |   |   
-     |   |   | null  | 2 |  2 |   |  0
-     |   |   | null  | 3 | -3 | 1 | -1
-     |   |   | null  | 3 | -3 | 2 |  2
-     |   |   | null  | 3 | -3 | 3 | -3
-     |   |   | null  | 3 | -3 | 2 |  4
-     |   |   | null  | 3 | -3 | 5 | -5
-     |   |   | null  | 3 | -3 | 5 | -5
-     |   |   | null  | 3 | -3 | 0 |   
-     |   |   | null  | 3 | -3 |   |   
-     |   |   | null  | 3 | -3 |   |  0
-     |   |   | null  | 2 |  4 | 1 | -1
-     |   |   | null  | 2 |  4 | 2 |  2
-     |   |   | null  | 2 |  4 | 3 | -3
-     |   |   | null  | 2 |  4 | 2 |  4
-     |   |   | null  | 2 |  4 | 5 | -5
-     |   |   | null  | 2 |  4 | 5 | -5
-     |   |   | null  | 2 |  4 | 0 |   
-     |   |   | null  | 2 |  4 |   |   
-     |   |   | null  | 2 |  4 |   |  0
-     |   |   | null  | 5 | -5 | 1 | -1
-     |   |   | null  | 5 | -5 | 2 |  2
-     |   |   | null  | 5 | -5 | 3 | -3
-     |   |   | null  | 5 | -5 | 2 |  4
-     |   |   | null  | 5 | -5 | 5 | -5
-     |   |   | null  | 5 | -5 | 5 | -5
-     |   |   | null  | 5 | -5 | 0 |   
-     |   |   | null  | 5 | -5 |   |   
-     |   |   | null  | 5 | -5 |   |  0
-     |   |   | null  | 5 | -5 | 1 | -1
-     |   |   | null  | 5 | -5 | 2 |  2
-     |   |   | null  | 5 | -5 | 3 | -3
-     |   |   | null  | 5 | -5 | 2 |  4
-     |   |   | null  | 5 | -5 | 5 | -5
-     |   |   | null  | 5 | -5 | 5 | -5
-     |   |   | null  | 5 | -5 | 0 |   
-     |   |   | null  | 5 | -5 |   |   
-     |   |   | null  | 5 | -5 |   |  0
-     |   |   | null  | 0 |    | 1 | -1
-     |   |   | null  | 0 |    | 2 |  2
-     |   |   | null  | 0 |    | 3 | -3
-     |   |   | null  | 0 |    | 2 |  4
-     |   |   | null  | 0 |    | 5 | -5
-     |   |   | null  | 0 |    | 5 | -5
-     |   |   | null  | 0 |    | 0 |   
-     |   |   | null  | 0 |    |   |   
-     |   |   | null  | 0 |    |   |  0
      |   |   | null  |   |    | 1 | -1
      |   |   | null  |   |    | 2 |  2
      |   |   | null  |   |    | 3 | -3
@@ -1460,78 +1442,6 @@ SELECT '' AS "xxx", *
      |   |   | null  |   |    | 0 |   
      |   |   | null  |   |    |   |   
      |   |   | null  |   |    |   |  0
-     |   |   | null  |   |  0 | 1 | -1
-     |   |   | null  |   |  0 | 2 |  2
-     |   |   | null  |   |  0 | 3 | -3
-     |   |   | null  |   |  0 | 2 |  4
-     |   |   | null  |   |  0 | 5 | -5
-     |   |   | null  |   |  0 | 5 | -5
-     |   |   | null  |   |  0 | 0 |   
-     |   |   | null  |   |  0 |   |   
-     |   |   | null  |   |  0 |   |  0
-     |   | 0 | zero  | 1 | -1 | 1 | -1
-     |   | 0 | zero  | 1 | -1 | 2 |  2
-     |   | 0 | zero  | 1 | -1 | 3 | -3
-     |   | 0 | zero  | 1 | -1 | 2 |  4
-     |   | 0 | zero  | 1 | -1 | 5 | -5
-     |   | 0 | zero  | 1 | -1 | 5 | -5
-     |   | 0 | zero  | 1 | -1 | 0 |   
-     |   | 0 | zero  | 1 | -1 |   |   
-     |   | 0 | zero  | 1 | -1 |   |  0
-     |   | 0 | zero  | 2 |  2 | 1 | -1
-     |   | 0 | zero  | 2 |  2 | 2 |  2
-     |   | 0 | zero  | 2 |  2 | 3 | -3
-     |   | 0 | zero  | 2 |  2 | 2 |  4
-     |   | 0 | zero  | 2 |  2 | 5 | -5
-     |   | 0 | zero  | 2 |  2 | 5 | -5
-     |   | 0 | zero  | 2 |  2 | 0 |   
-     |   | 0 | zero  | 2 |  2 |   |   
-     |   | 0 | zero  | 2 |  2 |   |  0
-     |   | 0 | zero  | 3 | -3 | 1 | -1
-     |   | 0 | zero  | 3 | -3 | 2 |  2
-     |   | 0 | zero  | 3 | -3 | 3 | -3
-     |   | 0 | zero  | 3 | -3 | 2 |  4
-     |   | 0 | zero  | 3 | -3 | 5 | -5
-     |   | 0 | zero  | 3 | -3 | 5 | -5
-     |   | 0 | zero  | 3 | -3 | 0 |   
-     |   | 0 | zero  | 3 | -3 |   |   
-     |   | 0 | zero  | 3 | -3 |   |  0
-     |   | 0 | zero  | 2 |  4 | 1 | -1
-     |   | 0 | zero  | 2 |  4 | 2 |  2
-     |   | 0 | zero  | 2 |  4 | 3 | -3
-     |   | 0 | zero  | 2 |  4 | 2 |  4
-     |   | 0 | zero  | 2 |  4 | 5 | -5
-     |   | 0 | zero  | 2 |  4 | 5 | -5
-     |   | 0 | zero  | 2 |  4 | 0 |   
-     |   | 0 | zero  | 2 |  4 |   |   
-     |   | 0 | zero  | 2 |  4 |   |  0
-     |   | 0 | zero  | 5 | -5 | 1 | -1
-     |   | 0 | zero  | 5 | -5 | 2 |  2
-     |   | 0 | zero  | 5 | -5 | 3 | -3
-     |   | 0 | zero  | 5 | -5 | 2 |  4
-     |   | 0 | zero  | 5 | -5 | 5 | -5
-     |   | 0 | zero  | 5 | -5 | 5 | -5
-     |   | 0 | zero  | 5 | -5 | 0 |   
-     |   | 0 | zero  | 5 | -5 |   |   
-     |   | 0 | zero  | 5 | -5 |   |  0
-     |   | 0 | zero  | 5 | -5 | 1 | -1
-     |   | 0 | zero  | 5 | -5 | 2 |  2
-     |   | 0 | zero  | 5 | -5 | 3 | -3
-     |   | 0 | zero  | 5 | -5 | 2 |  4
-     |   | 0 | zero  | 5 | -5 | 5 | -5
-     |   | 0 | zero  | 5 | -5 | 5 | -5
-     |   | 0 | zero  | 5 | -5 | 0 |   
-     |   | 0 | zero  | 5 | -5 |   |   
-     |   | 0 | zero  | 5 | -5 |   |  0
-     |   | 0 | zero  | 0 |    | 1 | -1
-     |   | 0 | zero  | 0 |    | 2 |  2
-     |   | 0 | zero  | 0 |    | 3 | -3
-     |   | 0 | zero  | 0 |    | 2 |  4
-     |   | 0 | zero  | 0 |    | 5 | -5
-     |   | 0 | zero  | 0 |    | 5 | -5
-     |   | 0 | zero  | 0 |    | 0 |   
-     |   | 0 | zero  | 0 |    |   |   
-     |   | 0 | zero  | 0 |    |   |  0
      |   | 0 | zero  |   |    | 1 | -1
      |   | 0 | zero  |   |    | 2 |  2
      |   | 0 | zero  |   |    | 3 | -3
@@ -1541,6 +1451,96 @@ SELECT '' AS "xxx", *
      |   | 0 | zero  |   |    | 0 |   
      |   | 0 | zero  |   |    |   |   
      |   | 0 | zero  |   |    |   |  0
+     | 1 | 4 | one   |   |  0 | 1 | -1
+     | 1 | 4 | one   |   |  0 | 2 |  2
+     | 1 | 4 | one   |   |  0 | 3 | -3
+     | 1 | 4 | one   |   |  0 | 2 |  4
+     | 1 | 4 | one   |   |  0 | 5 | -5
+     | 1 | 4 | one   |   |  0 | 5 | -5
+     | 1 | 4 | one   |   |  0 | 0 |   
+     | 1 | 4 | one   |   |  0 |   |   
+     | 1 | 4 | one   |   |  0 |   |  0
+     | 2 | 3 | two   |   |  0 | 1 | -1
+     | 2 | 3 | two   |   |  0 | 2 |  2
+     | 2 | 3 | two   |   |  0 | 3 | -3
+     | 2 | 3 | two   |   |  0 | 2 |  4
+     | 2 | 3 | two   |   |  0 | 5 | -5
+     | 2 | 3 | two   |   |  0 | 5 | -5
+     | 2 | 3 | two   |   |  0 | 0 |   
+     | 2 | 3 | two   |   |  0 |   |   
+     | 2 | 3 | two   |   |  0 |   |  0
+     | 3 | 2 | three |   |  0 | 1 | -1
+     | 3 | 2 | three |   |  0 | 2 |  2
+     | 3 | 2 | three |   |  0 | 3 | -3
+     | 3 | 2 | three |   |  0 | 2 |  4
+     | 3 | 2 | three |   |  0 | 5 | -5
+     | 3 | 2 | three |   |  0 | 5 | -5
+     | 3 | 2 | three |   |  0 | 0 |   
+     | 3 | 2 | three |   |  0 |   |   
+     | 3 | 2 | three |   |  0 |   |  0
+     | 4 | 1 | four  |   |  0 | 1 | -1
+     | 4 | 1 | four  |   |  0 | 2 |  2
+     | 4 | 1 | four  |   |  0 | 3 | -3
+     | 4 | 1 | four  |   |  0 | 2 |  4
+     | 4 | 1 | four  |   |  0 | 5 | -5
+     | 4 | 1 | four  |   |  0 | 5 | -5
+     | 4 | 1 | four  |   |  0 | 0 |   
+     | 4 | 1 | four  |   |  0 |   |   
+     | 4 | 1 | four  |   |  0 |   |  0
+     | 5 | 0 | five  |   |  0 | 1 | -1
+     | 5 | 0 | five  |   |  0 | 2 |  2
+     | 5 | 0 | five  |   |  0 | 3 | -3
+     | 5 | 0 | five  |   |  0 | 2 |  4
+     | 5 | 0 | five  |   |  0 | 5 | -5
+     | 5 | 0 | five  |   |  0 | 5 | -5
+     | 5 | 0 | five  |   |  0 | 0 |   
+     | 5 | 0 | five  |   |  0 |   |   
+     | 5 | 0 | five  |   |  0 |   |  0
+     | 6 | 6 | six   |   |  0 | 1 | -1
+     | 6 | 6 | six   |   |  0 | 2 |  2
+     | 6 | 6 | six   |   |  0 | 3 | -3
+     | 6 | 6 | six   |   |  0 | 2 |  4
+     | 6 | 6 | six   |   |  0 | 5 | -5
+     | 6 | 6 | six   |   |  0 | 5 | -5
+     | 6 | 6 | six   |   |  0 | 0 |   
+     | 6 | 6 | six   |   |  0 |   |   
+     | 6 | 6 | six   |   |  0 |   |  0
+     | 7 | 7 | seven |   |  0 | 1 | -1
+     | 7 | 7 | seven |   |  0 | 2 |  2
+     | 7 | 7 | seven |   |  0 | 3 | -3
+     | 7 | 7 | seven |   |  0 | 2 |  4
+     | 7 | 7 | seven |   |  0 | 5 | -5
+     | 7 | 7 | seven |   |  0 | 5 | -5
+     | 7 | 7 | seven |   |  0 | 0 |   
+     | 7 | 7 | seven |   |  0 |   |   
+     | 7 | 7 | seven |   |  0 |   |  0
+     | 8 | 8 | eight |   |  0 | 1 | -1
+     | 8 | 8 | eight |   |  0 | 2 |  2
+     | 8 | 8 | eight |   |  0 | 3 | -3
+     | 8 | 8 | eight |   |  0 | 2 |  4
+     | 8 | 8 | eight |   |  0 | 5 | -5
+     | 8 | 8 | eight |   |  0 | 5 | -5
+     | 8 | 8 | eight |   |  0 | 0 |   
+     | 8 | 8 | eight |   |  0 |   |   
+     | 8 | 8 | eight |   |  0 |   |  0
+     | 0 |   | zero  |   |  0 | 1 | -1
+     | 0 |   | zero  |   |  0 | 2 |  2
+     | 0 |   | zero  |   |  0 | 3 | -3
+     | 0 |   | zero  |   |  0 | 2 |  4
+     | 0 |   | zero  |   |  0 | 5 | -5
+     | 0 |   | zero  |   |  0 | 5 | -5
+     | 0 |   | zero  |   |  0 | 0 |   
+     | 0 |   | zero  |   |  0 |   |   
+     | 0 |   | zero  |   |  0 |   |  0
+     |   |   | null  |   |  0 | 1 | -1
+     |   |   | null  |   |  0 | 2 |  2
+     |   |   | null  |   |  0 | 3 | -3
+     |   |   | null  |   |  0 | 2 |  4
+     |   |   | null  |   |  0 | 5 | -5
+     |   |   | null  |   |  0 | 5 | -5
+     |   |   | null  |   |  0 | 0 |   
+     |   |   | null  |   |  0 |   |   
+     |   |   | null  |   |  0 |   |  0
      |   | 0 | zero  |   |  0 | 1 | -1
      |   | 0 | zero  |   |  0 | 2 |  2
      |   | 0 | zero  |   |  0 | 3 | -3
@@ -1702,12 +1702,12 @@ SELECT '' AS "xxx", *
  xxx | i | j |   t   | i | k 
 -----+---+---+-------+---+---
      | 1 | 4 | one   | 2 | 2
-     | 1 | 4 | one   | 2 | 4
      | 2 | 3 | two   | 2 | 2
+     | 0 |   | zero  | 2 | 2
+     | 1 | 4 | one   | 2 | 4
      | 2 | 3 | two   | 2 | 4
      | 3 | 2 | three | 2 | 4
      | 4 | 1 | four  | 2 | 4
-     | 0 |   | zero  | 2 | 2
      | 0 |   | zero  | 2 | 4
      | 0 |   | zero  |   | 0
 (9 rows)
@@ -1718,7 +1718,7 @@ SELECT '' AS "xxx", *
 --
 SELECT '' AS "xxx", *
   FROM J1_TBL LEFT OUTER JOIN J2_TBL USING (i)
-  ORDER BY i;
+  ORDER BY i, k;
  xxx | i | j |   t   | k  
 -----+---+---+-------+----
      | 0 |   | zero  |   
@@ -1738,7 +1738,7 @@ SELECT '' AS "xxx", *
 
 SELECT '' AS "xxx", *
   FROM J1_TBL LEFT JOIN J2_TBL USING (i)
-  ORDER BY i;
+  ORDER BY i, k;
  xxx | i | j |   t   | k  
 -----+---+---+-------+----
      | 0 |   | zero  |   
@@ -1788,7 +1788,7 @@ SELECT '' AS "xxx", *
 
 SELECT '' AS "xxx", *
   FROM J1_TBL FULL OUTER JOIN J2_TBL USING (i)
-  ORDER BY i, t;
+  ORDER BY i, k;
  xxx | i | j |   t   | k  
 -----+---+---+-------+----
      | 0 |   | zero  |   
@@ -1802,15 +1802,15 @@ SELECT '' AS "xxx", *
      | 6 | 6 | six   |   
      | 7 | 7 | seven |   
      | 8 | 8 | eight |   
+     |   |   |       |  0
      |   |   | null  |   
      |   | 0 | zero  |   
      |   |   |       |   
-     |   |   |       |  0
 (15 rows)
 
 SELECT '' AS "xxx", *
   FROM J1_TBL FULL JOIN J2_TBL USING (i)
-  ORDER BY i, t;
+  ORDER BY i, k;
  xxx | i | j |   t   | k  
 -----+---+---+-------+----
      | 0 |   | zero  |   
@@ -1824,10 +1824,10 @@ SELECT '' AS "xxx", *
      | 6 | 6 | six   |   
      | 7 | 7 | seven |   
      | 8 | 8 | eight |   
+     |   |   |       |  0
      |   |   | null  |   
      |   | 0 | zero  |   
      |   |   |       |   
-     |   |   |       |  0
 (15 rows)
 
 SELECT '' AS "xxx", *
diff --git a/src/test/regress/sql/inherit.sql b/src/test/regress/sql/inherit.sql
index 7bfe6cb7f2e..23291757963 100644
--- a/src/test/regress/sql/inherit.sql
+++ b/src/test/regress/sql/inherit.sql
@@ -118,7 +118,8 @@ insert into bar2 values(4,4,4);
 
 update bar set f2 = f2 + 100 where f1 in (select f1 from foo);
 
-SELECT relname, bar.* FROM bar, pg_class where bar.tableoid = pg_class.oid;
+SELECT relname, bar.* FROM bar, pg_class where bar.tableoid = pg_class.oid
+order by 1,2;
 
 
 /* Test inheritance of structure (LIKE) */
diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql
index 9a286345b14..f9f851f677a 100644
--- a/src/test/regress/sql/join.sql
+++ b/src/test/regress/sql/join.sql
@@ -167,11 +167,11 @@ SELECT '' AS "xxx", *
 
 SELECT '' AS "xxx", *
   FROM J1_TBL LEFT OUTER JOIN J2_TBL USING (i)
-  ORDER BY i;
+  ORDER BY i, k;
 
 SELECT '' AS "xxx", *
   FROM J1_TBL LEFT JOIN J2_TBL USING (i)
-  ORDER BY i;
+  ORDER BY i, k;
 
 SELECT '' AS "xxx", *
   FROM J1_TBL RIGHT OUTER JOIN J2_TBL USING (i);
@@ -181,11 +181,11 @@ SELECT '' AS "xxx", *
 
 SELECT '' AS "xxx", *
   FROM J1_TBL FULL OUTER JOIN J2_TBL USING (i)
-  ORDER BY i, t;
+  ORDER BY i, k;
 
 SELECT '' AS "xxx", *
   FROM J1_TBL FULL JOIN J2_TBL USING (i)
-  ORDER BY i, t;
+  ORDER BY i, k;
 
 SELECT '' AS "xxx", *
   FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (k = 1);
-- 
GitLab