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 -- [email protected]
To unsubscribe send an email to [email protected]