Changeset: 75ecb84dbf79 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/75ecb84dbf79
Branch: default
Log Message:

Merge with Jun2023 branch.


diffs (106 lines):

diff --git a/gdk/gdk_tm.c b/gdk/gdk_tm.c
--- a/gdk/gdk_tm.c
+++ b/gdk/gdk_tm.c
@@ -61,6 +61,10 @@ epilogue(int cnt, bat *subcommit, bool l
                BAT *b;
 
                if (BBP_status(bid) & BBPPERSISTENT) {
+                       /* first turn off BBPNEW, then turn on
+                        * BBPEXISTING so that concurrent BATassertProps
+                        * doesn't fail */
+                       BBP_status_off(bid, BBPNEW);
                        BBP_status_on(bid, BBPEXISTING);
                } else if (BBP_status(bid) & BBPDELETED) {
                        /* check mmap modes of bats that are now
diff --git a/monetdb5/optimizer/opt_evaluate.c 
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -138,12 +138,12 @@ OPTevaluateImplementation(Client cntxt, 
 
        assigned = (int *) GDKzalloc(sizeof(int) * mb->vtop);
        if (assigned == NULL)
-               throw(MAL, "optimzier.evaluate", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
+               throw(MAL, "optimizer.evaluate", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
 
        alias = (int *) GDKzalloc(mb->vsize * sizeof(int) * 2); /* we introduce 
more */
        if (alias == NULL) {
                GDKfree(assigned);
-               throw(MAL, "optimzier.evaluate", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
+               throw(MAL, "optimizer.evaluate", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
        }
        // arguments are implicitly assigned by context
        p = getInstrPtr(mb, 0);
diff --git a/sql/test/BugTracker-2023/Tests/All 
b/sql/test/BugTracker-2023/Tests/All
--- a/sql/test/BugTracker-2023/Tests/All
+++ b/sql/test/BugTracker-2023/Tests/All
@@ -11,3 +11,4 @@ view-on-alias-crash-7386
 alter-inc-seq-crash-7387
 misc-crashes-7390
 union-query-7401
+join-on-row_number-over-7403
diff --git a/sql/test/BugTracker-2023/Tests/join-on-row_number-over-7403.test 
b/sql/test/BugTracker-2023/Tests/join-on-row_number-over-7403.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2023/Tests/join-on-row_number-over-7403.test
@@ -0,0 +1,61 @@
+statement ok
+start transaction
+
+statement ok
+create table a7403(i int)
+
+statement ok
+create table b7403(i int)
+
+statement ok
+insert into a7403 values (10), (10)
+
+statement ok
+insert into b7403 values (20), (20)
+
+query T nosort
+plan
+with
+  a1 as (select row_number() over() as r, i from a7403),
+  b1 as (select row_number() over() as r, i from b7403)
+select a1.i, b1.i
+from a1, b1
+where a1.r = b1.r
+----
+project (
+| join (
+| | project (
+| | | table("sys"."a7403") [ "a7403"."i" ]
+| | ) [ "sys"."row_number"("sys"."star"(), boolean(1) "false", boolean(1) 
"false") as "a1"."r", "a7403"."i" as "a1"."i" ],
+| | project (
+| | | table("sys"."b7403") [ "b7403"."i" ]
+| | ) [ "sys"."row_number"("sys"."star"(), boolean(1) "false", boolean(1) 
"false") as "b1"."r", "b7403"."i" as "b1"."i" ]
+| ) [ ("a1"."r") = ("b1"."r") ]
+) [ "a1"."i", "b1"."i" ]
+
+query IIII rowsort
+with
+  a1 as (select row_number() over() as r, i from a7403),
+  b1 as (select row_number() over() as r, i from b7403)
+select a1.i as ai, a1.r as ar, b1.r as br, b1.i as bi
+from a1, b1
+where a1.r = b1.r
+----
+10
+1
+1
+20
+10
+2
+2
+20
+
+statement ok
+drop table a7403
+
+statement ok
+drop table b7403
+
+statement ok
+rollback
+
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to