Changeset: 7a0f46ef26fb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/7a0f46ef26fb Modified Files: sql/server/rel_select.c sql/test/BugTracker-2023/Tests/misc-crashes-7390.test sql/test/BugTracker-2024/Tests/exp_equal-Bug-7475.test sql/test/BugTracker-2024/Tests/groupby-select1-Bug-7472.test Branch: default Log Message:
restrict aliases, ie should be unique on both ends of the join diffs (82 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -5978,6 +5978,9 @@ rel_joinquery_(sql_query *query, symbol return NULL; query_processed(query); + if (strcmp(rel_name(t1), rel_name(t2)) == 0) { + return sql_error(sql, 02, SQLSTATE(42000) "SELECT: ERROR: table name '%s' specified more than once", rel_name(t1)); + } inner = rel = rel_crossproduct(sql->sa, t1, t2, op); if (!rel) return NULL; diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test --- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test +++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test @@ -363,18 +363,18 @@ x -- WITH v0 AS (SELECT 14, * FROM v0) INSERT INTO v0 SELECT v1 * 0 FROM v0 NATURAL JOIN v0, v0, v0 AS v2, v0, v0 AS v3 ORDER BY v1 * 0 / 77 statement ok -WITH v0 AS (SELECT 14, * FROM v0) INSERT INTO v0 SELECT v0.v1 * 0 FROM v0 NATURAL JOIN v0, v0, v0 AS v2, v0, v0 AS v3 ORDER BY v0.v1 * 0 / 77 +WITH v0 AS (SELECT 14, * FROM v0) INSERT INTO v0 SELECT v0.v1 * 0 FROM v0 NATURAL JOIN v0 v, v0 as v1, v0 AS v2, v0 as v3, v0 AS v4 ORDER BY v0.v1 * 0 / 77 query I nosort SELECT count(*) FROM v0 ---- -131080 +16392 -- after the second insert, rerun same query as above, since it used to crash the server query RT rowsort SELECT * , 'x' FROM v0 WHERE (SELECT 39 WHERE (v1 + -32768 NOT IN (14, 255))) * 87 + 2147483647 ---- -131080 values hashing to c051bd7cdccd1fd3636c9e0973aca08e +32776 values hashing to b2c71832cf3b6b1cb7d9db5b58419143 -- mul_bte_bte_bte: ERROR: 22003!overflow in calculation 87*39. diff --git a/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7475.test b/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7475.test --- a/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7475.test +++ b/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7475.test @@ -5,7 +5,7 @@ 1 1 query II nosort -WITH x AS ( SELECT 1 x ) SELECT 1 , ( SELECT x FROM x ) FROM ( x NATURAL JOIN x ) WHERE x +WITH x AS ( SELECT 1 x ) SELECT 1 , ( SELECT x FROM x ) FROM ( x NATURAL JOIN x y ) WHERE x ---- 1 1 @@ -18,14 +18,14 @@ 1 1 query II nosort -SELECT * FROM ( WITH x AS ( SELECT 1 x ) SELECT 1 , x FROM ( x NATURAL JOIN x ) WHERE x ) y +SELECT * FROM ( WITH x AS ( SELECT 1 x ) SELECT 1 , x FROM ( x NATURAL JOIN x y ) WHERE x ) y ---- 1 1 skipif knownfail query II nosort -SELECT * FROM ( WITH x AS ( SELECT 1 x ) SELECT 1 , ( SELECT x FROM x ) FROM ( x NATURAL JOIN x ) WHERE x ) y +SELECT * FROM ( WITH x AS ( SELECT 1 x ) SELECT 1 , ( SELECT x FROM x ) FROM ( x NATURAL JOIN x y ) WHERE x ) y ---- 1 1 diff --git a/sql/test/BugTracker-2024/Tests/groupby-select1-Bug-7472.test b/sql/test/BugTracker-2024/Tests/groupby-select1-Bug-7472.test --- a/sql/test/BugTracker-2024/Tests/groupby-select1-Bug-7472.test +++ b/sql/test/BugTracker-2024/Tests/groupby-select1-Bug-7472.test @@ -1,9 +1,9 @@ query I nosort -SELECT ( WITH x AS ( SELECT 1 x ) SELECT 1 FROM ( x NATURAL JOIN x ) WHERE x NOT IN ( SELECT CASE WHEN x THEN ( SELECT 1 ) END GROUP BY 1 ) ) +SELECT ( WITH x AS ( SELECT 1 x ) SELECT 1 FROM ( x NATURAL JOIN x as y ) WHERE x NOT IN ( SELECT CASE WHEN x THEN ( SELECT 1 ) END GROUP BY 1 ) ) ---- NULL query I nosort -SELECT ( WITH x AS ( SELECT 1 x ) SELECT 1 FROM ( x NATURAL JOIN x ) WHERE x NOT IN ( SELECT CASE WHEN x THEN ( SELECT 1 ) END GROUP BY ( SELECT 1 ) ) ) +SELECT ( WITH x AS ( SELECT 1 x ) SELECT 1 FROM ( x NATURAL JOIN x as y ) WHERE x NOT IN ( SELECT CASE WHEN x THEN ( SELECT 1 ) END GROUP BY ( SELECT 1 ) ) ) ---- NULL _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org