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

Reply via email to