Changeset: 045b3102bfe4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=045b3102bfe4
Modified Files:
        gdk/gdk_bat.c
        gdk/gdk_logger.c
Branch: unlock
Log Message:

small fixes for msk type


diffs (32 lines):

diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -1489,7 +1489,7 @@ BUNinplace(BAT *b, BUN p, const void *t,
                BATkey(b, false);
        } else if (!b->tkey && (b->tnokey[0] == p || b->tnokey[1] == p))
                b->tnokey[0] = b->tnokey[1] = 0;
-       if (b->tnonil)
+       if (b->tnonil && ATOMstorage(b->ttype) != TYPE_msk)
                b->tnonil = t && ATOMcmp(b->ttype, t, ATOMnilptr(b->ttype)) != 
0;
        b->theap->dirty = true;
        if (b->tvheap)
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -519,13 +519,15 @@ la_bat_updates(logger *lg, logaction *la
                BUN cnt = BATcount(b);
 
                if (!lg->flushing) {
+                       int is_msk = (b->ttype == TYPE_msk);
                        /* handle offset 0 ie clear */
                        if (/* DISABLES CODE */ (0) && la->offset == 0 && cnt)
                                BATclear(b, true);
                        /* handle offset */
                        if (cnt <= (BUN)la->offset) {
+                               msk t = 1;
                                if (cnt < (BUN)la->offset) { /* insert nils */
-                                       const void *tv = ATOMnilptr(b->ttype);
+                                       const void *tv = 
(is_msk)?&t:ATOMnilptr(b->ttype);
                                        lng i, d = la->offset - BATcount(b);
                                        for(i=0;i<d;i++) {
                                                if (BUNappend(b, tv, true) != 
GDK_SUCCEED) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to