Changeset: b652f284f7a3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b652f284f7a3 Added Files: sql/test/BugTracker-2014/Tests/oid-table-assert.Bug-3514.sql sql/test/BugTracker-2014/Tests/oid-table-assert.Bug-3514.stable.err sql/test/BugTracker-2014/Tests/oid-table-assert.Bug-3514.stable.out sql/test/BugTracker-2014/Tests/round-properties.Bug-3515.sql sql/test/BugTracker-2014/Tests/round-properties.Bug-3515.stable.err sql/test/BugTracker-2014/Tests/round-properties.Bug-3515.stable.out Modified Files: .hgtags MonetDB.spec NT/installer32/MonetDB-ODBC-Installer.vdproj NT/installer32/MonetDB5-Geom-Module.vdproj NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB-ODBC-Installer.vdproj NT/installer64/MonetDB5-Geom-Module.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj NT/monetdb_config.h.in NT/rules.msc buildtools/ChangeLog-Archive buildtools/ChangeLog.Jan2014 clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/monetdb.R clients/R/db.tests/monetdb.test.R clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures_gsl.stable.out clients/Tests/MAL-signatures_nocfitsio.stable.out clients/Tests/MAL-signatures_sphinxclient.stable.out clients/Tests/exports.stable.out clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc clients/python2/setup.py clients/python3/setup.py configure.ag debian/changelog gdk/gdk.h gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_join_legacy.c gdk/gdk_logger.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_unique.c gdk/gdk_utils.c gdk/libbat.rc libversions monetdb5/extras/sphinx/sphinx.c monetdb5/mal/Tests/All monetdb5/mal/mal_authorize.c monetdb5/mal/mal_builder.c monetdb5/mal/mal_function.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/array.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/batstr.c monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/cluster.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/sample.c monetdb5/modules/mal/sample.h monetdb5/modules/mal/zorder.c monetdb5/optimizer/opt_wrapper.c monetdb5/tests/gdkTests/Tests/bat_insert.stable.out monetdb5/tests/gdkTests/Tests/reload.stable.out monetdb5/tools/libmonetdb5.rc sql/backends/monet5/datacell/basket.c sql/backends/monet5/sql.c sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_scenario.c sql/benchmarks/ssbm/Tests/01-13.reqtests sql/benchmarks/ssbm/Tests/01-explain.reqtests sql/benchmarks/ssbm/Tests/01-plan.reqtests sql/benchmarks/ssbm/Tests/01.reqtests sql/benchmarks/ssbm/Tests/02-explain.reqtests sql/benchmarks/ssbm/Tests/02-plan.reqtests sql/benchmarks/ssbm/Tests/02.reqtests sql/benchmarks/ssbm/Tests/03-explain.reqtests sql/benchmarks/ssbm/Tests/03-plan.reqtests sql/benchmarks/ssbm/Tests/03.reqtests sql/benchmarks/ssbm/Tests/04-explain.reqtests sql/benchmarks/ssbm/Tests/04-plan.reqtests sql/benchmarks/ssbm/Tests/04.reqtests sql/benchmarks/ssbm/Tests/05-explain.reqtests sql/benchmarks/ssbm/Tests/05-plan.reqtests sql/benchmarks/ssbm/Tests/05.reqtests sql/benchmarks/ssbm/Tests/06-explain.reqtests sql/benchmarks/ssbm/Tests/06-plan.reqtests sql/benchmarks/ssbm/Tests/06.reqtests sql/benchmarks/ssbm/Tests/07-explain.reqtests sql/benchmarks/ssbm/Tests/07-plan.reqtests sql/benchmarks/ssbm/Tests/07.reqtests sql/benchmarks/ssbm/Tests/08-explain.reqtests sql/benchmarks/ssbm/Tests/08-plan.reqtests sql/benchmarks/ssbm/Tests/08.reqtests sql/benchmarks/ssbm/Tests/09-explain.reqtests sql/benchmarks/ssbm/Tests/09-plan.reqtests sql/benchmarks/ssbm/Tests/09.reqtests sql/benchmarks/ssbm/Tests/10-explain.reqtests sql/benchmarks/ssbm/Tests/10-plan.reqtests sql/benchmarks/ssbm/Tests/10.reqtests sql/benchmarks/ssbm/Tests/11-explain.reqtests sql/benchmarks/ssbm/Tests/11-plan.reqtests sql/benchmarks/ssbm/Tests/11.reqtests sql/benchmarks/ssbm/Tests/12-explain.reqtests sql/benchmarks/ssbm/Tests/12-plan.reqtests sql/benchmarks/ssbm/Tests/12.reqtests sql/benchmarks/ssbm/Tests/13-explain.reqtests sql/benchmarks/ssbm/Tests/13-plan.reqtests sql/benchmarks/ssbm/Tests/13.reqtests sql/benchmarks/ssbm/Tests/check1.reqtests sql/benchmarks/ssbm/Tests/load.reqtests sql/storage/bat/bat_logger.c sql/storage/bat/bat_utils.c sql/test/BugTracker-2014/Tests/All sql/test/BugTracker/Tests/rank_over.SF-1691098.sql sql/test/BugTracker/Tests/rank_over.SF-1691098.stable.out sql/test/BugTracker/Tests/with_only_once.SF-1720293.sql sql/test/BugTracker/Tests/with_only_once.SF-1720293.stable.out sql/test/pg_regress/Tests/numeric.sql sql/test/pg_regress/Tests/numeric.stable.err sql/test/pg_regress/Tests/numeric.stable.out sql/test/pg_regress/postgresql2sql99.sh testing/Mtest.py.in vertoo.data Branch: generator Log Message:
Merge with default diffs (truncated from 6128 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -567,3 +567,5 @@ 13e1b24f442791f5ab790fa77453d3bd4e88a9c8 c3051f066a9eea814487dfb0b7cf7070ae16cd21 Jan2014_17 13e1b24f442791f5ab790fa77453d3bd4e88a9c8 Jan2014_SP2_release 389f5f0d4c43ab689e31c28e01b43c8b7ba8de9c Jan2014_SP2_release +dc158ade928d0305f3f0e7ef9613dd81329f613d Jan2014_19 +0218c4ec31068bd1b9be7d2bb1ccad31e17e8d5f Jan2014_SP3_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -45,7 +45,7 @@ Vendor: MonetDB BV <i...@monetdb.org> Group: Applications/Databases License: MPL - http://www.monetdb.org/Legal/MonetDBLicense URL: http://www.monetdb.org/ -Source: http://dev.monetdb.org/downloads/sources/Jan2014-SP2/%{name}-%{version}.tar.bz2 +Source: http://dev.monetdb.org/downloads/sources/Jan2014-SP3/%{name}-%{version}.tar.bz2 BuildRequires: bison BuildRequires: bzip2-devel @@ -802,6 +802,19 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/MonetD rm -fr $RPM_BUILD_ROOT %changelog +* Tue Jul 22 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.19-20140722 +- Rebuilt. +- BZ#3487: dead link to "Professional services" +- BZ#3500: MonetDB driver wants an empty string for SQLTables and + SQLColumns API calls, where other drivers expect NULL +- BZ#3514: mserver5 crash due (assertion failure in gdk_select.c) +- BZ#3515: mserver5 crash due (assertion failure in gdk_bat.c) + +* Tue Jun 3 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.19-20140722 +- buildtools: Fix configure to continue without Python if the python binary is + too old. This instead of always aborting configure if python happens + to be too old. + * Wed May 14 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.17-20140514 - Rebuilt. - BZ#3482: Crossproduct error diff --git a/buildtools/ChangeLog-Archive b/buildtools/ChangeLog-Archive --- a/buildtools/ChangeLog-Archive +++ b/buildtools/ChangeLog-Archive @@ -1,6 +1,11 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Tue Jun 3 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.19-20140722 +- Fix configure to continue without Python if the python binary is + too old. This instead of always aborting configure if python happens + to be too old. + * Wed Apr 30 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.15-20140508 - Lots of minor fixes were made for potential defects found by Coverity Scan. diff --git a/buildtools/ChangeLog.Jan2014 b/buildtools/ChangeLog.Jan2014 --- a/buildtools/ChangeLog.Jan2014 +++ b/buildtools/ChangeLog.Jan2014 @@ -1,8 +1,3 @@ # ChangeLog file for buildtools # This file is updated with Maddlog -* Tue Jun 3 2014 Sjoerd Mullender <sjo...@acm.org> -- Fix configure to continue without Python if the python binary is - too old. This instead of always aborting configure if python happens - to be too old. - 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.4 -Date: 2013-07-14 +Date: 2013-07-18 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,5 +1,6 @@ 0.9.4 - dbWriteTable overhaul (thanks, Anthony) +- Fix for dbListTables for MonetDB versions after Jan2014 0.9.3 - Remove trailing slashes for monetdb.program.path parameter for monetdb.server.setup (Thanks, Anthony!) 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 @@ -149,7 +149,7 @@ setMethod("dbDisconnect", "MonetDBConnec setMethod("dbListTables", "MonetDBConnection", def=function(conn, ..., sys_tables=F, schema_names=F, quote=F) { q <- "select schemas.name as sn, tables.name as tn from tables join schemas on tables.schema_id=schemas.id" - if (!sys_tables) q <- paste0(q, " where system=false") + if (!sys_tables) q <- paste0(q, " where tables.system=false") df <- dbGetQuery(conn, q) if (quote) { df$tn <- paste0("\"", df$tn, "\"") @@ -275,8 +275,8 @@ setMethod("dbSendQuery", signature(conn= # adapted from RMonetDB, very useful... -setMethod("dbWriteTable", "MonetDBConnection", def=function(conn, name, value, overwrite=FALSE, append=FALSE, insert=FALSE, - ...) { +setMethod("dbWriteTable", "MonetDBConnection", def=function(conn, name, value, overwrite=FALSE, + append=FALSE, csvdump=FALSE, ...) { if (is.vector(value) && !is.list(value)) value <- data.frame(x=value) if (length(value)<1) stop("value must have at least one column") if (is.null(names(value))) names(value) <- paste("V", 1:length(value), sep='') @@ -291,8 +291,9 @@ setMethod("dbWriteTable", "MonetDBConnec qname <- make.db.names(conn, name, allow.keywords=FALSE) if (dbExistsTable(conn, name)) { if (overwrite) dbRemoveTable(conn, name) - if (!overwrite && !append) stop("Table '", name, "' already exists. Set overwrite=TRUE if you want to remove - the existing table. Set append=TRUE if you would like to add the new data to the existing table.") + if (!overwrite && !append) stop("Table '", name, "' already exists. Set overwrite=TRUE if you want + to remove the existing table. Set append=TRUE if you would like to add the new data to the + existing table.") } if (!dbExistsTable(conn, name)) { fts <- sapply(value, dbDataType, dbObj=conn) @@ -301,18 +302,24 @@ setMethod("dbWriteTable", "MonetDBConnec dbSendUpdate(conn, ct) } if (length(value[[1]])) { - if (insert) { - inss <- paste("INSERT INTO ", qname, " VALUES (", paste(rep("?", length(value)), collapse=', '), - ")", sep='') - dbTransaction(conn) - for (j in 1:length(value[[1]])) dbSendUpdate(conn, inss, list=as.list(value[j, ])) - dbCommit(conn) - } else { + if (csvdump) { tmp <- tempfile(fileext = ".csv") write.table(value, tmp, sep = ",", quote = TRUE,row.names = FALSE, col.names = FALSE,na="") dbSendQuery(conn, paste0("COPY ",format(nrow(value), scientific=FALSE)," RECORDS INTO ", qname, " FROM '", tmp, "' USING DELIMITERS ',','\\n','\"' NULL AS '' LOCKED")) - file.remove(tmp) + file.remove(tmp) + } else { + vins <- paste("(", paste(rep("?", length(value)), collapse=', '), ")", sep='') + dbTransaction(conn) + # chunk some inserts together so we do not need to do a round trip for every one + splitlen <- 0:(nrow(value)-1) %/% getOption("monetdb.insert.splitsize", 1000) + lapply(split(value, splitlen), + function(valueck) { + bvins <- c() + for (j in 1:length(valueck[[1]])) bvins <- c(bvins,.bindParameters(vins, as.list(valueck[j, ]))) + dbSendUpdate(conn, paste0("INSERT INTO ", qname, " VALUES ",paste0(bvins, collapse=", "))) + }) + dbCommit(conn) } } return(invisible(TRUE)) @@ -324,7 +331,6 @@ setMethod("dbDataType", signature(dbObj= else if (is.integer(obj)) "INTEGER" else if (is.numeric(obj)) "DOUBLE PRECISION" else if (is.raw(obj)) "BLOB" - else "STRING" }, valueClass = "character") diff --git a/clients/R/db.tests/monetdb.test.R b/clients/R/db.tests/monetdb.test.R --- a/clients/R/db.tests/monetdb.test.R +++ b/clients/R/db.tests/monetdb.test.R @@ -1,4 +1,5 @@ options(monetdb.debug.query=T) +options(monetdb.insert.splitsize=10) library(MonetDB.R) diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -32028,12 +32028,24 @@ pattern bat.new(b:bat[:oid,:any_1],size: address CMDBATnewDerived; pattern bat.new(b:bat[:oid,:any_1]):bat[:oid,:any_1] address CMDBATnewDerived; +pattern bat.new_persistent(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm and allocate space. + +pattern bat.new_persistent(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm with sufficient space. + +pattern bat.new_persistent(ht:oid,tt:any_1):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new empty transient BAT in the persistent farm, with head- and tail-types as indicated. + pattern bat.new(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] address CMDBATnew; comment Creates a new BAT and allocate space. pattern bat.new(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] -address CMDBATnewint; +address CMDBATnew; comment Creates a new BAT with sufficient space. pattern bat.new(ht:oid,tt:any_1):bat[:oid,:any_1] diff --git a/clients/Tests/MAL-signatures_gsl.stable.out b/clients/Tests/MAL-signatures_gsl.stable.out --- a/clients/Tests/MAL-signatures_gsl.stable.out +++ b/clients/Tests/MAL-signatures_gsl.stable.out @@ -32040,12 +32040,24 @@ pattern bat.new(b:bat[:oid,:any_1],size: address CMDBATnewDerived; pattern bat.new(b:bat[:oid,:any_1]):bat[:oid,:any_1] address CMDBATnewDerived; +pattern bat.new_persistent(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm and allocate space. + +pattern bat.new_persistent(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm with sufficient space. + +pattern bat.new_persistent(ht:oid,tt:any_1):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new empty transient BAT in the persistent farm, with head- and tail-types as indicated. + pattern bat.new(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] address CMDBATnew; comment Creates a new BAT and allocate space. pattern bat.new(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] -address CMDBATnewint; +address CMDBATnew; comment Creates a new BAT with sufficient space. pattern bat.new(ht:oid,tt:any_1):bat[:oid,:any_1] diff --git a/clients/Tests/MAL-signatures_nocfitsio.stable.out b/clients/Tests/MAL-signatures_nocfitsio.stable.out --- a/clients/Tests/MAL-signatures_nocfitsio.stable.out +++ b/clients/Tests/MAL-signatures_nocfitsio.stable.out @@ -32028,12 +32028,24 @@ pattern bat.new(b:bat[:oid,:any_1],size: address CMDBATnewDerived; pattern bat.new(b:bat[:oid,:any_1]):bat[:oid,:any_1] address CMDBATnewDerived; +pattern bat.new_persistent(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm and allocate space. + +pattern bat.new_persistent(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm with sufficient space. + +pattern bat.new_persistent(ht:oid,tt:any_1):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new empty transient BAT in the persistent farm, with head- and tail-types as indicated. + pattern bat.new(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] address CMDBATnew; comment Creates a new BAT and allocate space. pattern bat.new(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] -address CMDBATnewint; +address CMDBATnew; comment Creates a new BAT with sufficient space. pattern bat.new(ht:oid,tt:any_1):bat[:oid,:any_1] diff --git a/clients/Tests/MAL-signatures_sphinxclient.stable.out b/clients/Tests/MAL-signatures_sphinxclient.stable.out --- a/clients/Tests/MAL-signatures_sphinxclient.stable.out +++ b/clients/Tests/MAL-signatures_sphinxclient.stable.out @@ -32028,12 +32028,24 @@ pattern bat.new(b:bat[:oid,:any_1],size: address CMDBATnewDerived; pattern bat.new(b:bat[:oid,:any_1]):bat[:oid,:any_1] address CMDBATnewDerived; +pattern bat.new_persistent(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm and allocate space. + +pattern bat.new_persistent(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new BAT in the persistent farm with sufficient space. + +pattern bat.new_persistent(ht:oid,tt:any_1):bat[:oid,:any_1] +address CMDBATnew_persistent; +comment Creates a new empty transient BAT in the persistent farm, with head- and tail-types as indicated. + pattern bat.new(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] address CMDBATnew; comment Creates a new BAT and allocate space. pattern bat.new(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] -address CMDBATnewint; +address CMDBATnew; comment Creates a new BAT with sufficient space. pattern bat.new(ht:oid,tt:any_1):bat[:oid,:any_1] 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 @@ -160,7 +160,7 @@ int BATmmap(BAT *b, int hb, int tb, int BAT *BATmode(BAT *b, int onoff); gdk_return BATmultiprintf(stream *f, int argc, BAT *argv[], int printoid, int order, int printorderby); int BATname(BAT *b, const char *nme); -BAT *BATnew(int hdtype, int tltype, BUN capacity, int role); +BAT *BATnew(int hdtype, int tltype, BUN capacity, int role) __attribute__((warn_unused_result)); BAT *BATorder(BAT *b); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list