Changeset: cdd64aafcd84 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/cdd64aafcd84
Modified Files:
        gdk/gdk_logger.c
Branch: ustr
Log Message:

Log all fixed-sized atoms in bulk.


diffs (39 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -3434,13 +3434,13 @@ internal_log_bat(logger *lg, BAT *b, log
                                }
                        }
                }
-       } else if (b->ttype < TYPE_str && bi.h->parentid == b->batCacheid) {
+       } else if (b->ttype == TYPE_str) {
+               /* efficient string writes */
+               ok = string_writer(lg, b, offset, nr);
+       } else if (!ATOMvarsized(b->ttype) && bi.h->parentid == b->batCacheid) {
                const void *t = BUNtail(&bi, (BUN) offset);
 
                ok = wt(t, lg->current->output_log, (size_t) nr);
-       } else if (b->ttype == TYPE_str) {
-               /* efficient string writes */
-               ok = string_writer(lg, b, offset, nr);
        } else {
                BUN end = (BUN) (offset + nr);
                for (p = (BUN) offset; p < end && ok == GDK_SUCCEED; p++) {
@@ -3646,13 +3646,13 @@ log_delta(logger *lg, BAT *uid, BAT *uva
                if (!mnstr_writeIntArray(lg->current->output_log, vi.base,
                                         (BATcount(uval) + 31) / 32))
                        ok = GDK_FAIL;
-       } else if (uval->ttype < TYPE_str && !isVIEW(uval)) {
+       } else if (uval->ttype == TYPE_str) {
+               /* efficient string writes */
+               ok = string_writer(lg, uval, 0, nr);
+       } else if (!ATOMvarsized(uval->ttype) && !isVIEW(uval)) {
                const void *t = BUNtail(&vi, 0);
 
                ok = wt(t, lg->current->output_log, (size_t) nr);
-       } else if (uval->ttype == TYPE_str) {
-               /* efficient string writes */
-               ok = string_writer(lg, uval, 0, nr);
        } else {
                for (p = 0; p < BATcount(uid) && ok == GDK_SUCCEED; p++) {
                        const void *val = BUNtail(&vi, p);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to