Changeset: a330b422fbe5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a330b422fbe5 Modified Files: gdk/gdk_logger.c Branch: Oct2020 Log Message:
merged with jun2020 diffs (78 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1496,6 +1496,7 @@ logger_switch_bat(BAT *old, BAT *new, co if (BBPrename(new->batCacheid, bak) != 0) { return GDK_FAIL; } + BBPretain(new->batCacheid); return GDK_SUCCEED; } @@ -1554,7 +1555,7 @@ bm_subcommit(logger *lg, BAT *list_bid, catalog_bid == list_bid && catalog_nme == list_nme && lg->catalog_bid == catalog_bid) { - BAT *bids, *nmes, *tids, *tpes, *oids; + BAT *bids, *nmes, *tids, *tpes, *oids, *dcat; tids = bm_tids(catalog_bid, dcatalog); if (tids == NULL) { @@ -1565,13 +1566,15 @@ bm_subcommit(logger *lg, BAT *list_bid, nmes = logbat_new(TYPE_str, BATcount(tids), PERSISTENT); tpes = logbat_new(TYPE_bte, BATcount(tids), PERSISTENT); oids = logbat_new(TYPE_lng, BATcount(tids), PERSISTENT); - - if (bids == NULL || nmes == NULL || tpes == NULL || oids == NULL) { + dcat = logbat_new(TYPE_oid, 0, PERSISTENT); + + if (bids == NULL || nmes == NULL || tpes == NULL || oids == NULL || dcat == NULL) { logbat_destroy(tids); logbat_destroy(bids); logbat_destroy(nmes); logbat_destroy(tpes); logbat_destroy(oids); + logbat_destroy(dcat); GDKfree(n); return GDK_FAIL; } @@ -1585,16 +1588,17 @@ bm_subcommit(logger *lg, BAT *list_bid, logbat_destroy(nmes); logbat_destroy(tpes); logbat_destroy(oids); + logbat_destroy(dcat); GDKfree(n); return GDK_FAIL; } logbat_destroy(tids); - BATclear(dcatalog, true); if (logger_switch_bat(catalog_bid, bids, lg->fn, "catalog_bid") != GDK_SUCCEED || logger_switch_bat(catalog_nme, nmes, lg->fn, "catalog_nme") != GDK_SUCCEED || logger_switch_bat(catalog_tpe, tpes, lg->fn, "catalog_tpe") != GDK_SUCCEED || - logger_switch_bat(catalog_oid, oids, lg->fn, "catalog_oid") != GDK_SUCCEED) { + logger_switch_bat(catalog_oid, oids, lg->fn, "catalog_oid") != GDK_SUCCEED || + logger_switch_bat(dcatalog, dcat, lg->fn, "dcatalog") != GDK_SUCCEED) { logbat_destroy(bids); logbat_destroy(nmes); GDKfree(n); @@ -1604,16 +1608,19 @@ bm_subcommit(logger *lg, BAT *list_bid, n[i++] = nmes->batCacheid; n[i++] = tpes->batCacheid; n[i++] = oids->batCacheid; + n[i++] = dcat->batCacheid; logbat_destroy(lg->catalog_bid); logbat_destroy(lg->catalog_nme); logbat_destroy(lg->catalog_tpe); logbat_destroy(lg->catalog_oid); + logbat_destroy(lg->dcatalog); lg->catalog_bid = catalog_bid = bids; lg->catalog_nme = catalog_nme = nmes; lg->catalog_tpe = catalog_tpe = tpes; lg->catalog_oid = catalog_oid = oids; + lg->dcatalog = dcatalog = dcat; } if (lg->seqs_id && list_nme) { n[i++] = lg->seqs_id->batCacheid; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list