Changeset: b055a5ffe2d5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b055a5ffe2d5
Modified Files:
gdk/gdk_logger.c
Branch: Jul2017
Log Message:
temporary hack to use again project+BATappend without candidate list.
This works around a possible bug in BATappend, which causes db corruption.
diffs (58 lines):
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1319,7 +1319,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;
+ BAT *bids, *nmes, *tids, *b;
tids = bm_tids(catalog_bid, dcatalog);
if (tids == NULL) {
@@ -1328,6 +1328,7 @@ bm_subcommit(logger *lg, BAT *list_bid,
}
bids = logbat_new(TYPE_int, BATcount(tids), PERSISTENT);
nmes = logbat_new(TYPE_str, BATcount(tids), PERSISTENT);
+
if (bids == NULL || nmes == NULL) {
logbat_destroy(tids);
logbat_destroy(bids);
@@ -1335,6 +1336,29 @@ bm_subcommit(logger *lg, BAT *list_bid,
GDKfree(n);
return GDK_FAIL;
}
+
+ b = BATproject(tids, catalog_bid);
+ if (BATappend(bids, b, NULL, TRUE) != GDK_SUCCEED) {
+ logbat_destroy(b);
+ logbat_destroy(tids);
+ logbat_destroy(bids);
+ logbat_destroy(nmes);
+ GDKfree(n);
+ return GDK_FAIL;
+ }
+ logbat_destroy(b);
+ b = BATproject(tids, catalog_nme);
+ if (BATappend(nmes, b, NULL, TRUE) != GDK_SUCCEED) {
+ logbat_destroy(b);
+ logbat_destroy(tids);
+ logbat_destroy(bids);
+ logbat_destroy(nmes);
+ GDKfree(n);
+ return GDK_FAIL;
+ }
+ logbat_destroy(b);
+
+ /*
if (BATappend(bids, catalog_bid, tids, TRUE) != GDK_SUCCEED ||
BATappend(nmes, catalog_nme, tids, TRUE) != GDK_SUCCEED) {
logbat_destroy(tids);
@@ -1343,6 +1367,7 @@ bm_subcommit(logger *lg, BAT *list_bid,
GDKfree(n);
return GDK_FAIL;
}
+ */
logbat_destroy(tids);
BATclear(dcatalog, TRUE);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list