Changeset: e86e386644db for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e86e386644db
Branch: default
Log Message:
merged
diffs (57 lines):
diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -2155,7 +2155,7 @@ ngrams_create(size_t cnt, size_t ng_sz)
ng->sigs = GDKmalloc(cnt * sizeof(NGRAM_TYPE));
ng->histogram = GDKmalloc(ng_sz * sizeof(unsigned));
ng->lists = GDKmalloc(ng_sz * sizeof(unsigned));
- ng->rids = GDKmalloc(NGRAM_MULTIPLE * cnt * sizeof(unsigned));
+ ng->rids = GDKmalloc(2 * NGRAM_MULTIPLE * cnt *
sizeof(unsigned));
}
if (!ng || !ng->idx || !ng->sigs || !ng->histogram || !ng->lists ||
!ng->rids) {
ngrams_destroy(ng);
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
@@ -6194,9 +6194,11 @@ 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));
- }
+
+ const char *t1_name = rel_name(t1), *t2_name = rel_name(t2);
+ if (t1_name && t2_name && strcmp(t1_name, t2_name) == 0)
+ return sql_error(sql, 02, "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-2025/Tests/7634_join_with_subquery_crash.test
b/sql/test/BugTracker-2025/Tests/7634_join_with_subquery_crash.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2025/Tests/7634_join_with_subquery_crash.test
@@ -0,0 +1,14 @@
+statement ok
+CREATE TABLE t0(c0 INT)
+
+statement ok
+INSERT INTO t0 VALUES (1)
+
+statement ok
+SELECT * FROM t0,(SELECT 1)
+
+statement ok
+SELECT * FROM t0 CROSS JOIN (SELECT 1)
+
+statement ok
+SELECT * FROM t0 CROSS JOIN (SELECT 1) a
diff --git a/sql/test/BugTracker-2025/Tests/All
b/sql/test/BugTracker-2025/Tests/All
--- a/sql/test/BugTracker-2025/Tests/All
+++ b/sql/test/BugTracker-2025/Tests/All
@@ -8,3 +8,4 @@ 7625_missing_temporary_view_types
7626_sum_max_const
7632-crash-leftjoin-exists
7633-crash-leftjoin-any
+7634_join_with_subquery_crash
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]