@@ -1854,20 +1854,20 @@ SELECT '' AS "xxx", *
18541854CREATE TABLE t1 (name TEXT, n INTEGER);
18551855CREATE TABLE t2 (name TEXT, n INTEGER);
18561856CREATE TABLE t3 (name TEXT, n INTEGER);
1857- INSERT INTO t1 VALUES ( 'aa ', 11 );
1858- INSERT INTO t2 VALUES ( 'aa ', 12 );
1859- INSERT INTO t2 VALUES ( 'bb ', 22 );
1860- INSERT INTO t2 VALUES ( 'dd ', 42 );
1861- INSERT INTO t3 VALUES ( 'aa ', 13 );
1862- INSERT INTO t3 VALUES ( 'bb ', 23 );
1863- INSERT INTO t3 VALUES ( 'cc ', 33 );
1857+ INSERT INTO t1 VALUES ( 'bb ', 11 );
1858+ INSERT INTO t2 VALUES ( 'bb ', 12 );
1859+ INSERT INTO t2 VALUES ( 'cc ', 22 );
1860+ INSERT INTO t2 VALUES ( 'ee ', 42 );
1861+ INSERT INTO t3 VALUES ( 'bb ', 13 );
1862+ INSERT INTO t3 VALUES ( 'cc ', 23 );
1863+ INSERT INTO t3 VALUES ( 'dd ', 33 );
18641864SELECT * FROM t1 FULL JOIN t2 USING (name) FULL JOIN t3 USING (name);
18651865 name | n | n | n
18661866------+----+----+----
1867- aa | 11 | 12 | 13
1868- bb | | 22 | 23
1869- cc | | | 33
1870- dd | | 42 |
1867+ bb | 11 | 12 | 13
1868+ cc | | 22 | 23
1869+ dd | | | 33
1870+ ee | | 42 |
18711871(4 rows)
18721872
18731873--
@@ -1881,8 +1881,8 @@ INNER JOIN
18811881USING (name);
18821882 name | n | n
18831883------+----+----
1884- aa | 12 | 13
1885- bb | 22 | 23
1884+ bb | 12 | 13
1885+ cc | 22 | 23
18861886(2 rows)
18871887
18881888SELECT * FROM
@@ -1892,9 +1892,9 @@ LEFT JOIN
18921892USING (name);
18931893 name | n | n
18941894------+----+----
1895- aa | 12 | 13
1896- bb | 22 | 23
1897- dd | 42 |
1895+ bb | 12 | 13
1896+ cc | 22 | 23
1897+ ee | 42 |
18981898(3 rows)
18991899
19001900SELECT * FROM
@@ -1904,10 +1904,10 @@ FULL JOIN
19041904USING (name);
19051905 name | n | n
19061906------+----+----
1907- aa | 12 | 13
1908- bb | 22 | 23
1909- cc | | 33
1910- dd | 42 |
1907+ bb | 12 | 13
1908+ cc | 22 | 23
1909+ dd | | 33
1910+ ee | 42 |
19111911(4 rows)
19121912
19131913-- Cases with non-nullable expressions in subquery results;
@@ -1918,8 +1918,8 @@ NATURAL INNER JOIN
19181918(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3;
19191919 name | s2_n | s2_2 | s3_n | s3_2
19201920------+------+------+------+------
1921- aa | 12 | 2 | 13 | 3
1922- bb | 22 | 2 | 23 | 3
1921+ bb | 12 | 2 | 13 | 3
1922+ cc | 22 | 2 | 23 | 3
19231923(2 rows)
19241924
19251925SELECT * FROM
@@ -1928,9 +1928,9 @@ NATURAL LEFT JOIN
19281928(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3;
19291929 name | s2_n | s2_2 | s3_n | s3_2
19301930------+------+------+------+------
1931- aa | 12 | 2 | 13 | 3
1932- bb | 22 | 2 | 23 | 3
1933- dd | 42 | 2 | |
1931+ bb | 12 | 2 | 13 | 3
1932+ cc | 22 | 2 | 23 | 3
1933+ ee | 42 | 2 | |
19341934(3 rows)
19351935
19361936SELECT * FROM
@@ -1939,10 +1939,10 @@ NATURAL FULL JOIN
19391939(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3;
19401940 name | s2_n | s2_2 | s3_n | s3_2
19411941------+------+------+------+------
1942- aa | 12 | 2 | 13 | 3
1943- bb | 22 | 2 | 23 | 3
1944- cc | | | 33 | 3
1945- dd | 42 | 2 | |
1942+ bb | 12 | 2 | 13 | 3
1943+ cc | 22 | 2 | 23 | 3
1944+ dd | | | 33 | 3
1945+ ee | 42 | 2 | |
19461946(4 rows)
19471947
19481948SELECT * FROM
@@ -1953,7 +1953,7 @@ NATURAL INNER JOIN
19531953(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3;
19541954 name | s1_n | s1_1 | s2_n | s2_2 | s3_n | s3_2
19551955------+------+------+------+------+------+------
1956- aa | 11 | 1 | 12 | 2 | 13 | 3
1956+ bb | 11 | 1 | 12 | 2 | 13 | 3
19571957(1 row)
19581958
19591959SELECT * FROM
@@ -1964,10 +1964,10 @@ NATURAL FULL JOIN
19641964(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3;
19651965 name | s1_n | s1_1 | s2_n | s2_2 | s3_n | s3_2
19661966------+------+------+------+------+------+------
1967- aa | 11 | 1 | 12 | 2 | 13 | 3
1968- bb | | | 22 | 2 | 23 | 3
1969- cc | | | | | 33 | 3
1970- dd | | | 42 | 2 | |
1967+ bb | 11 | 1 | 12 | 2 | 13 | 3
1968+ cc | | | 22 | 2 | 23 | 3
1969+ dd | | | | | 33 | 3
1970+ ee | | | 42 | 2 | |
19711971(4 rows)
19721972
19731973SELECT * FROM
@@ -1980,10 +1980,10 @@ NATURAL FULL JOIN
19801980 ) ss2;
19811981 name | s1_n | s2_n | s3_n
19821982------+------+------+------
1983- aa | 11 | 12 | 13
1984- bb | | 22 | 23
1985- cc | | | 33
1986- dd | | 42 |
1983+ bb | 11 | 12 | 13
1984+ cc | | 22 | 23
1985+ dd | | | 33
1986+ ee | | 42 |
19871987(4 rows)
19881988
19891989SELECT * FROM
@@ -1996,10 +1996,10 @@ NATURAL FULL JOIN
19961996 ) ss2;
19971997 name | s1_n | s2_n | s2_2 | s3_n
19981998------+------+------+------+------
1999- aa | 11 | 12 | 2 | 13
2000- bb | | 22 | 2 | 23
2001- cc | | | | 33
2002- dd | | 42 | 2 |
1999+ bb | 11 | 12 | 2 | 13
2000+ cc | | 22 | 2 | 23
2001+ dd | | | | 33
2002+ ee | | 42 | 2 |
20032003(4 rows)
20042004
20052005-- Test for propagation of nullability constraints into sub-joins