Changeset: 4c207416995f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4c207416995f
Modified Files:
        gdk/gdk_tm.c
        monetdb5/modules/mal/querylog.c
        sql/backends/monet5/sql_upgrades.c
Branch: Jun2023
Log Message:

Delay getting logno and transid until we have a lock.


diffs (83 lines):

diff --git a/gdk/gdk_tm.c b/gdk/gdk_tm.c
--- a/gdk/gdk_tm.c
+++ b/gdk/gdk_tm.c
@@ -207,6 +207,10 @@ TMsubcommit_list(bat *restrict subcommit
        }
        /* lock just prevents other global (sub-)commits */
        BBPtmlock();
+       if (logno < 0)
+               logno = getBBPlogno();
+       if (transid < 0)
+               transid = getBBPtransid();
        if (BBPsync(cnt, subcommit, sizes, logno, transid) == GDK_SUCCEED) { /* 
write BBP.dir (++) */
                epilogue(cnt, subcommit, false);
                ret = GDK_SUCCEED;
@@ -239,7 +243,7 @@ TMsubcommit(BAT *b)
        }
        bat_iterator_end(&bi);
 
-       ret = TMsubcommit_list(subcommit, NULL, cnt, getBBPlogno(), 
getBBPtransid());
+       ret = TMsubcommit_list(subcommit, NULL, cnt, -1, -1);
        GDKfree(subcommit);
        return ret;
 }
diff --git a/monetdb5/modules/mal/querylog.c b/monetdb5/modules/mal/querylog.c
--- a/monetdb5/modules/mal/querylog.c
+++ b/monetdb5/modules/mal/querylog.c
@@ -256,7 +256,7 @@ static str
        }
 
        QLOG_init = true;
-       if (TMsubcommit_list(commitlist, NULL, committop, getBBPlogno(), 
getBBPtransid()) != GDK_SUCCEED)
+       if (TMsubcommit_list(commitlist, NULL, committop, -1, -1) != 
GDK_SUCCEED)
                throw(MAL, "querylog.init", GDK_EXCEPTION);
        return MAL_SUCCEED;
 }
@@ -344,7 +344,7 @@ QLOGempty(void *ret)
        BATclear(QLOG_calls_cpuload,true);
        BATclear(QLOG_calls_iowait,true);
 
-       if (TMsubcommit_list(commitlist, NULL, committop, getBBPlogno(), 
getBBPtransid()) != GDK_SUCCEED)
+       if (TMsubcommit_list(commitlist, NULL, committop, -1, -1) != 
GDK_SUCCEED)
                msg = createException(MAL, "querylog.empty", GDK_EXCEPTION);
        MT_lock_unset(&QLOGlock);
        return MAL_SUCCEED;
@@ -384,7 +384,7 @@ QLOGappend(Client cntxt, MalBlkPtr mb, M
                        throw(MAL, "querylog.append", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
                }
        }
-       if (TMsubcommit_list(commitlist, NULL, committop, getBBPlogno(), 
getBBPtransid()) != GDK_SUCCEED)
+       if (TMsubcommit_list(commitlist, NULL, committop, -1, -1) != 
GDK_SUCCEED)
                msg = createException(MAL, "querylog", GDK_EXCEPTION);
        MT_lock_unset(&QLOGlock);
        return msg;
@@ -446,7 +446,7 @@ QLOGcall(Client cntxt, MalBlkPtr mb, Mal
                MT_lock_unset(&QLOGlock);
                throw(MAL, "querylog.call", SQLSTATE(HY013) MAL_MALLOC_FAIL);
        }
-       if (TMsubcommit_list(commitlist, NULL, committop, getBBPlogno(), 
getBBPtransid()) != GDK_SUCCEED)
+       if (TMsubcommit_list(commitlist, NULL, committop, -1, -1) != 
GDK_SUCCEED)
                msg = createException(MAL, "querylog", GDK_EXCEPTION);
        MT_lock_unset(&QLOGlock);
        return msg;
diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -4666,7 +4666,7 @@ sql_update_sep2022(Client c, mvc *sql, s
                         BBPrename(u, NULL) != 0 ||
                         BBPrename(p, NULL) != 0 ||
                         BBPrename(d, NULL) != 0 ||
-                        TMsubcommit_list(authbats, NULL, 4, getBBPlogno(), 
getBBPtransid()) != GDK_SUCCEED)) {
+                        TMsubcommit_list(authbats, NULL, 4, -1, -1) != 
GDK_SUCCEED)) {
                                fprintf(stderr, "Committing removal of old 
user/password BATs failed\n");
                }
                BBPunfix(u->batCacheid);
@@ -5738,7 +5738,7 @@ sql_update_jun2023(Client c, mvc *sql, s
                        BBPrename(rt_uri, NULL) != 0 ||
                        BATmode(rt_deleted, true) != GDK_SUCCEED ||
                        BBPrename(rt_deleted, NULL) != 0 ||
-                       TMsubcommit_list(rtauthbats, NULL, 6, getBBPlogno(), 
getBBPtransid()) != GDK_SUCCEED) {
+                       TMsubcommit_list(rtauthbats, NULL, 6, -1, -1) != 
GDK_SUCCEED) {
                        fprintf(stderr, "Committing removal of old remote 
user/password BATs failed\n");
                }
                BBPunfix(rt_key->batCacheid);
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to