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]