Changeset: c5941453f297 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c5941453f297
Modified Files:
.hgtags
sql/storage/bat/bat_storage.c
sql/storage/store.c
Branch: Sep2022
Log Message:
Merge with Jan2022 branch.
diffs (62 lines):
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -770,6 +770,7 @@ 1252291e5c0ddc91ccb16d612d04e34e6a7d3bc3
59de1ee118d4eccc072c0cf3938f90635a7db311 Jan2022_15
59de1ee118d4eccc072c0cf3938f90635a7db311 Jan2022_SP3_release
38ba6e40ba9148c762fe4a4b40f4937f86e516b6 Jul2021_25
+38ba6e40ba9148c762fe4a4b40f4937f86e516b6 Jul2021_SP7_release
470e524a786ee0e94c7901ec98d95ac351a0e472 Sep2022_root
9785fa2a471fe32495e07479edf110335ddaa750 Jan2022_17
26ffeb5af5240c807a6583fd6eb4ee2c9cd210d2 Jan2022_19
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
@@ -3800,7 +3800,6 @@ clear_storage(sql_trans *tr, sql_table *
{
if (clear_cs(tr, &s->cs, true, isTempTable(t)) == BUN_NONE)
return LOG_ERR;
- s->cs.cleared = 1;
if (s->segs)
destroy_segments(s->segs);
if (!(s->segs = new_segments(tr, 0)))
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -2300,8 +2300,6 @@ store_manager(sqlstore *store)
MT_lock_set(&store->flush);
for (;;) {
- int res = LOG_OK;
-
if (ATOMIC_GET(&store->nr_active) == 0 &&
(store->debug&128 || ATOMIC_GET(&store->lastactive) +
IDLE_TIME * 1000000 < (ATOMIC_BASE_TYPE) GDKusec())) {
MT_lock_unset(&store->flush);
@@ -2323,20 +2321,21 @@ store_manager(sqlstore *store)
MT_sleep_ms(sleeptime);
MT_lock_set(&store->commit);
MT_lock_set(&store->flush);
+
+ if (GDKexiting()) {
+ MT_lock_unset(&store->commit);
+ break;
+ }
+
if (store->logger_api.changes(store) <= 0) {
TRC_DEBUG(SQL_STORE, "Store flusher, no changes\n");
MT_lock_unset(&store->commit);
continue;
}
MT_lock_unset(&store->commit);
- if (GDKexiting())
- break;
MT_thread_setworking("flushing");
- while (res == LOG_OK && store->logger_api.changes(store) > 0)
- res = store_apply_deltas(store);
-
- if (res != LOG_OK) {
+ if (store_apply_deltas(store) != LOG_OK) {
MT_lock_unset(&store->flush);
if (!GDKexiting())
GDKfatal("write-ahead logging failure");
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]