Changeset: daceee7fc969 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/daceee7fc969
Modified Files:
        clients/mapiclient/mclient.c
        sql/storage/bat/bat_storage.c
        sql/test/BugTracker-2024/Tests/7536-mclient-forgets-to-flush.SQL.py
        sql/test/BugTracker-2024/Tests/All
Branch: Aug2024
Log Message:

Merge with Dec2023 branch.


diffs (66 lines):

diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -729,6 +729,18 @@ merge_updates( BAT *ui, BAT **UV, BAT *o
        int err = 0;
        BAT *uv = *UV;
        BUN cnt = BATcount(ui)+BATcount(oi);
+       BAT *ni = bat_new(TYPE_oid, cnt, SYSTRANS);
+       BAT *nv = uv?bat_new(uv->ttype, cnt, SYSTRANS):NULL;
+
+       if (!ni || (uv && !nv)) {
+               bat_destroy(ni);
+               bat_destroy(nv);
+               bat_destroy(ui);
+               bat_destroy(uv);
+               bat_destroy(oi);
+               bat_destroy(ov);
+               return NULL;
+       }
        BATiter uvi;
        BATiter ovi;
 
@@ -750,35 +762,6 @@ merge_updates( BAT *ui, BAT **UV, BAT *o
                uipt = uii.base;
        if (!BATtdensebi(&oii))
                oipt = oii.base;
-
-       if (uiseqb == oiseqb && uie == oie) { /* full overlap, no values */
-               if (uv) {
-                       bat_iterator_end(&uvi);
-                       bat_iterator_end(&ovi);
-               }
-               bat_iterator_end(&uii);
-               bat_iterator_end(&oii);
-               if (uv) {
-                       *UV = uv;
-               } else {
-                       bat_destroy(uv);
-               }
-               bat_destroy(oi);
-               bat_destroy(ov);
-               return ui;
-       }
-       BAT *ni = bat_new(TYPE_oid, cnt, SYSTRANS);
-       BAT *nv = uv?bat_new(uv->ttype, cnt, SYSTRANS):NULL;
-
-       if (!ni || (uv && !nv)) {
-               bat_destroy(ni);
-               bat_destroy(nv);
-               bat_destroy(ui);
-               bat_destroy(uv);
-               bat_destroy(oi);
-               bat_destroy(ov);
-               return NULL;
-       }
        while (uip < uie && oip < oie && !err) {
                oid uiid = (uipt)?uipt[uip]: uiseqb+uip;
                oid oiid = (oipt)?oipt[oip]: oiseqb+oip;
diff --git a/sql/test/BugTracker-2024/Tests/All 
b/sql/test/BugTracker-2024/Tests/All
--- a/sql/test/BugTracker-2024/Tests/All
+++ b/sql/test/BugTracker-2024/Tests/All
@@ -67,3 +67,4 @@ 7536-mclient-forgets-to-flush
 7538-reduce-cast
 7539-is-distinct-from
 7537-prepare_stmt_with_dropped_table
+7536-mclient-forgets-to-flush
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to