Changeset: 9ba2bd0cdb24 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9ba2bd0cdb24
Modified Files:
        gdk/gdk_logger.c
        sql/test/Tests/All
Branch: default
Log Message:

disabled trace test (as milli seconds will always differ)

cleanup dcatalog on bm_subcommit


diffs (119 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1058,9 +1058,9 @@ logger_commit(logger *lg)
 
        /* cleanup old snapshots */
        if (BATcount(lg->snapshots_bid)) {
-               BATclear(lg->snapshots_bid, FALSE);
-               BATclear(lg->snapshots_tid, FALSE);
-               BATclear(lg->dsnapshots, FALSE);
+               BATclear(lg->snapshots_bid, TRUE);
+               BATclear(lg->snapshots_tid, TRUE);
+               BATclear(lg->dsnapshots, TRUE);
                BATcommit(lg->snapshots_bid);
                BATcommit(lg->snapshots_tid);
                BATcommit(lg->dsnapshots);
@@ -1097,6 +1097,34 @@ check_version(logger *lg, FILE *fp)
        return GDK_SUCCEED;
 }
 
+static BAT *
+bm_tids(BAT *b, BAT *d) 
+{
+       BUN sz = BATcount(b);
+       BAT *tids = BATnew(TYPE_void, TYPE_void, 0, TRANSIENT);
+
+       tids->H->seq = 0;
+       tids->T->seq = 0;
+       BATsetcount(tids, sz);
+       tids->H->revsorted = 0;
+       tids->T->revsorted = 0;
+
+       tids->T->key = 1;
+       tids->T->dense = 1;
+       tids->H->key = 1;
+       tids->H->dense = 1;
+
+       if (BATcount(d)) {
+               BAT *diff = BATkdiff(tids, BATmirror(d));
+
+               logbat_destroy(tids);
+               tids = BATmirror(BATmark(diff, 0));
+               logbat_destroy(diff);
+       }
+       return tids;
+}
+
+
 static gdk_return
 bm_subcommit(BAT *list_bid, BAT *list_nme, BAT *catalog_bid, BAT *catalog_nme, 
BAT *dcatalog, BAT *extra, int debug)
 {
@@ -1139,6 +1167,21 @@ bm_subcommit(BAT *list_bid, BAT *list_nm
        n[i++] = abs(catalog_nme->batCacheid);
        n[i++] = abs(dcatalog->batCacheid);
        assert((BUN) i <= nn);
+       if (BATcount(dcatalog) && catalog_bid == list_bid && catalog_nme == 
list_nme) {
+               BAT *bids, *nmes, *tids = bm_tids(catalog_bid, dcatalog);
+
+               bids = BATproject(tids, catalog_bid);
+               nmes = BATproject(tids, catalog_nme);
+               logbat_destroy(tids);
+               BATclear(catalog_bid, TRUE);
+               BATclear(catalog_nme, TRUE);
+               BATclear(dcatalog, TRUE);
+
+               BATappend(catalog_bid, bids, FALSE);
+               BATappend(catalog_nme, nmes, FALSE);
+               logbat_destroy(bids);
+               logbat_destroy(nmes);
+       }
        BATcommit(catalog_bid);
        BATcommit(catalog_nme);
        BATcommit(dcatalog);
@@ -2106,34 +2149,6 @@ pre_allocate(logger *lg)
        return GDK_SUCCEED;
 }
 
-static BAT *
-bm_tids(BAT *b, BAT *d) 
-{
-       BUN sz = BATcount(b);
-       BAT *tids = BATnew(TYPE_void, TYPE_void, 0, TRANSIENT);
-
-       tids->H->seq = 0;
-       tids->T->seq = 0;
-       BATsetcount(tids, sz);
-       tids->H->revsorted = 0;
-       tids->T->revsorted = 0;
-
-       tids->T->key = 1;
-       tids->T->dense = 1;
-       tids->H->key = 1;
-       tids->H->dense = 1;
-
-       if (BATcount(d)) {
-               BAT *diff = BATkdiff(tids, BATmirror(d));
-
-               logbat_destroy(tids);
-               tids = BATmirror(BATmark(diff, 0));
-               logbat_destroy(diff);
-       }
-       return tids;
-}
-
-
 int
 log_tend(logger *lg)
 {
diff --git a/sql/test/Tests/All b/sql/test/Tests/All
--- a/sql/test/Tests/All
+++ b/sql/test/Tests/All
@@ -94,6 +94,6 @@ copy_into
 antiselect
 median_stdev
 
-HAVE_GEOM?trace
+#HAVE_GEOM?trace
 
 HAVE_JDBCCLIENT_JAR?bogus-auto-generated-keys
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to