Changeset: 1dc03fb789a0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/1dc03fb789a0
Modified Files:
        gdk/gdk_logger.c
        gdk/gdk_logger_internals.h
        gdk/gdk_logger_old.c
        sql/backends/monet5/sql_result.c
Branch: default
Log Message:

merged with Sep2022


diffs (truncated from 330 to 300 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -300,12 +300,12 @@ string_reader(logger *lg, BAT *b, lng nr
                if (mnstr_readLng(lg->input_log, &SZ) != 1)
                        return LOG_EOF;
                sz = (size_t)SZ;
-               char *buf = lg->buf;
-               if (lg->bufsize < sz) {
-                       if (!(buf = GDKrealloc(lg->buf, sz)))
+               char *buf = lg->rbuf;
+               if (lg->rbufsize < sz) {
+                       if (!(buf = GDKrealloc(lg->rbuf, sz)))
                                return LOG_ERR;
-                       lg->buf = buf;
-                       lg->bufsize = sz;
+                       lg->rbuf = buf;
+                       lg->rbufsize = sz;
                }
 
                if (mnstr_read(lg->input_log, buf, sz, 1) != 1)
@@ -399,8 +399,7 @@ log_read_updates(logger *lg, trans *tr, 
                                                }
                                                else
                                                        res = LOG_ERR;
-                                       }
-                                       else {
+                                       } else {
                                                assert((*cands)->ttype == 
TYPE_oid);
                                                assert(BATcount(*cands) > 0);
                                                if (BATappend(*cands, dense, 
NULL, true) != GDK_SUCCEED)
@@ -410,8 +409,8 @@ log_read_updates(logger *lg, trans *tr, 
                                }
 
                                // We have to read the value to update the read 
cursor
-                               size_t tlen = lg->bufsize;
-                               void *t = rt(lg->buf, &tlen, lg->input_log, 1);
+                               size_t tlen = lg->rbufsize;
+                               void *t = rt(lg->rbuf, &tlen, lg->input_log, 1);
                                if (t == NULL) {
                                        res = LOG_ERR;
                                }
@@ -429,13 +428,13 @@ log_read_updates(logger *lg, trans *tr, 
                }
 
                if (l->flag == LOG_UPDATE_CONST) {
-                       size_t tlen = lg->bufsize;
-                       void *t = rt(lg->buf, &tlen, lg->input_log, 1);
+                       size_t tlen = lg->rbufsize;
+                       void *t = rt(lg->rbuf, &tlen, lg->input_log, 1);
                        if (t == NULL) {
                                res = LOG_ERR;
                        } else {
-                               lg->buf = t;
-                               lg->bufsize = tlen;
+                               lg->rbuf = t;
+                               lg->rbufsize = tlen;
                                for(BUN p = 0; p<(BUN) nr; p++) {
                                        if (r && BUNappend(r, t, true) != 
GDK_SUCCEED)
                                                res = LOG_ERR;
@@ -454,32 +453,32 @@ log_read_updates(logger *lg, trans *tr, 
                                        else
                                                res = LOG_ERR;
                                } else {
-                                       size_t tlen = lg->bufsize/sizeof(int);
+                                       size_t tlen = lg->rbufsize/sizeof(int);
                                        size_t cnt = 0, snr = (size_t)nr;
                                        snr = (snr+31)/32;
                                        assert(tlen);
                                        for (; res == LOG_OK && snr > 0; 
snr-=cnt) {
                                                cnt = snr>tlen?tlen:snr;
-                                               if 
(!mnstr_readIntArray(lg->input_log, lg->buf, cnt))
+                                               if 
(!mnstr_readIntArray(lg->input_log, lg->rbuf, cnt))
                                                        res = LOG_ERR;
                                        }
                                }
                        } else {
                                if (!ATOMvarsized(tpe)) {
                                        size_t cnt = 0, snr = (size_t)nr;
-                                       size_t tlen = 
lg->bufsize/ATOMsize(tpe), ntlen = lg->bufsize;
+                                       size_t tlen = 
lg->rbufsize/ATOMsize(tpe), ntlen = lg->rbufsize;
                                        assert(tlen);
                                        /* read in chunks of max
                                         * BUFSIZE/width rows */
                                        for (; res == LOG_OK && snr > 0; 
snr-=cnt) {
                                                cnt = snr>tlen?tlen:snr;
-                                               void *t = rt(lg->buf, &ntlen, 
lg->input_log, cnt);
+                                               void *t = rt(lg->rbuf, &ntlen, 
lg->input_log, cnt);
 
                                                if (t == NULL) {
                                                        res = LOG_EOF;
                                                        break;
                                                }
-                                               assert(t == lg->buf);
+                                               assert(t == lg->rbuf);
                                                if (r && BUNappendmulti(r, t, 
cnt, true) != GDK_SUCCEED)
                                                        res = LOG_ERR;
                                        }
@@ -488,8 +487,8 @@ log_read_updates(logger *lg, trans *tr, 
                                        res = string_reader(lg, r, nr);
                                } else {
                                        for (; res == LOG_OK && nr > 0; nr--) {
-                                               size_t tlen = lg->bufsize;
-                                               void *t = rt(lg->buf, &tlen, 
lg->input_log, 1);
+                                               size_t tlen = lg->rbufsize;
+                                               void *t = rt(lg->rbuf, &tlen, 
lg->input_log, 1);
 
                                                if (t == NULL) {
                                                        /* see if failure was 
due to
@@ -501,8 +500,8 @@ log_read_updates(logger *lg, trans *tr, 
                                                        else
                                                                res = LOG_ERR;
                                                } else {
-                                                       lg->buf = t;
-                                                       lg->bufsize = tlen;
+                                                       lg->rbuf = t;
+                                                       lg->rbufsize = tlen;
                                                        if (r && BUNappend(r, 
t, true) != GDK_SUCCEED)
                                                                res = LOG_ERR;
                                                }
@@ -552,8 +551,8 @@ log_read_updates(logger *lg, trans *tr, 
                                res = string_reader(lg, r, nr);
                        } else {
                                for (; res == LOG_OK && nr > 0; nr--) {
-                                       size_t tlen = lg->bufsize;
-                                       void *t = rt(lg->buf, &tlen, 
lg->input_log, 1);
+                                       size_t tlen = lg->rbufsize;
+                                       void *t = rt(lg->rbuf, &tlen, 
lg->input_log, 1);
 
                                        if (t == NULL) {
                                                if (strstr(GDKerrbuf, "malloc") 
== NULL)
@@ -561,8 +560,8 @@ log_read_updates(logger *lg, trans *tr, 
                                                else
                                                        res = LOG_ERR;
                                        } else {
-                                               lg->buf = t;
-                                               lg->bufsize = tlen;
+                                               lg->rbuf = t;
+                                               lg->rbufsize = tlen;
                                                if ((r && BUNappend(r, t, true) 
!= GDK_SUCCEED))
                                                        res = LOG_ERR;
                                        }
@@ -2130,8 +2129,8 @@ log_load(int debug, const char *fn, cons
        MT_lock_destroy(&lg->flush_queue_lock);
        GDKfree(lg->fn);
        GDKfree(lg->dir);
-       GDKfree(lg->local_dir);
-       GDKfree(lg->buf);
+       GDKfree(lg->rbuf);
+       GDKfree(lg->wbuf);
        GDKfree(lg);
        GDKdebug = dbg;
        return GDK_FAIL;
@@ -2179,13 +2178,17 @@ log_new(int debug, const char *fn, const
        }
        lg->fn = GDKstrdup(fn);
        lg->dir = GDKstrdup(filename);
-       lg->bufsize = 64*1024;
-       lg->buf = GDKmalloc(lg->bufsize);
-       if (lg->fn == NULL || lg->dir == NULL || lg->buf == NULL) {
+       lg->rbufsize = 64*1024;
+       lg->rbuf = GDKmalloc(lg->rbufsize);
+       lg->wbufsize = 64*1024;
+       lg->wbuf = GDKmalloc(lg->wbufsize);
+       if (lg->fn == NULL || lg->dir == NULL ||
+           lg->rbuf == NULL || lg->wbuf == NULL) {
                TRC_CRITICAL(GDK, "strdup failed\n");
                GDKfree(lg->fn);
                GDKfree(lg->dir);
-               GDKfree(lg->buf);
+               GDKfree(lg->rbuf);
+               GDKfree(lg->wbuf);
                GDKfree(lg);
                return NULL;
        }
@@ -2255,7 +2258,8 @@ log_destroy(logger *lg)
        MT_lock_destroy(&lg->flush_queue_lock);
        GDKfree(lg->fn);
        GDKfree(lg->dir);
-       GDKfree(lg->buf);
+       GDKfree(lg->rbuf);
+       GDKfree(lg->wbuf);
        log_close_input(lg);
        log_close_output(lg);
        GDKfree(lg);
@@ -2494,9 +2498,9 @@ log_constant(logger *lg, int type, ptr v
 static gdk_return
 string_writer(logger *lg, BAT *b, lng offset, lng nr)
 {
-       size_t bufsz = lg->bufsize, resize = 0;
+       size_t bufsz = lg->wbufsize, resize = 0;
        BUN end = (BUN)(offset + nr);
-       char *buf = lg->buf;
+       char *buf = lg->wbuf;
        gdk_return res = GDK_SUCCEED;
 
        if (!buf)
@@ -2506,12 +2510,12 @@ string_writer(logger *lg, BAT *b, lng of
        for ( ; p < end; ) {
                size_t sz = 0;
                if (resize) {
-                       if ((buf = GDKrealloc(lg->buf, resize)) == NULL) {
+                       if ((buf = GDKrealloc(lg->wbuf, resize)) == NULL) {
                                res = GDK_FAIL;
                                break;
                        }
-                       lg->buf = buf;
-                       lg->bufsize = bufsz = resize;
+                       lg->wbuf = buf;
+                       lg->wbufsize = bufsz = resize;
                        resize = 0;
                }
                char *dst = buf;
diff --git a/gdk/gdk_logger_internals.h b/gdk/gdk_logger_internals.h
--- a/gdk/gdk_logger_internals.h
+++ b/gdk/gdk_logger_internals.h
@@ -37,7 +37,6 @@ struct logger {
        bool inmemory;
        char *fn;
        char *dir;
-       char *local_dir; /* the directory in which the log is written */
        preversionfix_fptr prefuncp;
        postversionfix_fptr postfuncp;
        void *funcdata;
@@ -67,8 +66,10 @@ struct logger {
        uint8_t type_nr[256];   /* mapping from logger type id to GDK type nr */
        int8_t type_id[128];    /* mapping from GDK type nr to logger type id */
 
-       void *buf;
-       size_t bufsize;
+       void *rbuf;
+       size_t rbufsize;
+       void *wbuf;
+       size_t wbufsize;
 
        /* flush variables */
        unsigned int flush_queue[FLUSH_QUEUE_SIZE]; /* circular array with the 
current transactions' ids waiting to be flushed */
@@ -86,7 +87,6 @@ struct old_logger {
        lng id;
        int tid;
        bool with_ids;
-       char *local_dir; /* the directory in which the log is written */
        stream *log;
        lng end;                /* end of pre-allocated blocks for faster 
f(data)sync */
        /* Store log_bids (int) to circumvent trouble with reference counting */
diff --git a/gdk/gdk_logger_old.c b/gdk/gdk_logger_old.c
--- a/gdk/gdk_logger_old.c
+++ b/gdk/gdk_logger_old.c
@@ -494,8 +494,8 @@ log_read_updates(old_logger *lg, trans *
                if (ht == TYPE_void && l->flag == LOG_INSERT) {
                        lng nr = l->nr;
                        for (; res == LOG_OK && nr > 0; nr--) {
-                               size_t tlen = lg->lg->bufsize;
-                               void *t = rt(lg->lg->buf, &tlen, lg->log, 1);
+                               size_t tlen = lg->lg->rbufsize;
+                               void *t = rt(lg->lg->rbuf, &tlen, lg->log, 1);
 
                                if (t == NULL) {
                                        /* see if failure was due to
@@ -508,8 +508,8 @@ log_read_updates(old_logger *lg, trans *
                                                res = LOG_ERR;
                                        break;
                                } else {
-                                       lg->lg->buf = t;
-                                       lg->lg->bufsize = tlen;
+                                       lg->lg->rbuf = t;
+                                       lg->lg->rbufsize = tlen;
                                }
                                if (BUNappend(r, t, true) != GDK_SUCCEED)
                                        res = LOG_ERR;
@@ -525,13 +525,13 @@ log_read_updates(old_logger *lg, trans *
                        if (!pax) {
                                lng nr = l->nr;
                                for (; res == LOG_OK && nr > 0; nr--) {
-                                       size_t tlen = lg->lg->bufsize;
+                                       size_t tlen = lg->lg->rbufsize;
                                        void *h = rh(hv, &hlen, lg->log, 1);
-                                       void *t = rt(lg->lg->buf, &tlen, 
lg->log, 1);
+                                       void *t = rt(lg->lg->rbuf, &tlen, 
lg->log, 1);
 
                                        if (t != NULL) {
-                                               lg->lg->buf = t;
-                                               lg->lg->bufsize = tlen;
+                                               lg->lg->rbuf = t;
+                                               lg->lg->rbufsize = tlen;
                                        }
                                        if (h == NULL)
                                                res = LOG_EOF;
@@ -573,8 +573,8 @@ log_read_updates(old_logger *lg, trans *
                                }
                                nr = l->nr;
                                for (; res == LOG_OK && nr > 0; nr--) {
-                                       size_t tlen = lg->lg->bufsize;
-                                       void *t = rt(lg->lg->buf, &tlen, 
lg->log, 1);
+                                       size_t tlen = lg->lg->rbufsize;
+                                       void *t = rt(lg->lg->rbuf, &tlen, 
lg->log, 1);
 
                                        if (t == NULL) {
                                                if (strstr(GDKerrbuf, "malloc") 
== NULL)
@@ -582,8 +582,8 @@ log_read_updates(old_logger *lg, trans *
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to