Changeset: ffeb48d21d52 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ffeb48d21d52
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk_logger.c
        gdk/gdk_logger.h
        sql/storage/bat/bat_logger.c
Branch: resource_management
Log Message:

The logger doesn't use an allocator.


diffs (241 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -553,17 +553,17 @@ gdk_return log_bat_persists(logger *lg, 
 gdk_return log_bat_transient(logger *lg, log_id id);
 lng log_changes(logger *lg);
 gdk_return log_constant(logger *lg, int type, const void *val, log_id id, lng 
offset, lng cnt, lng total_cnt);
-logger *log_create(allocator *ma, int debug, const char *fn, const char 
*logdir, int version, preversionfix_fptr prefuncp, postversionfix_fptr 
postfuncp, void *funcdata);
+logger *log_create(int debug, const char *fn, const char *logdir, int version, 
preversionfix_fptr prefuncp, postversionfix_fptr postfuncp, void *funcdata);
 gdk_return log_delta(logger *lg, BAT *uid, BAT *uval, log_id id);
 void log_destroy(logger *lg);
 log_bid log_find_bat(logger *lg, log_id id);
-gdk_return log_flush(allocator *ma, logger *lg, ulng saved_id);
+gdk_return log_flush(logger *lg, ulng saved_id);
 void log_printinfo(logger *lg);
 int log_sequence(logger *lg, int seq, lng *id);
 gdk_return log_tend(logger *lg);
 gdk_return log_tflush(logger *lg, ulng log_file_id, ulng commit_ts);
 gdk_return log_tsequence(logger *lg, int seq, lng id);
-gdk_return log_tstart(allocator *ma, logger *lg, bool flushnow, ulng 
*log_file_id);
+gdk_return log_tstart(logger *lg, bool flushnow, ulng *log_file_id);
 ATOMIC_TYPE lvl_per_component[];
 void *ma_alloc(allocator *sa, size_t sz);
 void ma_close(allocator *sa, const allocator_state *);
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -378,14 +378,13 @@ struct offset {
 };
 
 static log_return
-log_read_updates(allocator *ma, logger *lg, trans *tr, logformat *l, log_id 
id, BAT **cands, bool skip_entry)
+log_read_updates(logger *lg, trans *tr, logformat *l, log_id id, BAT **cands, 
bool skip_entry)
 {
        log_return res = LOG_OK;
        lng nr, pnr;
        bte type_id = -1;
        int tpe;
 
-       (void) ma;
        assert(!lg->inmemory);
        TRC_DEBUG(WAL, "found %d %s", id, l->flag == LOG_UPDATE ? "update" : 
"update_buld");
 
@@ -1401,7 +1400,7 @@ log_open_input(logger *lg, const char *f
 }
 
 static log_return
-log_read_transaction(allocator *ma, logger *lg, BAT *ids_to_omit, uint32_t 
*updated, BUN maxupdated, time_t *t)
+log_read_transaction(logger *lg, BAT *ids_to_omit, uint32_t *updated, BUN 
maxupdated, time_t *t)
 {
        logformat l;
        trans *tr = NULL;
@@ -1544,7 +1543,7 @@ log_read_transaction(allocator *ma, logg
                        if (tr == NULL)
                                err = LOG_EOF;
                        else {
-                               err = log_read_updates(ma, lg, tr, &l, l.id, 
cands ? &cands : NULL, skip_entry);
+                               err = log_read_updates(lg, tr, &l, l.id, cands 
? &cands : NULL, skip_entry);
                        }
                        break;
                case LOG_CREATE:
@@ -1609,7 +1608,7 @@ log_read_transaction(allocator *ma, logg
 }
 
 static gdk_return
-log_readlog(allocator *ma, logger *lg, const char *filename, BAT *ids_to_omit, 
bool *filemissing)
+log_readlog(logger *lg, const char *filename, BAT *ids_to_omit, bool 
*filemissing)
 {
        log_return err = LOG_OK;
        time_t t0;
@@ -1625,7 +1624,7 @@ log_readlog(allocator *ma, logger *lg, c
                GDKtracer_flush_buffer();
        }
        while (err != LOG_EOF && err != LOG_ERR) {
-               err = log_read_transaction(ma, lg, ids_to_omit, NULL, 0, &t0);
+               err = log_read_transaction(lg, ids_to_omit, NULL, 0, &t0);
        }
        log_close_input(lg);
        lg->input_log = NULL;
@@ -1695,7 +1694,7 @@ end:
  * processed in the same sequence.
  */
 static gdk_return
-log_readlogs(allocator *ma, logger *lg, const char *filename)
+log_readlogs(logger *lg, const char *filename)
 {
        gdk_return ret = GDK_FAIL;
        char log_filename[FILENAME_MAX];
@@ -1721,7 +1720,7 @@ log_readlogs(allocator *ma, logger *lg, 
                                GDKerror("Logger filename path is too large\n");
                                goto end;
                        }
-                       res = log_readlog(ma, lg, log_filename, ids_to_omit, 
&filemissing);
+                       res = log_readlog(lg, log_filename, ids_to_omit, 
&filemissing);
                        if (!filemissing) {
                                lg->saved_id++;
                                lg->id++;
@@ -2279,7 +2278,7 @@ clean_bbp(logger *lg)
  * unless running in read-only mode
  * Load data and persist it in the BATs */
 static gdk_return
-log_load(allocator *ma, const char *fn, logger *lg, char 
filename[FILENAME_MAX])
+log_load(const char *fn, logger *lg, char filename[FILENAME_MAX])
 {
        FILE *fp = NULL;
        char bak[FILENAME_MAX];
@@ -2545,7 +2544,7 @@ log_load(allocator *ma, const char *fn, 
        if (readlogs) {
                ulng log_id = lg->saved_id + 1;
                bool earlyexit = GDKgetenv_isyes("process-wal-and-exit");
-               if (log_readlogs(ma, lg, filename) != GDK_SUCCEED) {
+               if (log_readlogs(lg, filename) != GDK_SUCCEED) {
                        goto error;
                }
                if (!earlyexit) {
@@ -2625,7 +2624,7 @@ log_load(allocator *ma, const char *fn, 
 /* Initialize a new logger
  * It will load any data in the logdir and persist it in the BATs*/
 static logger *
-log_new(allocator *ma, int debug, const char *fn, const char *logdir, int 
version, preversionfix_fptr prefuncp,
+log_new(int debug, const char *fn, const char *logdir, int version, 
preversionfix_fptr prefuncp,
        postversionfix_fptr postfuncp, void *funcdata)
 {
        logger *lg;
@@ -2707,7 +2706,7 @@ log_new(allocator *ma, int debug, const 
        MT_lock_init(&lg->flush_lock, "flush_lock");
        MT_cond_init(&lg->excl_flush_cv, "flush_cond");
 
-       if (log_load(ma, fn, lg, filename) == GDK_SUCCEED) {
+       if (log_load(fn, lg, filename) == GDK_SUCCEED) {
                return lg;
        }
        return NULL;
@@ -2798,7 +2797,7 @@ log_destroy(logger *lg)
 
 /* Create a new logger */
 logger *
-log_create(allocator *ma, int debug, const char *fn, const char *logdir, int 
version,
+log_create(int debug, const char *fn, const char *logdir, int version,
           preversionfix_fptr prefuncp, postversionfix_fptr postfuncp,
           void *funcdata)
 {
@@ -2807,7 +2806,7 @@ log_create(allocator *ma, int debug, con
                TRC_INFO_ENDIF(WAL, "Started processing logs %s/%s version 
%d\n", fn, logdir, version);
                GDKtracer_flush_buffer();
        }
-       lg = log_new(ma, debug, fn, logdir, version, prefuncp, postfuncp, 
funcdata);
+       lg = log_new(debug, fn, logdir, version, prefuncp, postfuncp, funcdata);
        if (lg == NULL)
                return NULL;
        TRC_INFO_IF(WAL) {
@@ -2929,7 +2928,7 @@ log_activate(logger *lg)
 }
 
 gdk_return
-log_flush(allocator *ma, logger *lg, ulng ts)
+log_flush(logger *lg, ulng ts)
 {
        logged_range *pending = log_next_logfile(lg, ts);
        ulng lid = pending ? pending->id : 0, olid = lg->saved_id;
@@ -3021,7 +3020,7 @@ log_flush(allocator *ma, logger *lg, uln
                        nupdated = n;
                }
                lg->flushing = true;
-               res = log_read_transaction(ma, lg, NULL, updated, nupdated, 
NULL);
+               res = log_read_transaction(lg, NULL, updated, nupdated, NULL);
                lg->flushing = false;
                log_unlock(lg);
                if (res == LOG_EOF) {
@@ -3852,7 +3851,7 @@ log_find_bat(logger *lg, log_id id)
 
 
 gdk_return
-log_tstart(allocator *ma, logger *lg, bool flushnow, ulng *file_id)
+log_tstart(logger *lg, bool flushnow, ulng *file_id)
 {
        rotation_lock(lg);
        if (flushnow) {
@@ -3879,7 +3878,7 @@ log_tstart(allocator *ma, logger *lg, bo
                rotation_unlock(lg);
 
                if (lg->saved_id + 1 < lg->id)
-                       log_flush(ma, lg, (1ULL << 63));
+                       log_flush(lg, (1ULL << 63));
                lg->flushnow = flushnow;
 
                assert(lg->updated == NULL);
diff --git a/gdk/gdk_logger.h b/gdk/gdk_logger.h
--- a/gdk/gdk_logger.h
+++ b/gdk/gdk_logger.h
@@ -46,9 +46,9 @@ typedef int log_id;
 #define LOG_BATGROUP_ID 5
 #define LOG_BATGROUP_END 6
 
-gdk_export logger *log_create(allocator *ma, int debug, const char *fn, const 
char *logdir, int version, preversionfix_fptr prefuncp, postversionfix_fptr 
postfuncp, void *funcdata);
+gdk_export logger *log_create(int debug, const char *fn, const char *logdir, 
int version, preversionfix_fptr prefuncp, postversionfix_fptr postfuncp, void 
*funcdata);
 gdk_export void log_destroy(logger *lg);
-gdk_export gdk_return log_flush(allocator *ma, logger *lg, ulng saved_id); /* 
try to flush a part of the logs, including the passed saved_id transaction id */
+gdk_export gdk_return log_flush(logger *lg, ulng saved_id); /* try to flush a 
part of the logs, including the passed saved_id transaction id */
 gdk_export gdk_return log_activate(logger *lg); /* when the server has been 
idle, activate logger to make more cleanup possible */
 
 gdk_export lng log_changes(logger *lg);
@@ -69,7 +69,7 @@ gdk_export gdk_return log_bat_group_end(
 /* mark end of batgroup insert or clear */
 //gdk_export gdk_return log_batgroup_end(logger *lg, oid id);
 
-gdk_export gdk_return log_tstart(allocator *ma, logger *lg, bool flushnow, 
ulng *log_file_id);
+gdk_export gdk_return log_tstart(logger *lg, bool flushnow, ulng *log_file_id);
 gdk_export gdk_return log_tend(logger *lg);
 gdk_export gdk_return log_tflush(logger *lg, ulng log_file_id, ulng 
commit_ts); /* Flush the WAL to disk using group commit */
 
diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -966,7 +966,7 @@ bl_create(sqlstore *store, int debug, co
        if (store->logger)
                return LOG_ERR;
        allocator_state ta_state = ma_open(store->ta);
-       store->logger = log_create(store->ta, debug, "sql", logdir, 
cat_version, (preversionfix_fptr)&bl_preversion, 
(postversionfix_fptr)&bl_postversion, store);
+       store->logger = log_create(debug, "sql", logdir, cat_version, 
(preversionfix_fptr)&bl_preversion, (postversionfix_fptr)&bl_postversion, 
store);
        ma_close(store->ta, &ta_state);
        if (store->logger)
                return LOG_OK;
@@ -987,7 +987,7 @@ static int
 bl_flush(sqlstore *store, lng save_id)
 {
        if (store->logger) {
-               int res = log_flush(store->ta, store->logger, save_id) == 
GDK_SUCCEED ? LOG_OK : LOG_ERR;
+               int res = log_flush(store->logger, save_id) == GDK_SUCCEED ? 
LOG_OK : LOG_ERR;
                ma_reset(store->ta);
                return res;
        }
@@ -1027,7 +1027,7 @@ bl_log_isnew(sqlstore *store)
 static int
 bl_tstart(sqlstore *store, bool flush, ulng *log_file_id)
 {
-       return log_tstart(store->ta, store->logger, flush, log_file_id) == 
GDK_SUCCEED ? LOG_OK : LOG_ERR;
+       return log_tstart(store->logger, flush, log_file_id) == GDK_SUCCEED ? 
LOG_OK : LOG_ERR;
 }
 
 static int
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to