Changeset: 49580b8ef7c1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=49580b8ef7c1 Modified Files: sql/odbc/samples/Tests/testgetinfo.stable.err sql/server/rel_optimizer.c sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128 Branch: subquery Log Message:
approved output (order change, but these queries have no orderby) diffs (truncated from 29867 to 300 lines): diff --git a/sql/odbc/samples/Tests/testgetinfo.stable.err b/sql/odbc/samples/Tests/testgetinfo.stable.err --- a/sql/odbc/samples/Tests/testgetinfo.stable.err +++ b/sql/odbc/samples/Tests/testgetinfo.stable.err @@ -31,8 +31,8 @@ stderr of test 'testgetinfo` in director # 00:56:17 > testgetinfo MonetDB-Test # 00:56:17 > -SQLGetInfo SQL_ASYNC_DBC_FUNCTIONS: Error: SQLstate HY096, Errnr 0, Message [MonetDB][ODBC Driver 11.33.0]Information type out of range -SQLGetInfo SQL_ASYNC_NOTIFICATION: Error: SQLstate HY096, Errnr 0, Message [MonetDB][ODBC Driver 11.33.0]Information type out of range +SQLGetInfo SQL_ASYNC_DBC_FUNCTIONS: Error: SQLstate HY096, Errnr 0, Message [MonetDB][ODBC Driver 11.34.0]Information type out of range +SQLGetInfo SQL_ASYNC_NOTIFICATION: Error: SQLstate HY096, Errnr 0, Message [MonetDB][ODBC Driver 11.34.0]Information type out of range # 00:56:17 > # 00:56:17 > "Done." diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -8065,7 +8065,7 @@ add_nulls(mvc *sql, sql_rel *rel, sql_re static sql_rel * rel_split_outerjoin(int *changes, mvc *sql, sql_rel *rel) { - if ((rel->op == op_left || rel->op == op_right || rel->op == op_full) && + if (0 && (rel->op == op_left || rel->op == op_right || rel->op == op_full) && list_length(rel->exps) == 1 && exps_nr_of_or(rel->exps) == list_length(rel->exps)) { sql_rel *l = rel->l, *nl, *nll, *nlr; sql_rel *r = rel->r, *nr; diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out b/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out --- a/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out +++ b/sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out @@ -1045,7 +1045,6 @@ Ready. [ 234, 232, 2323, 231, 23, 1391, 2 ] [ 239, NULL, NULL, NULL, 24, NULL, 3 ] [ 243, NULL, NULL, 244, 25, 1455, 3 ] -[ 107, 107, 1067, 106, 0, 635, 2 ] #SELECT abs(a), # (a+b+c+d+e)/5, # a+b*2+c*3+d*4, @@ -1559,8 +1558,6 @@ Ready. [ 444, NULL, 18, 1, -2, 208 ] [ 333, 212, 19, 2, -3, 214 ] [ 222, 222, 21, 2, -1, 224 ] -[ 444, NULL, 0, 1, NULL, 102 ] -[ 444, NULL, 0, 3, NULL, 119 ] #SELECT CASE WHEN a<b-3 THEN 111 WHEN a<=b THEN 222 # WHEN a<b+3 THEN 333 ELSE 444 END, # (a+b+c+d+e)/5, @@ -2106,13 +2103,16 @@ Ready. # abs(b-c) # FROM t1 #; -% .L6, .L14, .L20 # table_name -% L6, L14, L20 # name +% sys.L6, .L12, sys.L14 # table_name +% L6, L12, L14 # name % bigint, bigint, bigint # type % 4, 2, 1 # length [ 1120, 1, 1 ] +[ NULL, 0, NULL ] +[ 1050, 0, 1 ] [ 1240, 2, 1 ] [ 1290, 3, 4 ] +[ NULL, 0, NULL ] [ 1300, 4, 4 ] [ 1390, 5, 2 ] [ 1430, 6, 2 ] @@ -2127,6 +2127,7 @@ Ready. [ 376, 15, 1 ] [ 382, 16, 1 ] [ 398, 17, 3 ] +[ 402, 0, NULL ] [ NULL, 18, 2 ] [ 426, 19, 3 ] [ 432, 20, 3 ] @@ -2136,18 +2137,14 @@ Ready. [ 2360, 24, NULL ] [ 486, 25, 4 ] [ 490, 26, 2 ] -[ NULL, 0, NULL ] -[ 1050, 0, 1 ] -[ NULL, 0, NULL ] -[ 402, 0, NULL ] #SELECT CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, # (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), # abs(b-c) # FROM t1 # ORDER BY 3,2,1 #; -% .L6, .L14, .L20 # table_name -% L6, L14, L20 # name +% sys.L6, .L12, sys.L14 # table_name +% L6, L12, L14 # name % bigint, bigint, bigint # type % 4, 2, 1 # length [ NULL, 0, NULL ] @@ -4491,12 +4488,12 @@ Ready. # WHERE (c<=d-2 OR c>=d+2) # AND e+d BETWEEN a+b-10 AND c+130 #; -% .L2, .L4, .L11, .L21, .L23, .L25 # table_name -% L2, L4, L11, L21, L23, L25 # name +% sys.L2, sys.L4, .L10, sys.L17, sys.L21, sys.L23 # table_name +% L2, L4, L10, L17, L21, L23 # name % bigint, bigint, bigint, bigint, bigint, int # type % 2, 2, 1, 4, 1, 3 # length +[ -2, -1, 0, 1050, 1, 107 ] [ -3, 2, 3, 1290, 4, 127 ] -[ -2, -1, 0, 1050, 1, 107 ] #SELECT c-d, # d-e, # (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), @@ -4508,8 +4505,8 @@ Ready. # AND e+d BETWEEN a+b-10 AND c+130 # ORDER BY 1,3,2,5,4,6 #; -% .L2, .L4, .L11, .L21, .L23, .L25 # table_name -% L2, L4, L11, L21, L23, L25 # name +% sys.L2, sys.L4, .L10, sys.L17, sys.L21, sys.L23 # table_name +% L2, L4, L10, L17, L21, L23 # name % bigint, bigint, bigint, bigint, bigint, int # type % 2, 2, 1, 4, 1, 3 # length [ -3, 2, 3, 1290, 4, 127 ] @@ -4697,8 +4694,6 @@ Ready. [ 21, 444, 3331, -3, 220, 222 ] [ 23, 555, 3473, 2, 234, 233 ] [ 26, 444, 3706, -4, 245, 248 ] -[ 0, 333, 1612, 2, 107, 108 ] -[ 0, 333, NULL, NULL, 115, 116 ] #SELECT (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), # CASE a+1 WHEN b THEN 111 WHEN c THEN 222 # WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, @@ -4766,8 +4761,6 @@ Ready. [ 21, 444, 3331, -3, 220, 222 ] [ 23, 555, 3473, 2, 234, 233 ] [ 26, 444, 3706, -4, 245, 248 ] -[ 0, 333, 1612, 2, 107, 108 ] -[ 0, 333, NULL, NULL, 115, 116 ] #SELECT (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), # CASE a+1 WHEN b THEN 111 WHEN c THEN 222 # WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, @@ -4876,8 +4869,8 @@ Ready. # FROM t1 # WHERE d NOT BETWEEN 110 AND 150 #; -% .t1, .L3, .t1, .L6, .L10, .L12, .L17 # table_name -% e, L3, a, L6, L10, L12, L17 # name +% sys.t1, sys.L3, sys.t1, sys.L6, sys.L10, sys.L12, .L16 # table_name +% e, L3, a, L6, L10, L12, L16 # name % int, int, int, bigint, bigint, smallint, bigint # type % 3, 3, 3, 2, 2, 3, 1 # length [ NULL, 104, 104, NULL, 1, 555, 0 ] @@ -4909,8 +4902,8 @@ Ready. # WHERE d NOT BETWEEN 110 AND 150 # ORDER BY 4,1,3 #; -% .t1, .L3, .t1, .L6, .L10, .L12, .L17 # table_name -% e, L3, a, L6, L10, L12, L17 # name +% sys.t1, sys.L3, sys.t1, sys.L6, sys.L10, sys.L12, .L16 # table_name +% e, L3, a, L6, L10, L12, L16 # name % int, int, int, bigint, bigint, smallint, bigint # type % 3, 3, 3, 2, 2, 3, 1 # length [ NULL, 104, 104, NULL, 1, 555, 0 ] @@ -5074,6 +5067,7 @@ Ready. [ 1861, 2, 15, 1121, 1, 185 ] [ 1918, -3, 16, 1158, 1, 190 ] [ 1964, 1, 17, 1180, 3, 196 ] +[ NULL, NULL, 0, NULL, NULL, 203 ] [ NULL, NULL, 18, NULL, 2, 207 ] [ 2125, 2, 19, 1277, 3, 212 ] [ 2165, -2, 20, 1297, 3, 217 ] @@ -5082,9 +5076,6 @@ Ready. [ 2323, 2, 23, 1391, 1, 233 ] [ NULL, 3, 24, NULL, NULL, 238 ] [ 2476, -4, 26, 1484, 2, 248 ] -[ NULL, NULL, 0, NULL, NULL, 101 ] -[ 1067, 2, 0, 635, 1, 108 ] -[ NULL, NULL, 0, NULL, NULL, 203 ] #SELECT a+b*2+c*3+d*4, # a-b, # (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), @@ -5157,6 +5148,7 @@ Ready. [ 1861, 2, 15, 1121, 1, 185 ] [ 1918, -3, 16, 1158, 1, 190 ] [ 1964, 1, 17, 1180, 3, 196 ] +[ NULL, NULL, 0, NULL, NULL, 203 ] [ NULL, NULL, 18, NULL, 2, 207 ] [ 2125, 2, 19, 1277, 3, 212 ] [ 2165, -2, 20, 1297, 3, 217 ] @@ -5165,9 +5157,6 @@ Ready. [ 2323, 2, 23, 1391, 1, 233 ] [ NULL, 3, 24, NULL, NULL, 238 ] [ 2476, -4, 26, 1484, 2, 248 ] -[ NULL, NULL, 0, NULL, NULL, 101 ] -[ 1067, 2, 0, 635, 1, 108 ] -[ NULL, NULL, 0, NULL, NULL, 203 ] #SELECT a+b*2+c*3+d*4, # a-b, # (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), @@ -5240,6 +5229,7 @@ Ready. [ 1861, 2, 15, 1121, 1, 185 ] [ 1918, -3, 16, 1158, 1, 190 ] [ 1964, 1, 17, 1180, 3, 196 ] +[ NULL, NULL, 0, NULL, NULL, 203 ] [ NULL, NULL, 18, NULL, 2, 207 ] [ 2125, 2, 19, 1277, 3, 212 ] [ 2165, -2, 20, 1297, 3, 217 ] @@ -5248,9 +5238,6 @@ Ready. [ 2323, 2, 23, 1391, 1, 233 ] [ NULL, 3, 24, NULL, NULL, 238 ] [ 2476, -4, 26, 1484, 2, 248 ] -[ NULL, NULL, 0, NULL, NULL, 101 ] -[ 1067, 2, 0, 635, 1, 108 ] -[ NULL, NULL, 0, NULL, NULL, 203 ] #SELECT a+b*2+c*3+d*4, # a-b, # (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), @@ -5297,8 +5284,8 @@ Ready. # FROM t1 # WHERE EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b) #; -% sys.L7 # table_name -% L7 # name +% sys.L4 # table_name +% L4 # name % bigint # type % 2 # length [ -1 ] @@ -5332,8 +5319,8 @@ Ready. # WHERE EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b) # ORDER BY 1 #; -% sys.L7 # table_name -% L7 # name +% sys.L4 # table_name +% L4 # name % bigint # type % 2 # length [ NULL ] @@ -6051,8 +6038,8 @@ Ready. # AND c BETWEEN b-2 AND d+2 # AND (c<=d-2 OR c>=d+2) #; -% .L5 # table_name -% L5 # name +% .L4 # table_name +% L4 # name % bigint # type % 1 # length [ 0 ] @@ -6063,8 +6050,8 @@ Ready. # AND (c<=d-2 OR c>=d+2) # ORDER BY 1 #; -% .L5 # table_name -% L5 # name +% .L4 # table_name +% L4 # name % bigint # type % 1 # length [ 0 ] @@ -6074,8 +6061,8 @@ Ready. # AND b>c # AND c BETWEEN b-2 AND d+2 #; -% .L5 # table_name -% L5 # name +% .L4 # table_name +% L4 # name % bigint # type % 1 # length [ 0 ] @@ -6086,8 +6073,8 @@ Ready. # AND c BETWEEN b-2 AND d+2 # ORDER BY 1 #; -% .L5 # table_name -% L5 # name +% .L4 # table_name +% L4 # name % bigint # type % 1 # length [ 0 ] @@ -6171,8 +6158,8 @@ Ready. # AND (e>c OR e<d) # AND EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b) #; -% sys.L7 # table_name -% L7 # name +% sys.L4 # table_name +% L4 # name % bigint # type % 2 # length [ 1 ] @@ -6189,8 +6176,8 @@ Ready. # AND EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b) # ORDER BY 1 #; -% sys.L7 # table_name -% L7 # name +% sys.L4 # table_name +% L4 # name _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list