Changeset: 954183fd109b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=954183fd109b Added Files: geom/BugTracker/Tests/copy_into_mbr.3492.modules geom/BugTracker/Tests/copy_into_mbr.3492.sql geom/BugTracker/Tests/copy_into_mbr.3492.stable.err geom/BugTracker/Tests/copy_into_mbr.3492.stable.out Modified Files: MonetDB.spec clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/control.R clients/R/MonetDB.R/R/monetdb.R clients/R/MonetDB.R/src/mapi.c clients/Tests/exports.stable.out clients/odbc/driver/ODBCConvert.c clients/odbc/driver/ODBCUtil.h gdk/gdk_logger.c gdk/gdk_logger.h gdk/gdk_sample.c gdk/gdk_unique.c geom/BugTracker/Tests/All geom/monetdb5/geom.c monetdb5/mal/mal_import.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/json.mal monetdb5/optimizer/opt_centipede.c monetdb5/optimizer/opt_pushselect.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statistics.c sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/22-plan.stable.out sql/common/sql_types.c sql/scripts/40_json.sql sql/storage/bat/bat_logger.c sql/storage/store.c sql/test/BugTracker/Tests/between_with_column.SF-1959410.stable.err sql/test/centipede/Tests/olap.stable.out sql/test/json/Tests/aggregate01.sql sql/test/json/Tests/aggregate01.stable.out sql/test/pg_regress/Tests/All sql/test/pg_regress/Tests/aggregates.stable.err sql/test/pg_regress/Tests/aggregates.stable.out sql/test/pg_regress/Tests/alter_table.sql sql/test/pg_regress/Tests/alter_table.stable.err sql/test/pg_regress/Tests/alter_table.stable.out sql/test/pg_regress/Tests/arrays.sql sql/test/pg_regress/Tests/arrays.stable.err sql/test/pg_regress/Tests/arrays.stable.out sql/test/pg_regress/Tests/bit.stable.err sql/test/pg_regress/Tests/bit.stable.out sql/test/pg_regress/Tests/boolean.sql sql/test/pg_regress/Tests/boolean.stable.err sql/test/pg_regress/Tests/boolean.stable.out sql/test/pg_regress/Tests/box.stable.err sql/test/pg_regress/Tests/box.stable.out sql/test/pg_regress/Tests/btree_index.stable.err sql/test/pg_regress/Tests/btree_index.stable.out sql/test/pg_regress/Tests/case.stable.err sql/test/pg_regress/Tests/case.stable.out sql/test/pg_regress/Tests/char.stable.err sql/test/pg_regress/Tests/char.stable.out sql/test/pg_regress/Tests/circle.stable.err sql/test/pg_regress/Tests/circle.stable.out sql/test/pg_regress/Tests/cluster.sql sql/test/pg_regress/Tests/cluster.stable.err sql/test/pg_regress/Tests/cluster.stable.out sql/test/pg_regress/Tests/comments.stable.err sql/test/pg_regress/Tests/comments.stable.out sql/test/pg_regress/Tests/conversion.stable.err sql/test/pg_regress/Tests/conversion.stable.out sql/test/pg_regress/Tests/copy2.stable.err sql/test/pg_regress/Tests/copy2.stable.out sql/test/pg_regress/Tests/create_aggregate.stable.err sql/test/pg_regress/Tests/create_aggregate.stable.out sql/test/pg_regress/Tests/create_index.stable.err sql/test/pg_regress/Tests/create_index.stable.out sql/test/pg_regress/Tests/create_misc.stable.err sql/test/pg_regress/Tests/create_misc.stable.out sql/test/pg_regress/Tests/create_operator.stable.err sql/test/pg_regress/Tests/create_operator.stable.out sql/test/pg_regress/Tests/create_table.sql sql/test/pg_regress/Tests/create_table.stable.err sql/test/pg_regress/Tests/create_table.stable.out sql/test/pg_regress/Tests/create_type.stable.err sql/test/pg_regress/Tests/create_type.stable.out sql/test/pg_regress/Tests/create_view.stable.err sql/test/pg_regress/Tests/create_view.stable.out sql/test/pg_regress/Tests/date.stable.err sql/test/pg_regress/Tests/date.stable.out sql/test/pg_regress/Tests/domain.stable.err sql/test/pg_regress/Tests/domain.stable.out sql/test/pg_regress/Tests/drop.stable.err sql/test/pg_regress/Tests/drop.stable.out sql/test/pg_regress/Tests/errors.stable.err sql/test/pg_regress/Tests/errors.stable.out sql/test/pg_regress/Tests/float4.stable.err sql/test/pg_regress/Tests/float4.stable.out sql/test/pg_regress/Tests/float8.stable.err sql/test/pg_regress/Tests/float8.stable.out sql/test/pg_regress/Tests/foreign_key.sql sql/test/pg_regress/Tests/foreign_key.stable.err sql/test/pg_regress/Tests/foreign_key.stable.out sql/test/pg_regress/Tests/geometry.stable.err sql/test/pg_regress/Tests/geometry.stable.out sql/test/pg_regress/Tests/hash_index.stable.err sql/test/pg_regress/Tests/hash_index.stable.out sql/test/pg_regress/Tests/horology.stable.err sql/test/pg_regress/Tests/horology.stable.out sql/test/pg_regress/Tests/inet.stable.err sql/test/pg_regress/Tests/inet.stable.out sql/test/pg_regress/Tests/inherit.sql sql/test/pg_regress/Tests/inherit.stable.err sql/test/pg_regress/Tests/inherit.stable.out sql/test/pg_regress/Tests/insert.stable.err sql/test/pg_regress/Tests/insert.stable.out sql/test/pg_regress/Tests/int2.stable.err sql/test/pg_regress/Tests/int2.stable.out sql/test/pg_regress/Tests/int4.stable.err sql/test/pg_regress/Tests/int4.stable.out sql/test/pg_regress/Tests/int8.stable.err sql/test/pg_regress/Tests/int8.stable.out sql/test/pg_regress/Tests/interval.stable.err sql/test/pg_regress/Tests/interval.stable.out sql/test/pg_regress/Tests/join.stable.err sql/test/pg_regress/Tests/join.stable.out sql/test/pg_regress/Tests/limit.stable.err sql/test/pg_regress/Tests/limit.stable.out sql/test/pg_regress/Tests/load.SQL.bat sql/test/pg_regress/Tests/load.SQL.sh sql/test/pg_regress/Tests/lseg.stable.err sql/test/pg_regress/Tests/lseg.stable.out sql/test/pg_regress/Tests/mule_internal.stable.err sql/test/pg_regress/Tests/mule_internal.stable.out sql/test/pg_regress/Tests/name.stable.err sql/test/pg_regress/Tests/name.stable.out sql/test/pg_regress/Tests/namespace.stable.err sql/test/pg_regress/Tests/namespace.stable.out sql/test/pg_regress/Tests/numeric.stable.err sql/test/pg_regress/Tests/numeric.stable.out sql/test/pg_regress/Tests/numeric_big.stable.err sql/test/pg_regress/Tests/numeric_big.stable.out sql/test/pg_regress/Tests/numerology.stable.err sql/test/pg_regress/Tests/numerology.stable.out sql/test/pg_regress/Tests/oid.stable.err sql/test/pg_regress/Tests/oid.stable.out sql/test/pg_regress/Tests/oidjoins.stable.err sql/test/pg_regress/Tests/oidjoins.stable.out sql/test/pg_regress/Tests/opr_sanity.stable.err sql/test/pg_regress/Tests/opr_sanity.stable.out sql/test/pg_regress/Tests/path.stable.err sql/test/pg_regress/Tests/path.stable.out sql/test/pg_regress/Tests/plpgsql.sql sql/test/pg_regress/Tests/plpgsql.stable.err sql/test/pg_regress/Tests/plpgsql.stable.out sql/test/pg_regress/Tests/point.stable.err sql/test/pg_regress/Tests/point.stable.out sql/test/pg_regress/Tests/polygon.stable.err sql/test/pg_regress/Tests/polygon.stable.out sql/test/pg_regress/Tests/polymorphism.stable.err sql/test/pg_regress/Tests/polymorphism.stable.out sql/test/pg_regress/Tests/portals.stable.err sql/test/pg_regress/Tests/portals.stable.out sql/test/pg_regress/Tests/portals_p2.stable.err sql/test/pg_regress/Tests/portals_p2.stable.out sql/test/pg_regress/Tests/prepare.stable.err sql/test/pg_regress/Tests/prepare.stable.out sql/test/pg_regress/Tests/privileges.stable.err sql/test/pg_regress/Tests/privileges.stable.out sql/test/pg_regress/Tests/random.stable.err sql/test/pg_regress/Tests/random.stable.out sql/test/pg_regress/Tests/rangefuncs.stable.err sql/test/pg_regress/Tests/rangefuncs.stable.out sql/test/pg_regress/Tests/reltime.stable.err sql/test/pg_regress/Tests/reltime.stable.out sql/test/pg_regress/Tests/rowtypes.stable.err sql/test/pg_regress/Tests/rowtypes.stable.out sql/test/pg_regress/Tests/rules.sql sql/test/pg_regress/Tests/rules.stable.err sql/test/pg_regress/Tests/rules.stable.out sql/test/pg_regress/Tests/sanity_check.stable.err sql/test/pg_regress/Tests/sanity_check.stable.out sql/test/pg_regress/Tests/select.stable.err sql/test/pg_regress/Tests/select.stable.out sql/test/pg_regress/Tests/select_distinct.stable.err sql/test/pg_regress/Tests/select_distinct.stable.out sql/test/pg_regress/Tests/select_distinct_on.stable.err sql/test/pg_regress/Tests/select_distinct_on.stable.out sql/test/pg_regress/Tests/select_having.stable.err sql/test/pg_regress/Tests/select_having.stable.out sql/test/pg_regress/Tests/select_implicit.stable.err sql/test/pg_regress/Tests/select_implicit.stable.out sql/test/pg_regress/Tests/select_into.stable.err sql/test/pg_regress/Tests/select_into.stable.out sql/test/pg_regress/Tests/select_views.stable.err sql/test/pg_regress/Tests/select_views.stable.out sql/test/pg_regress/Tests/sequence.stable.err sql/test/pg_regress/Tests/sequence.stable.out sql/test/pg_regress/Tests/sql_ascii.sql sql/test/pg_regress/Tests/sql_ascii.stable.err sql/test/pg_regress/Tests/sql_ascii.stable.out sql/test/pg_regress/Tests/stats.stable.err sql/test/pg_regress/Tests/stats.stable.out sql/test/pg_regress/Tests/strings.sql sql/test/pg_regress/Tests/strings.stable.err sql/test/pg_regress/Tests/strings.stable.out sql/test/pg_regress/Tests/strings_cast.stable.err sql/test/pg_regress/Tests/strings_cast.stable.out sql/test/pg_regress/Tests/strings_concat.stable.err sql/test/pg_regress/Tests/strings_concat.stable.out sql/test/pg_regress/Tests/strings_like.stable.out sql/test/pg_regress/Tests/subselect.stable.err sql/test/pg_regress/Tests/subselect.stable.out sql/test/pg_regress/Tests/temp.stable.err sql/test/pg_regress/Tests/temp.stable.out sql/test/pg_regress/Tests/text.sql sql/test/pg_regress/Tests/text.stable.err sql/test/pg_regress/Tests/text.stable.out sql/test/pg_regress/Tests/time.stable.err sql/test/pg_regress/Tests/time.stable.out sql/test/pg_regress/Tests/timestamp.stable.err sql/test/pg_regress/Tests/timestamp.stable.out sql/test/pg_regress/Tests/timestamptz.stable.err sql/test/pg_regress/Tests/timestamptz.stable.out sql/test/pg_regress/Tests/timetz.stable.err sql/test/pg_regress/Tests/timetz.stable.out sql/test/pg_regress/Tests/tinterval.stable.err sql/test/pg_regress/Tests/tinterval.stable.out sql/test/pg_regress/Tests/transactions.stable.err sql/test/pg_regress/Tests/transactions.stable.out sql/test/pg_regress/Tests/triggers.stable.err sql/test/pg_regress/Tests/triggers.stable.out sql/test/pg_regress/Tests/truncate.stable.err sql/test/pg_regress/Tests/truncate.stable.out sql/test/pg_regress/Tests/type_sanity.stable.err sql/test/pg_regress/Tests/type_sanity.stable.out sql/test/pg_regress/Tests/union.stable.err sql/test/pg_regress/Tests/union.stable.out sql/test/pg_regress/Tests/update.stable.err sql/test/pg_regress/Tests/update.stable.out sql/test/pg_regress/Tests/vacuum.stable.err sql/test/pg_regress/Tests/vacuum.stable.out sql/test/pg_regress/Tests/varchar.stable.err sql/test/pg_regress/Tests/varchar.stable.out sql/test/pg_regress/Tests/without_oid.stable.err sql/test/pg_regress/Tests/without_oid.stable.out sql/test/pg_regress/postgresql2sql99.sh Branch: generator Log Message:
Merge with default branch. diffs (truncated from 82957 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -501,12 +501,13 @@ fi # %exclude %{_libdir}/monetdb5/rdf.mal %exclude %{_libdir}/monetdb5/sql.mal %{_libdir}/monetdb5/*.mal -# %{_libdir}/monetdb5/autoload/*_fits.mal -%{_libdir}/monetdb5/autoload/*_generator.mal -%{_libdir}/monetdb5/autoload/*_lsst.mal -%{_libdir}/monetdb5/autoload/*_opt_sql_append.mal -%{_libdir}/monetdb5/autoload/*_udf.mal -%{_libdir}/monetdb5/autoload/*_vault.mal +%if %{?with_geos:1}%{!?with_geos:0} +%exclude %{_libdir}/monetdb5/autoload/*_geom.mal +%endif +%exclude %{_libdir}/monetdb5/autoload/*_gsl.mal +# %exclude %{_libdir}/monetdb5/autoload/*_rdf.mal +%exclude %{_libdir}/monetdb5/autoload/*_sql.mal +%{_libdir}/monetdb5/autoload/*.mal %if %{?with_geos:1}%{!?with_geos:0} %exclude %{_libdir}/monetdb5/lib_geom.so %endif diff --git a/clients/R/MonetDB.R/DESCRIPTION b/clients/R/MonetDB.R/DESCRIPTION --- a/clients/R/MonetDB.R/DESCRIPTION +++ b/clients/R/MonetDB.R/DESCRIPTION @@ -1,6 +1,6 @@ Package: MonetDB.R -Version: 0.9.2 -Date: 2013-04-22 +Version: 0.9.3 +Date: 2013-06-12 Title: Connect MonetDB to R Authors@R: c(person("Hannes Muehleisen", role = c("aut", "cre"),email = "han...@cwi.nl"), person("Thomas Lumley", role = "ctb"), diff --git a/clients/R/MonetDB.R/NEWS b/clients/R/MonetDB.R/NEWS --- a/clients/R/MonetDB.R/NEWS +++ b/clients/R/MonetDB.R/NEWS @@ -1,3 +1,7 @@ +0.9.3 +- Remove trailing slashes for monetdb.program.path parameter for monetdb.server.setup (Thanks, Anthony!) +- fixed monetdbd.liststatus (Thanks, Bart) + 0.9.2 - monetdb_queryinfo method to find out things about an arbitrary query cheaply - new options monetdb.sequential, monetdb.debug.query and monetdb.debug.mapi diff --git a/clients/R/MonetDB.R/R/control.R b/clients/R/MonetDB.R/R/control.R --- a/clients/R/MonetDB.R/R/control.R +++ b/clients/R/MonetDB.R/R/control.R @@ -114,6 +114,8 @@ monetdb.server.setup <- # switch all slashes to match windows monetdb.program.path <- normalizePath( monetdb.program.path , mustWork = FALSE ) + # remove trailing slash from paths, otherwise the server won't start + monetdb.program.path <- gsub("\\\\$|/$", "", monetdb.program.path) database.directory <- normalizePath( database.directory , mustWork = FALSE ) # if the database directory does not exist, print that it's being created @@ -234,7 +236,8 @@ monetdbd.liststatus <- monetdb.liststatu lines <- lines[grepl("^=sabdb:2:", lines)] # make sure we get a db list here, protocol v.2 lines <- sub("=sabdb:2:", "", lines, fixed=T) # convert value into propert types etc - dbdf <- as.data.frame(do.call("rbind", strsplit(lines, ", ", fixed=T)), stringsAsFactors=F) + dbdf <- as.data.frame(do.call("rbind", strsplit(lines, ",", fixed=T)), stringsAsFactors=F) + names(dbdf) <- c("dbname", "uri", "locked", "state", "scenarios", "startCounter", "stopCounter", "crashCounter", "avgUptime", "maxUptime", "minUptime", "lastCrash", "lastStart", "lastStop", "crashAvg1", "crashAvg10", "crashAvg30") @@ -266,4 +269,4 @@ monetdbd.liststatus <- monetdb.liststatu dbdf$scenarios <- gsub("'", ", ", dbdf$scenarios, fixed=T) return(dbdf[order(dbdf$dbname), ]) -} \ No newline at end of file +} diff --git a/clients/R/MonetDB.R/R/monetdb.R b/clients/R/MonetDB.R/R/monetdb.R --- a/clients/R/MonetDB.R/R/monetdb.R +++ b/clients/R/MonetDB.R/R/monetdb.R @@ -21,7 +21,7 @@ MonetR <- MonetDB <- MonetDBR <- MonetDB setMethod("dbGetInfo", "MonetDBDriver", def=function(dbObj, ...) list(name="MonetDBDriver", - driver.version="0.9.2", + driver.version="0.9.3", DBI.version="0.2-7", client.version=NA, max.connections=NA) diff --git a/clients/R/MonetDB.R/src/mapi.c b/clients/R/MonetDB.R/src/mapi.c --- a/clients/R/MonetDB.R/src/mapi.c +++ b/clients/R/MonetDB.R/src/mapi.c @@ -257,8 +257,8 @@ SEXP mapiRead(SEXP conn) { while (response_buf_offset + block_length > response_buf_len) { response_buf_len += ALLOCSIZE; if (DEBUG) { - printf("II: Reallocating memory, new size "SZFMT"\n", - response_buf_len); + printf("II: Reallocating memory, new size %lu\n", + (unsigned long) response_buf_len); } response_buf = realloc(response_buf, response_buf_len); if (response_buf == NULL) { 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 @@ -428,7 +428,7 @@ int log_sequence(logger *lg, int seq, ln int log_tend(logger *lg); int log_tstart(logger *lg); log_bid logger_add_bat(logger *lg, BAT *b, char *name); -size_t logger_changes(logger *lg); +lng logger_changes(logger *lg); int logger_cleanup(logger *lg); logger *logger_create(int debug, char *fn, char *logdir, int version, preversionfix_fptr prefuncp, postversionfix_fptr postfuncp); void logger_del_bat(logger *lg, log_bid bid); diff --git a/clients/odbc/driver/ODBCConvert.c b/clients/odbc/driver/ODBCConvert.c --- a/clients/odbc/driver/ODBCConvert.c +++ b/clients/odbc/driver/ODBCConvert.c @@ -2880,6 +2880,13 @@ ODBCStore(ODBCStmt *stmt, case SQL_C_WCHAR: slen = strlen_or_ind_ptr ? *strlen_or_ind_ptr : SQL_NTS; fixWcharIn((SQLWCHAR *) ptr, slen, char, sval, addStmtError, stmt, return SQL_ERROR); + if (sval == NULL) { + sval = strdup(""); + if (sval == NULL) { + addStmtError(stmt, "HY001", NULL, 0); + return SQL_ERROR; + } + } slen = strlen(sval); break; case SQL_C_BIT: diff --git a/clients/odbc/driver/ODBCUtil.h b/clients/odbc/driver/ODBCUtil.h --- a/clients/odbc/driver/ODBCUtil.h +++ b/clients/odbc/driver/ODBCUtil.h @@ -110,10 +110,6 @@ extern char *ODBCutf82wchar(const SQLCHA do { \ char *e; \ (s) = (t *) ODBCwchar2utf8((ws), (wsl), &e); \ - if ((s) == NULL) { \ - errfunc((hdl), "HY001", NULL, 0); \ - exit; \ - } \ if (e) { \ /* General error */ \ errfunc((hdl), \ diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -108,7 +108,7 @@ static char *log_commands[] = { typedef struct logformat_t { char flag; int tid; - int nr; + lng nr; } logformat; #define LOGFILE "log" @@ -138,10 +138,24 @@ logbat_new(int tt, BUN size) } static int +log_read_format_old(logger *l, logformat *data) +{ + int nr = 0; + int ok = mnstr_read(l->log, &data->flag, 1, 1) == 1 && + mnstr_readInt(l->log, &nr) == 1 && + mnstr_readInt(l->log, &data->tid) == 1; + data->nr = nr; + return ok; +} + +static int log_read_format(logger *l, logformat *data) { + if (l->postfuncp) /* we need to convert from the old logformat, + needs to be removed once we released Aug2014 */ + return log_read_format_old(l, data); return mnstr_read(l->log, &data->flag, 1, 1) == 1 && - mnstr_readInt(l->log, &data->nr) == 1 && + mnstr_readLng(l->log, &data->nr) == 1 && mnstr_readInt(l->log, &data->tid) == 1; } @@ -149,7 +163,7 @@ static int log_write_format(logger *l, logformat *data) { if (mnstr_write(l->log, &data->flag, 1, 1) == 1 && - mnstr_writeInt(l->log, data->nr) && + mnstr_writeLng(l->log, data->nr) && mnstr_writeInt(l->log, data->tid)) return LOG_OK; fprintf(stderr, "!ERROR: log_write_format: write failed\n"); @@ -246,7 +260,7 @@ la_bat_clear(logger *lg, logaction *la) static int log_read_seq(logger *lg, logformat *l) { - int seq = l->nr; + lng seq = l->nr; lng val; BUN p; @@ -273,7 +287,7 @@ log_read_updates(logger *lg, trans *tr, int ht = -1, tt = -1, hseq = 0, tseq = 0; if (lg->debug & 1) - fprintf(stderr, "#logger found log_read_updates %s %s %d\n", name, l->flag == LOG_INSERT ? "insert" : l->flag == LOG_DELETE ? "delete" : "update", l->nr); + fprintf(stderr, "#logger found log_read_updates %s %s " LLFMT "\n", name, l->flag == LOG_INSERT ? "insert" : l->flag == LOG_DELETE ? "delete" : "update", l->nr); if (b) { ht = b->htype; @@ -310,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); @@ -578,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; @@ -806,7 +822,7 @@ logger_readlog(logger *lg, char *filenam fprintf(stderr, "%s", log_commands[(int) l.flag]); else fprintf(stderr, "%d", l.flag); - fprintf(stderr, " %d %d", l.tid, l.nr); + fprintf(stderr, " %d " LLFMT, l.tid, l.nr); if (name) fprintf(stderr, " %s", name); fprintf(stderr, "\n"); @@ -816,9 +832,10 @@ 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; - tr = tr_create(tr, 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); break; @@ -1637,7 +1654,7 @@ logger_cleanup(logger *lg) return LOG_OK; } -size_t +lng logger_changes(logger *lg) { return lg->changes; @@ -1757,7 +1774,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 */ @@ -1765,9 +1781,7 @@ log_delta(logger *lg, BAT *b, char *name } l.tid = lg->tid; - nr = (BUNlast(b) - BUNfirst(b)); - assert(nr <= GDK_int_max); - l.nr = (int) nr; + l.nr = (BUNlast(b) - BUNfirst(b)); lg->changes += l.nr; if (l.nr) { @@ -1789,7 +1803,7 @@ log_delta(logger *lg, BAT *b, char *name } if (lg->debug & 1) - fprintf(stderr, "#Logged %s %d inserts\n", name, l.nr); + fprintf(stderr, "#Logged %s " LLFMT " inserts\n", name, l.nr); } if (ok == GDK_FAIL) fprintf(stderr, "!ERROR: log_delta: write failed\n"); @@ -1809,7 +1823,7 @@ log_bat(logger *lg, BAT *b, char *name) } l.tid = lg->tid; - l.nr = (int) (BUNlast(b) - b->batInserted); + l.nr = (BUNlast(b) - b->batInserted); lg->changes += l.nr; if (l.nr) { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list