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 =
"[email protected]"),
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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list