Changeset: 97fb91f5a501 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=97fb91f5a501 Added Files: monetdb5/mal/Tests/tst062.mal monetdb5/mal/Tests/tst062.stable.err monetdb5/mal/Tests/tst062.stable.out sql/test/pg_regress/Tests/interval.stable.err.int128 sql/test/pg_regress/Tests/interval.stable.out.int128 sql/test/pg_regress/Tests/oid.stable.err.oid32 sql/test/pg_regress/Tests/oid.stable.out.oid32 sql/test/pg_regress/Tests/oid.stable.out.oid64 sql/test/remote/Tests/All sql/test/remote/Tests/ssbm.SQL.py Modified Files: MonetDB.spec clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/dbi.R clients/R/MonetDB.R/man/monetdb.read.csv.Rd clients/Tests/MAL-signatures_all.stable.out clients/Tests/MAL-signatures_all.stable.out.int128 clients/Tests/MAL-signatures_fits_geom.stable.out clients/Tests/MAL-signatures_fits_geom.stable.out.int128 clients/Tests/MAL-signatures_geom.stable.out clients/Tests/MAL-signatures_geom.stable.out.int128 clients/Tests/MAL-signatures_none.stable.out clients/Tests/MAL-signatures_none.stable.out.int128 clients/Tests/exports.stable.out debian/monetdb5-server.install debian/monetdb5-sql.install gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_atoms.c gdk/gdk_atoms.h gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc_compare.h gdk/gdk_group.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_qsort.c gdk/gdk_search.c gdk/gdk_search.h gdk/gdk_select.c gdk/gdk_setop.c gdk/gdk_ssort_impl.h gdk/gdk_unique.c gdk/gdk_value.c java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java monetdb5/mal/Tests/All monetdb5/mal/Tests/tst044.stable.out monetdb5/mal/Tests/tst804.stable.out monetdb5/mal/mal.c monetdb5/mal/mal_atom.c monetdb5/mal/mal_client.h monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_private.h monetdb5/mal/mal_recycle.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.h monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/cluster.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/mkey.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_support.c sql/backends/monet5/LSST/lsst.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_bat2time.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_result.c sql/server/rel_distribute.c sql/server/rel_optimizer.c sql/server/sql_qc.c sql/test/BugTracker-2014/Tests/case-sqrt.Bug-3627.stable.err sql/test/BugTracker-2014/Tests/case-sqrt.Bug-3627.stable.out sql/test/pg_regress/Tests/case.sql sql/test/pg_regress/Tests/case.stable.out sql/test/pg_regress/Tests/interval.sql sql/test/pg_regress/Tests/interval.stable.err 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 Branch: geo Log Message:
Merge with default branch. diffs (truncated from 8035 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -636,7 +636,7 @@ fi %if %{?with_rintegration:1}%{!?with_rintegration:0} %exclude %{_libdir}/monetdb5/rapi.mal %endif -%exclude %{_libdir}/monetdb5/sql.mal +%exclude %{_libdir}/monetdb5/sql*.mal %{_libdir}/monetdb5/*.mal %if %{?with_geos:1}%{!?with_geos:0} %exclude %{_libdir}/monetdb5/autoload/*_geom.mal @@ -645,7 +645,7 @@ fi %if %{?with_rintegration:1}%{!?with_rintegration:0} %exclude %{_libdir}/monetdb5/autoload/*_rapi.mal %endif -%exclude %{_libdir}/monetdb5/autoload/*_sql.mal +%exclude %{_libdir}/monetdb5/autoload/??_sql*.mal %{_libdir}/monetdb5/autoload/*.mal %if %{?with_geos:1}%{!?with_geos:0} %exclude %{_libdir}/monetdb5/lib_geom.so @@ -723,7 +723,7 @@ systemd-tmpfiles --create %{_sysconfdir} %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf %endif %config(noreplace) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties -%{_libdir}/monetdb5/autoload/*_sql*.mal +%{_libdir}/monetdb5/autoload/??_sql*.mal %{_libdir}/monetdb5/lib_sql.so %{_libdir}/monetdb5/*.sql %dir %{_libdir}/monetdb5/createdb 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,5 +1,5 @@ Package: MonetDB.R -Version: 0.9.7 +Version: 0.9.6 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,11 +1,7 @@ -0.9.7 -- monetdb.read.csv TODO (thanks, Duncan) -- dbWriteTable encoding checks TODO (thanks, Anthony) -- deprecated nrows parameter to monetdb.read.csv, not neccessary any more because of upgrades to MonetDB -- added query progress bar (counting MAL statements) for MonetDB releases following Oct2014, enable with options(monetdb.profile=T) - 0.9.6 -- Fixed non-ASCII character handling (thanks, Roman!) +- monetdb.read.csv new create= parameter (Thanks, Duncan) +- deprecated nrows parameter to monetdb.read.csv, not neccessary any more because of changes to MonetDB +- Fixed non-ASCII character handling (Thanks, Roman) - Fully removed C-based socket code - support for dplyr verbs sample_n() and sample_frac() diff --git a/clients/R/MonetDB.R/R/dbi.R b/clients/R/MonetDB.R/R/dbi.R --- a/clients/R/MonetDB.R/R/dbi.R +++ b/clients/R/MonetDB.R/R/dbi.R @@ -126,12 +126,8 @@ setMethod("dbConnect", "MonetDBDriver", dbSendQuery(conn, "set optimizer='sequential_pipe'") } - if (getOption("monetdb.profile", T)) { - .profiler_enable(conn) - } - + # if (getOption("monetdb.profile", T)) .profiler_enable(conn) return(conn) - }, valueClass="MonetDBConnection") @@ -234,7 +230,7 @@ setMethod("dbSendQuery", signature(conn= env <- NULL if (getOption("monetdb.debug.query", F)) message("QQ: '", statement, "'") # make the progress bar wait for querylog.define - if (getOption("monetdb.profile", T)) .profiler_arm() + # if (getOption("monetdb.profile", T)) .profiler_arm() # the actual request mresp <- .mapiRequest(conn, paste0("s", statement, "\n;"), async=async) @@ -526,13 +522,12 @@ setMethod("dbFetch", signature(res="Mone # if our tuple cache in res@env$data does not contain n rows, we fetch from server until it does while (length(res@env$data) < n) { cresp <- .mapiParseResponse(.mapiRequest(res@env$conn, paste0("Xexport ", .mapiLongInt(info$id), - " ", .mapiLongInt(info$index), " ", .mapiLongInt(min(10000,n-length(res@env$data)))))) + " ", .mapiLongInt(info$index), " ", .mapiLongInt(n-length(res@env$data))))) stopifnot(cresp$type == Q_BLOCK && cresp$rows > 0) res@env$data <- c(res@env$data, cresp$tuples) info$index <- info$index + cresp$rows - #print(paste0(length(res@env$data), " of ", info$rows)); - if (getOption("monetdb.profile", T)) .profiler_progress(length(res@env$data), n) + # if (getOption("monetdb.profile", T)) .profiler_progress(length(res@env$data), n) } # convert tuple string vector into matrix so we can access a single column efficiently @@ -571,7 +566,7 @@ setMethod("dbFetch", signature(res="Mone attr(df, "row.names") <- c(NA_integer_, length(df[[1]])) class(df) <- "data.frame" - if (getOption("monetdb.profile", T)) .profiler_clear() + # if (getOption("monetdb.profile", T)) .profiler_clear() return(df) }) @@ -623,7 +618,8 @@ setMethod("dbGetInfo", "MonetDBResult", # adapted from RMonetDB, no java-specific things in here... monet.read.csv <- monetdb.read.csv <- function(conn, files, tablename, nrows=NA, header=TRUE, - locked=FALSE, na.strings="", nrow.check=500, delim=",", newline="\\n", quote="\"", ...){ + locked=FALSE, na.strings="", nrow.check=500, + delim=",", newline="\\n", quote="\"", create=TRUE, ...){ if (length(na.strings)>1) stop("na.strings must be of length 1") headers <- lapply(files, read.csv, sep=delim, na.strings=na.strings, quote=quote, nrows=nrow.check, @@ -642,7 +638,7 @@ monet.read.csv <- monetdb.read.csv <- fu if(!all(types==types[, 1])) stop("Files have different variable types") } - dbWriteTable(conn, tablename, headers[[1]][FALSE, ]) + if (create) dbWriteTable(conn, tablename, headers[[1]][FALSE, ]) delimspec <- paste0("USING DELIMITERS '", delim, "','", newline, "','", quote, "'") diff --git a/clients/R/MonetDB.R/man/monetdb.read.csv.Rd b/clients/R/MonetDB.R/man/monetdb.read.csv.Rd --- a/clients/R/MonetDB.R/man/monetdb.read.csv.Rd +++ b/clients/R/MonetDB.R/man/monetdb.read.csv.Rd @@ -11,7 +11,7 @@ \usage{ monetdb.read.csv (conn, files, tablename, nrows, header=TRUE, locked=FALSE, na.strings="", nrow.check=500, delim=",", - newline = "\\\\n", quote = "\"", ...) + newline = "\\\\n", quote = "\"", create=TRUE, ...) } \arguments{ \item{conn}{A MonetDB.R database connection. Created using \code{\link[DBI]{dbConnect}} with the @@ -29,6 +29,7 @@ \item{delim}{Field separator in CSV file.} \item{newline}{Newline in CSV file, usually \\n for UNIX-like systems and \\r\\r on Windows.} \item{quote}{Quote character(s) in CSV file.} + \item{create}{Create table before importing?} } \value{ diff --git a/clients/Tests/MAL-signatures_all.stable.out b/clients/Tests/MAL-signatures_all.stable.out --- a/clients/Tests/MAL-signatures_all.stable.out +++ b/clients/Tests/MAL-signatures_all.stable.out @@ -22924,6 +22924,10 @@ command batcalc.daytime(v:bat[:oid,:dayt address batdaytime_2time_daytime; comment cast daytime to daytime and check for overflow +command batcalc.daytime(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:daytime] +address batstr_2time_daytimetz; +comment cast to daytime and check for overflow + command batcalc.daytime(v:bat[:oid,:str],digits:int):bat[:oid,:daytime] address batstr_2time_daytime; comment cast to daytime and check for overflow @@ -30712,6 +30716,10 @@ command batcalc.timestamp(v:bat[:oid,:ti address battimestamp_2time_timestamp; comment cast timestamp to timestamp and check for overflow +command batcalc.timestamp(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:timestamp] +address batstr_2time_timestamptz; +comment cast to timestamp and check for overflow + command batcalc.timestamp(v:bat[:oid,:str],digits:int):bat[:oid,:timestamp] address batstr_2time_timestamp; comment cast to timestamp and check for overflow @@ -35355,6 +35363,10 @@ command calc.daytime(v:daytime,digits:in address daytime_2time_daytime; comment cast daytime to daytime and check for overflow +command calc.daytime(v:str,digits:int,has_tz:int):daytime +address str_2time_daytimetz; +comment cast to daytime and check for overflow + command calc.daytime(v:str,digits:int):daytime address str_2time_daytime; comment cast to daytime and check for overflow @@ -37318,6 +37330,10 @@ command calc.timestamp(v:timestamp,digit address timestamp_2time_timestamp; comment cast timestamp to timestamp and check for overflow +command calc.timestamp(v:str,digits:int,has_tz:int):timestamp +address str_2time_timestamptz; +comment cast to timestamp and check for overflow + command calc.timestamp(v:str,digits:int):timestamp address str_2time_timestamp; comment cast to timestamp and check for overflow diff --git a/clients/Tests/MAL-signatures_all.stable.out.int128 b/clients/Tests/MAL-signatures_all.stable.out.int128 --- a/clients/Tests/MAL-signatures_all.stable.out.int128 +++ b/clients/Tests/MAL-signatures_all.stable.out.int128 @@ -29463,6 +29463,10 @@ command batcalc.daytime(v:bat[:oid,:dayt address batdaytime_2time_daytime; comment cast daytime to daytime and check for overflow +command batcalc.daytime(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:daytime] +address batstr_2time_daytimetz; +comment cast to daytime and check for overflow + command batcalc.daytime(v:bat[:oid,:str],digits:int):bat[:oid,:daytime] address batstr_2time_daytime; comment cast to daytime and check for overflow @@ -39701,6 +39705,10 @@ command batcalc.timestamp(v:bat[:oid,:ti address battimestamp_2time_timestamp; comment cast timestamp to timestamp and check for overflow +command batcalc.timestamp(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:timestamp] +address batstr_2time_timestamptz; +comment cast to timestamp and check for overflow + command batcalc.timestamp(v:bat[:oid,:str],digits:int):bat[:oid,:timestamp] address batstr_2time_timestamp; comment cast to timestamp and check for overflow @@ -45632,6 +45640,10 @@ command calc.daytime(v:daytime,digits:in address daytime_2time_daytime; comment cast daytime to daytime and check for overflow +command calc.daytime(v:str,digits:int,has_tz:int):daytime +address str_2time_daytimetz; +comment cast to daytime and check for overflow + command calc.daytime(v:str,digits:int):daytime address str_2time_daytime; comment cast to daytime and check for overflow @@ -48173,6 +48185,10 @@ command calc.timestamp(v:timestamp,digit address timestamp_2time_timestamp; comment cast timestamp to timestamp and check for overflow +command calc.timestamp(v:str,digits:int,has_tz:int):timestamp +address str_2time_timestamptz; +comment cast to timestamp and check for overflow + command calc.timestamp(v:str,digits:int):timestamp address str_2time_timestamp; comment cast to timestamp and check for overflow diff --git a/clients/Tests/MAL-signatures_fits_geom.stable.out b/clients/Tests/MAL-signatures_fits_geom.stable.out --- a/clients/Tests/MAL-signatures_fits_geom.stable.out +++ b/clients/Tests/MAL-signatures_fits_geom.stable.out @@ -22845,6 +22845,10 @@ command batcalc.daytime(v:bat[:oid,:dayt address batdaytime_2time_daytime; comment cast daytime to daytime and check for overflow +command batcalc.daytime(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:daytime] +address batstr_2time_daytimetz; +comment cast to daytime and check for overflow + command batcalc.daytime(v:bat[:oid,:str],digits:int):bat[:oid,:daytime] address batstr_2time_daytime; comment cast to daytime and check for overflow @@ -30633,6 +30637,10 @@ command batcalc.timestamp(v:bat[:oid,:ti address battimestamp_2time_timestamp; comment cast timestamp to timestamp and check for overflow +command batcalc.timestamp(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:timestamp] +address batstr_2time_timestamptz; +comment cast to timestamp and check for overflow + command batcalc.timestamp(v:bat[:oid,:str],digits:int):bat[:oid,:timestamp] address batstr_2time_timestamp; comment cast to timestamp and check for overflow @@ -35276,6 +35284,10 @@ command calc.daytime(v:daytime,digits:in address daytime_2time_daytime; comment cast daytime to daytime and check for overflow +command calc.daytime(v:str,digits:int,has_tz:int):daytime +address str_2time_daytimetz; +comment cast to daytime and check for overflow + command calc.daytime(v:str,digits:int):daytime address str_2time_daytime; comment cast to daytime and check for overflow @@ -37239,6 +37251,10 @@ command calc.timestamp(v:timestamp,digit address timestamp_2time_timestamp; comment cast timestamp to timestamp and check for overflow +command calc.timestamp(v:str,digits:int,has_tz:int):timestamp +address str_2time_timestamptz; +comment cast to timestamp and check for overflow + command calc.timestamp(v:str,digits:int):timestamp address str_2time_timestamp; comment cast to timestamp and check for overflow diff --git a/clients/Tests/MAL-signatures_fits_geom.stable.out.int128 b/clients/Tests/MAL-signatures_fits_geom.stable.out.int128 --- a/clients/Tests/MAL-signatures_fits_geom.stable.out.int128 +++ b/clients/Tests/MAL-signatures_fits_geom.stable.out.int128 @@ -29389,6 +29389,10 @@ command batcalc.daytime(v:bat[:oid,:dayt address batdaytime_2time_daytime; comment cast daytime to daytime and check for overflow +command batcalc.daytime(v:bat[:oid,:str],digits:int,has_tz:int):bat[:oid,:daytime] +address batstr_2time_daytimetz; +comment cast to daytime and check for overflow + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list