Changeset: 6d27652b55ca for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6d27652b55ca Modified Files: gdk/gdk_logger.c monetdb5/mal/mal_import.c sql/backends/monet5/sql_statistics.c Branch: transaction-replication Log Message:
Merge with default branch. diffs (148 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -324,7 +324,8 @@ log_read_updates(logger *lg, trans *tr, if (tt == TYPE_oid && lg->read32bitoid) rt = BATatoms[TYPE_int].atomRead; #endif - r = BATnew(ht, tt, l->nr); + assert(l->nr <= (lng) BUN_MAX); + r = BATnew(ht, tt, (BUN) l->nr); if (hseq) BATseqbase(r, 0); @@ -592,10 +593,11 @@ log_read_use(logger *lg, trans *tr, logf static void la_bat_use(logger *lg, logaction *la) { - log_bid bid = la->nr; + log_bid bid = (log_bid) la->nr; BAT *b = BATdescriptor(bid); BUN p; + assert(la->nr <= (lng) INT_MAX); if (!b) { GDKerror("logger: could not use bat (%d) for %s\n", (int) bid, la->name); return; @@ -830,8 +832,9 @@ logger_readlog(logger *lg, char *filenam tr = tr_find(tr, l.tid); switch (l.flag) { case LOG_START: + assert(l.nr <= (lng) INT_MAX); if (l.nr > lg->tid) - lg->tid = l.nr; + lg->tid = (int)l.nr; tr = tr_create(tr, (int)l.nr); if (lg->debug & 1) fprintf(stderr, "#logger tstart %d\n", tr->tid); @@ -1883,7 +1886,6 @@ log_delta(logger *lg, BAT *b, char *name int ok = GDK_SUCCEED; logformat l; BUN p; - BUN nr; if (lg->debug & 128) { /* logging is switched off */ @@ -1891,10 +1893,8 @@ log_delta(logger *lg, BAT *b, char *name } l.tid = lg->tid; - nr = (BUNlast(b) - BUNfirst(b)); - assert(nr <= GDK_lng_max); - l.nr = nr; - lg->changes += l.nr; + l.nr = (BUNlast(b) - BUNfirst(b)); + lg->changes += (size_t)l.nr; if (l.nr) { BATiter bi = bat_iterator(b); @@ -1936,7 +1936,7 @@ log_bat(logger *lg, BAT *b, char *name) l.tid = lg->tid; l.nr = (BUNlast(b) - b->batInserted); - lg->changes += l.nr; + lg->changes += (size_t)l.nr; if (l.nr) { BATiter bi = bat_iterator(b); @@ -1954,7 +1954,7 @@ log_bat(logger *lg, BAT *b, char *name) !isVIEW(b)) { const void *t = BUNtail(bi, b->batInserted); - ok = wt(t, lg->log, l.nr); + ok = wt(t, lg->log, (size_t)l.nr); } else { for (p = b->batInserted; p < BUNlast(b) && ok == GDK_SUCCEED; p++) { const void *h = BUNhead(bi, p); @@ -1969,7 +1969,7 @@ log_bat(logger *lg, BAT *b, char *name) fprintf(stderr, "#Logged %s " LLFMT " inserts\n", name, l.nr); } l.nr = (b->batFirst - b->batDeleted); - lg->changes += l.nr; + lg->changes += (size_t)l.nr; if (l.nr && ok == GDK_SUCCEED) { BATiter bi = bat_iterator(b); @@ -2009,7 +2009,7 @@ log_bat_clear(logger *lg, char *name) l.nr = 1; l.tid = lg->tid; - lg->changes += l.nr; + lg->changes += (size_t)l.nr; l.flag = LOG_CLEAR; if (log_write_format(lg, &l) == LOG_ERR || diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c --- a/monetdb5/mal/mal_import.c +++ b/monetdb5/mal/mal_import.c @@ -262,8 +262,8 @@ evalFile(Client c, str fname, int listin while ((p = strchr(filename, PATH_SEP)) != NULL) { *p = '\0'; fd = malOpenSource(filename); - if (mnstr_errnr(fd) == MNSTR_OPEN_ERROR) { - mnstr_destroy(fd); + if (fd == 0 || mnstr_errnr(fd) == MNSTR_OPEN_ERROR) { + if(fd) mnstr_destroy(fd); mnstr_printf(c->fdout, "#WARNING: could not open file: %s\n", filename); } else { @@ -277,10 +277,9 @@ evalFile(Client c, str fname, int listin filename = p + 1; } fd = malOpenSource(filename); - if (mnstr_errnr(fd) == MNSTR_OPEN_ERROR) { - mnstr_destroy(fd); - mnstr_printf(c->fdout, "#WARNING: could not open file: %s\n", - filename); + if (fd == 0 || mnstr_errnr(fd) == MNSTR_OPEN_ERROR) { + if( fd == 0) mnstr_destroy(fd); + msg = createException(MAL,"mal.eval", "WARNING: could not open file: %s\n", filename); } else { c->srcFile = filename; c->yycur = 0; diff --git a/sql/backends/monet5/sql_statistics.c b/sql/backends/monet5/sql_statistics.c --- a/sql/backends/monet5/sql_statistics.c +++ b/sql/backends/monet5/sql_statistics.c @@ -111,17 +111,15 @@ sql_analyze(Client cntxt, MalBlkPtr mb, bsample = NULL; br = BATsubselect(bn, bsample, ATOMnilptr(bn->ttype), ATOMnilptr(bn->ttype), 0, 0, 0); nils = BATcount(br); - BBPunfix(br->batCacheid); - if (bn->tkey) + if (br->tkey) uniq = sz; else { - br = BATkunique(BATmirror(bsample)); - uniq = BATcount(br); - BBPunfix(br->batCacheid); + br = BATkunique(BATmirror(br)); + uniq = br? BATcount(br):0; } - if (samplesize > 0) { + BBPunfix(br->batCacheid); + if( bsample) BBPunfix(bsample->batCacheid); - } sorted = BATtordered(bn); // Gather the min/max value for builtin types _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list