Changeset: 3cc5c652975e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3cc5c652975e
Modified Files:
        gdk/gdk_logger.c
Branch: default
Log Message:

no logging with 128


diffs (213 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -97,6 +97,8 @@
 
 #define NAME(name,tpe,id) (name?name:"tpe id")
 
+#define LOG_DISABLED(lg) ((lg)->debug&128)
+
 static const char *log_commands[] = {
        NULL,
        "LOG_START",
@@ -1047,8 +1049,10 @@ logger_open(logger *lg)
        char id[BUFSIZ];
        char *filename;
 
-       if (lg->inmemory) {
+       if (lg->inmemory || LOG_DISABLED(lg)) {
                lg->end = 0;
+               if (lg->id) /* go back too last used id */
+                       lg->id--;
                return GDK_SUCCEED;
        }
        len = snprintf(id, sizeof(id), LLFMT, lg->id);
@@ -1666,7 +1670,7 @@ logger_load(int debug, const char *fn, c
        bool needcommit = false;
        int dbg = GDKdebug;
 
-       if (!lg->inmemory) {
+       if (!lg->inmemory && !LOG_DISABLED(lg)) {
                if ((filenamestr = GDKfilepath(farmid, lg->dir, LOGFILE, NULL)) 
== NULL)
                        goto error;
                len = snprintf(filename, FILENAME_MAX, "%s", filenamestr);
@@ -1696,7 +1700,7 @@ logger_load(int debug, const char *fn, c
        lg->seqs_val = NULL;
        lg->dseqs = NULL;
 
-       if (!lg->inmemory) {
+       if (!lg->inmemory && !LOG_DISABLED(lg)) {
                /* try to open logfile backup, or failing that, the file
                 * itself. we need to know whether this file exists when
                 * checking the database consistency later on */
@@ -1776,7 +1780,7 @@ logger_load(int debug, const char *fn, c
                        goto error;
                }
 
-               if (!lg->inmemory) {
+               if (!lg->inmemory && !LOG_DISABLED(lg)) {
                        if (GDKcreatedir(filename) != GDK_SUCCEED) {
                                GDKerror("logger_load: cannot create directory 
for log file %s\n",
                                         filename);
@@ -1924,7 +1928,7 @@ logger_load(int debug, const char *fn, c
                }
 
                /* the catalog exists, and so should the log file */
-               if (fp == NULL) {
+               if (fp == NULL && !LOG_DISABLED(lg)) {
                        GDKerror("logger_load: there is a logger catalog, but 
no log file.\n"
                                 "Are you sure you are using the correct 
combination of database\n"
                                 "(--dbpath) and log directory (--set 
%s_logdir)?\n"
@@ -2558,7 +2562,7 @@ logger_exit(logger *lg)
        char filename[FILENAME_MAX];
        int len, farmid;
 
-       if (lg->inmemory) {
+       if (lg->inmemory || LOG_DISABLED(lg)) {
                logger_close(lg);
                return GDK_SUCCEED;
        }
@@ -2664,7 +2668,7 @@ logger_cleanup(logger *lg)
        char buf[BUFSIZ];
        FILE *fp = NULL;
 
-       if (lg->inmemory)
+       if (lg->inmemory || LOG_DISABLED(lg))
                return GDK_SUCCEED;
 
        farmid = BBPselectfarm(PERSISTENT, 0, offheap);
@@ -2778,7 +2782,7 @@ log_bat_persists(logger *lg, BAT *b, con
                l.flag = (l.flag == LOG_USE)?LOG_USE_ID:LOG_CREATE_ID;
        l.tid = lg->tid;
        lg->changes++;
-       if (!lg->inmemory) {
+       if (!lg->inmemory && !LOG_DISABLED(lg)) {
                if (log_write_format(lg, &l) != GDK_SUCCEED ||
                    log_write_string(lg, name) != GDK_SUCCEED ||
                    (tpe && log_write_id(lg, tpe, id) != GDK_SUCCEED))
@@ -2811,7 +2815,7 @@ log_bat_persists(logger *lg, BAT *b, con
                }
                return GDK_SUCCEED;
        }
-       if (lg->inmemory)
+       if (lg->inmemory || LOG_DISABLED(lg))
                return GDK_SUCCEED;
 
        ha = "vid";
@@ -2870,7 +2874,7 @@ log_bat_transient(logger *lg, const char
                //      assert(lg->tid == tid);
        }
 
-       if (lg->inmemory)
+       if (lg->inmemory || LOG_DISABLED(lg))
                return GDK_SUCCEED;
 
        if (log_write_format(lg, &l) != GDK_SUCCEED ||
@@ -2892,15 +2896,16 @@ log_delta(logger *lg, BAT *uid, BAT *uva
        BUN p;
 
        assert(uid->ttype == TYPE_oid || uid->ttype == TYPE_void);
-       if (lg->debug & 128 || lg->inmemory) {
-               /* logging is switched off */
-               return GDK_SUCCEED;
-       }
 
        l.tid = lg->tid;
        l.nr = (BUNlast(uval));
        lg->changes += l.nr;
 
+       if (LOG_DISABLED(lg) || lg->inmemory) {
+               /* logging is switched off */
+               return GDK_SUCCEED;
+       }
+
        if (l.nr) {
                BATiter vi = bat_iterator(uval);
                gdk_return (*wh) (const void *, stream *, size_t) = 
BATatoms[TYPE_oid].atomWrite;
@@ -2935,15 +2940,15 @@ log_bat(logger *lg, BAT *b, const char *
        logformat l;
        BUN p;
 
-       if (lg->debug & 128 || lg->inmemory) {
+       l.tid = lg->tid;
+       l.nr = (BUNlast(b) - b->batInserted);
+       lg->changes += l.nr;
+
+       if (LOG_DISABLED(lg) || lg->inmemory) {
                /* logging is switched off */
                return GDK_SUCCEED;
        }
 
-       l.tid = lg->tid;
-       l.nr = (BUNlast(b) - b->batInserted);
-       lg->changes += l.nr;
-
        if (l.nr) {
                BATiter bi = bat_iterator(b);
                gdk_return (*wt) (const void *, stream *, size_t) = 
BATatoms[b->ttype].atomWrite;
@@ -2981,15 +2986,15 @@ log_bat_clear(logger *lg, const char *na
 {
        logformat l;
 
-       if (lg->debug & 128 || lg->inmemory) {
+       l.nr = 1;
+       l.tid = lg->tid;
+       lg->changes += l.nr;
+
+       if (LOG_DISABLED(lg) || lg->inmemory) {
                /* logging is switched off */
                return GDK_SUCCEED;
        }
 
-       l.nr = 1;
-       l.tid = lg->tid;
-       lg->changes += l.nr;
-
        l.flag = (tpe)?LOG_CLEAR_ID:LOG_CLEAR;
        if (log_write_format(lg, &l) != GDK_SUCCEED ||
            (tpe ? log_write_id(lg, tpe, id) : log_write_string(lg, name)) != 
GDK_SUCCEED)
@@ -3006,7 +3011,7 @@ log_tstart(logger *lg)
 {
        logformat l;
 
-       if (lg->inmemory)
+       if (LOG_DISABLED(lg) || lg->inmemory)
                return GDK_SUCCEED;
 
        l.flag = LOG_START;
@@ -3028,7 +3033,7 @@ static gdk_return
 pre_allocate(logger *lg)
 {
        // FIXME: this causes serious issues on Windows at least with MinGW
-       assert(!lg->inmemory);
+       assert(!lg->inmemory && !LOG_DISABLED(lg));
 #ifndef WIN32
        lng p;
        p = (lng) getfilepos(getFile(lg->log));
@@ -3086,7 +3091,7 @@ log_tend(logger *lg)
                                   lg->snapshots_tid, NULL, NULL, 
lg->dsnapshots, NULL, lg->debug);
                BBPunfix(bids->batCacheid);
        }
-       if (lg->inmemory)
+       if (LOG_DISABLED(lg) || lg->inmemory)
                return GDK_SUCCEED;
        l.flag = LOG_END;
        l.tid = lg->tid;
@@ -3108,7 +3113,7 @@ log_abort(logger *lg)
 {
        logformat l;
 
-       if (lg->inmemory)
+       if (LOG_DISABLED(lg) || lg->inmemory)
                return GDK_SUCCEED;
        if (lg->debug & 1)
                fprintf(stderr, "#log_abort %d\n", lg->tid);
@@ -3128,7 +3133,7 @@ log_sequence_(logger *lg, int seq, lng v
 {
        logformat l;
 
-       if (lg->inmemory)
+       if (LOG_DISABLED(lg) || lg->inmemory)
                return GDK_SUCCEED;
        l.flag = LOG_SEQ;
        l.tid = lg->tid;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to