Changeset: 9035895c6593 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9035895c6593
Added Files:
debian/monetdb5-server-hugeint.install
debian/monetdb5-sql-hugeint.install
sql/test/BugTracker-2015/Tests/alias.Bug-3704.sql
sql/test/BugTracker-2015/Tests/alias.Bug-3704.stable.err
sql/test/BugTracker-2015/Tests/alias.Bug-3704.stable.out
sql/test/BugTracker-2015/Tests/assertHead.Bug-3706.sql
sql/test/BugTracker-2015/Tests/assertHead.Bug-3706.stable.err
sql/test/BugTracker-2015/Tests/assertHead.Bug-3706.stable.out
sql/test/BugTracker-2015/Tests/case_aggr.Bug-3705.sql
sql/test/BugTracker-2015/Tests/case_aggr.Bug-3705.stable.err
sql/test/BugTracker-2015/Tests/case_aggr.Bug-3705.stable.out
sql/test/BugTracker-2015/Tests/find_fk.Bug-3690.sql
sql/test/BugTracker-2015/Tests/find_fk.Bug-3690.stable.err
sql/test/BugTracker-2015/Tests/find_fk.Bug-3690.stable.out
sql/test/BugTracker-2015/Tests/ifthenelse.Bug-3699.sql
sql/test/BugTracker-2015/Tests/ifthenelse.Bug-3699.stable.err
sql/test/BugTracker-2015/Tests/ifthenelse.Bug-3699.stable.out
sql/test/BugTracker-2015/Tests/inf-nan-handling.Bug-3696.sql
sql/test/BugTracker-2015/Tests/inf-nan-handling.Bug-3696.stable.err
sql/test/BugTracker-2015/Tests/inf-nan-handling.Bug-3696.stable.out
sql/test/BugTracker-2015/Tests/insert_into_merge_table_crash.Bug-3703.sql
sql/test/BugTracker-2015/Tests/insert_into_merge_table_crash.Bug-3703.stable.err
sql/test/BugTracker-2015/Tests/insert_into_merge_table_crash.Bug-3703.stable.out
sql/test/BugTracker-2015/Tests/is_null_limit.Bug-3684.sql
sql/test/BugTracker-2015/Tests/is_null_limit.Bug-3684.stable.err
sql/test/BugTracker-2015/Tests/is_null_limit.Bug-3684.stable.out
sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693.sql
sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693.stable.err
sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693.stable.out
sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693_2.sql
sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693_2.stable.err
sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693_2.stable.out
sql/test/BugTracker-2015/Tests/readonly.Bug-3709.sql
sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.err
sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out
sql/test/BugTracker-2015/Tests/with-columns-mismatch.Bug-3697.sql
sql/test/BugTracker-2015/Tests/with-columns-mismatch.Bug-3697.stable.err
sql/test/BugTracker-2015/Tests/with-columns-mismatch.Bug-3697.stable.out
Removed Files:
sql/backends/monet5/rest/73_jsonstore.mal
sql/backends/monet5/rest/Makefile.ag
sql/backends/monet5/rest/Tests/All
sql/backends/monet5/rest/Tests/jsonstore00.sql
sql/backends/monet5/rest/Tests/jsonstore00.stable.err
sql/backends/monet5/rest/Tests/jsonstore00.stable.out
sql/backends/monet5/rest/Tests/jsonstore01.sql
sql/backends/monet5/rest/Tests/jsonstore01.stable.err
sql/backends/monet5/rest/Tests/jsonstore01.stable.out
sql/backends/monet5/rest/jsonstore.mal
sql/backends/monet5/rest/rest_jsonstore.c
sql/backends/monet5/rest/rest_jsonstore.h
sql/backends/monet5/rest/rest_jsonstore_handle_get.c
sql/backends/monet5/rest/rest_jsonstore_handle_get.h
Modified Files:
MonetDB.spec
clients/R/MonetDB.R/DESCRIPTION
clients/R/MonetDB.R/NEWS
clients/R/MonetDB.R/R/dbi.R
clients/R/Tests/dbi.R
clients/Tests/exports.stable.out
clients/mapiclient/eventparser.c
clients/mapiclient/eventparser.h
clients/mapiclient/tachograph.c
clients/mapiclient/tomograph.c
configure.ag
debian/control
debian/monetdb5-server.install
debian/monetdb5-sql.install
gdk/gdk_atoms.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_logger.h
gdk/gdk_search.c
gdk/gdk_select.c
monetdb5/mal/Makefile.ag
monetdb5/mal/mal.c
monetdb5/mal/mal.h
monetdb5/mal/mal_http_daemon.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_runtime.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/mal/joinpath.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/pcre.c
monetdb5/optimizer/opt_joinpath.c
monetdb5/tools/Tests/mserver5--help.stable.err
sql/backends/monet5/Makefile.ag
sql/backends/monet5/sql.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_upgrades.c
sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/11-explain.stable.out
sql/benchmarks/tpch/alter.sql
sql/benchmarks/tpch/load.sh
sql/common/Makefile.ag
sql/common/sql_types.c
sql/server/rel_exp.c
sql/server/rel_optimizer.c
sql/server/rel_psm.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/server/rel_updates.c
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/test/BugTracker-2015/Tests/All
sql/test/leaks/Tests/check0_bam.stable.out.int128
sql/test/leaks/Tests/check1_bam.stable.out
sql/test/leaks/Tests/check1_bam.stable.out.int128
sql/test/leaks/Tests/check2_bam.stable.out
sql/test/leaks/Tests/check2_bam.stable.out.int128
sql/test/leaks/Tests/check3_bam.stable.out
sql/test/leaks/Tests/check3_bam.stable.out.int128
sql/test/leaks/Tests/check4_bam.stable.out
sql/test/leaks/Tests/check4_bam.stable.out.int128
sql/test/leaks/Tests/check5_bam.stable.out
sql/test/leaks/Tests/check5_bam.stable.out.int128
sql/test/leaks/Tests/drop3_bam.stable.out.int128
sql/test/leaks/Tests/select1_bam.stable.out.int128
sql/test/leaks/Tests/select2_bam.stable.out.int128
sql/test/leaks/Tests/temp1_bam.stable.out.int128
sql/test/leaks/Tests/temp2_bam.stable.out.int128
sql/test/leaks/Tests/temp3_bam.stable.out.int128
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.err.Windows
sql/test/pg_regress/Tests/float8.stable.out
sql/test/pg_regress/Tests/float8.stable.out.Windows
sql/test/remote/Tests/ssbm.SQL.py
sql/test/remote/Tests/ssbm.stable.out
tools/merovingian/daemon/merovingian.c
tools/mserver/mserver5.c
Branch: resultset
Log Message:
Merge with default branch.
diffs (truncated from 10122 to 300 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -637,6 +637,7 @@ fi
%exclude %{_libdir}/monetdb5/rapi.mal
%endif
%exclude %{_libdir}/monetdb5/sql*.mal
+%exclude %{_libdir}/monetdb5/*_hge.mal
%{_libdir}/monetdb5/*.mal
%if %{?with_geos:1}%{!?with_geos:0}
%exclude %{_libdir}/monetdb5/autoload/*_geom.mal
@@ -663,6 +664,26 @@ fi
%{_libdir}/monetdb5/*.so
%doc %{_mandir}/man1/mserver5.1.gz
+%package -n MonetDB5-server-hugeint
+Summary: MonetDB - 128-bit integer support for MonetDB5-server
+Group: Application/Databases
+Requires: MonetDB5-server
+
+%description -n MonetDB5-server-hugeint
+MonetDB is a database management system that is developed from a
+main-memory perspective with use of a fully decomposed storage model,
+automatic index management, extensibility of data types and search
+accelerators. It also has an SQL frontend.
+
+This package provides HUGEINT (128-bit integer) support for the
+MonetDB5-server component.
+
+%files -n MonetDB5-server-hugeint
+%exclude %{_libdir}/monetdb5/sql*_hge.mal
+%{_libdir}/monetdb5/*_hge.mal
+%exclude %{_libdir}/monetdb5/autoload/??_sql_hge.mal
+%{_libdir}/monetdb5/autoload/*_hge.mal
+
%package -n MonetDB5-server-devel
Summary: MonetDB development files
Group: Applications/Databases
@@ -723,7 +744,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
@@ -734,7 +755,9 @@ systemd-tmpfiles --create %{_sysconfdir}
%if %{?with_samtools:1}%{!?with_samtools:0}
%exclude %{_libdir}/monetdb5/createdb/*_bam.sql
%endif
-%{_libdir}/monetdb5/createdb/*
+%exclude %{_libdir}/monetdb5/createdb/*_hge.sql
+%{_libdir}/monetdb5/createdb/*.sql
+%exclude %{_libdir}/monetdb5/sql*_hge.mal
%{_libdir}/monetdb5/sql*.mal
%doc %{_mandir}/man1/monetdb.1.gz
%doc %{_mandir}/man1/monetdbd.1.gz
@@ -748,6 +771,27 @@ systemd-tmpfiles --create %{_sysconfdir}
%{_datadir}/doc/MonetDB-SQL-%{version}/*
%endif
+%package SQL-server5-hugeint
+Summary: MonetDB5 128 bit integer (hugeint) support for SQL
+Group: Applications/Databases
+Requires: MonetDB5-server-hugeint = %{version}-%{release}
+Requires: MonetDB-SQL-server5 = %{version}-%{release}
+
+%description SQL-server5-hugeint
+MonetDB is a database management system that is developed from a
+main-memory perspective with use of a fully decomposed storage model,
+automatic index management, extensibility of data types and search
+accelerators. It also has an SQL frontend.
+
+This package provides HUGEINT (128-bit integer) support for the SQL
+frontend of MonetDB.
+
+%files SQL-server5-hugeint
+%defattr(-,root,root)
+%{_libdir}/monetdb5/autoload/??_sql_hge.mal
+%{_libdir}/monetdb5/createdb/*_hge.sql
+%{_libdir}/monetdb5/sql*_hge.mal
+
%package -n python-monetdb
Summary: Native MonetDB client Python API
Group: Applications/Databases
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.8
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,3 +1,8 @@
+0.9.8
+- Added support for esoteric data types such as MONTH_INTERVAL (Thanks, Roman)
+- Cleaned up SQL to R type mapping (we had this twice)
+- Now creating actual R integers if data fits
+
0.9.7
- Fixed crash on Windows (Sorry, everyone)
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
@@ -432,31 +432,29 @@ setMethod("dbSendUpdateAsync", signature
### MonetDBResult
setClass("MonetDBResult", representation("DBIResult", env="environment"))
+.CT_INT <- 0L
.CT_NUM <- 1L
.CT_CHR <- 2L
.CT_CHRR <- 3L
.CT_BOOL <- 4L
.CT_RAW <- 5L
+# type mapping matrix
+monetTypes <- rep(c("integer", "numeric", "character", "character", "logical",
"raw"), c(6, 5, 4, 6, 1, 1))
+names(monetTypes) <- c(c("WRD", "TINYINT", "SMALLINT", "INT",
"MONTH_INTERVAL"), # month_interval is the diff between date cols, int
+ c("BIGINT", "HUGEINT", "REAL", "DOUBLE", "DECIMAL", "SEC_INTERVAL"), #
sec_interval is the difference between timestamps, float
+ c("CHAR", "VARCHAR", "CLOB", "STR"),
+ c("INTERVAL", "DATE", "TIME", "TIMETZ", "TIMESTAMP", "TIMESTAMPTZ"),
+ c("BOOLEAN"),
+ c("BLOB"))
+
monetdbRtype <- function(dbType) {
dbType <- toupper(dbType)
-
- if (dbType %in% c("TINYINT", "SMALLINT", "INT", "BIGINT", "HUGEINT", "REAL",
"DOUBLE", "DECIMAL", "WRD")) {
- return("numeric")
+ rtype <- monetTypes[dbType]
+ if (is.na(rtype)) {
+ stop("Unknown DB type ", dbType)
}
- if (dbType %in% c("CHAR", "VARCHAR", "CLOB", "STR")) {
- return("character")
- }
- if (dbType %in% c("INTERVAL", "DATE", "TIME", "TIMESTAMP")) {
- return("date")
- }
- if (dbType == "BOOLEAN") {
- return("logical")
- }
- if (dbType == "BLOB") {
- return("raw")
- }
- stop("Unknown DB type ", dbType)
+ rtype
}
setMethod("fetch", signature(res="MonetDBResult", n="numeric"),
def=function(res, n, ...) {
@@ -491,6 +489,10 @@ setMethod("dbFetch", signature(res="Mone
for (i in seq.int(info$cols)) {
rtype <- monetdbRtype(info$types[i])
+ if (rtype=="integer") {
+ df[[i]] <- integer()
+ ct[i] <- .CT_INT
+ }
if (rtype=="numeric") {
df[[i]] <- numeric()
ct[i] <- .CT_NUM
@@ -499,10 +501,6 @@ setMethod("dbFetch", signature(res="Mone
df[[i]] <- character()
ct[i] <- .CT_CHR
}
- if (rtype=="date") {
- df[[i]] <- character()
- ct[i] <- .CT_CHRR
- }
if (rtype=="logical") {
df[[i]] <- logical()
ct[i] <- .CT_BOOL
@@ -537,6 +535,8 @@ setMethod("dbFetch", signature(res="Mone
# convert values column by column
for (j in seq.int(info$cols)) {
col <- ct[[j]]
+ if (col == .CT_INT)
+ df[[j]] <- as.integer(parts[[j]])
if (col == .CT_NUM)
df[[j]] <- as.numeric(parts[[j]])
if (col == .CT_CHRR) {
@@ -597,17 +597,10 @@ setMethod("dbIsValid", signature(dbObj="
return(invisible(TRUE))
})
-monetTypes <- rep(c("numeric", "character", "character", "logical", "raw"),
c(9, 3, 4, 1, 1))
-names(monetTypes) <- c(c("TINYINT", "SMALLINT", "INT", "BIGINT", "HUGEINT",
"REAL", "DOUBLE", "DECIMAL", "WRD"),
- c("CHAR", "VARCHAR", "CLOB"),
- c("INTERVAL", "DATE", "TIME", "TIMESTAMP"),
- "BOOLEAN",
- "BLOB")
-
-
setMethod("dbColumnInfo", "MonetDBResult", def = function(res, ...) {
return(data.frame(field.name=res@env$info$names,
field.type=res@env$info$types,
- data.type=monetTypes[res@env$info$types]))
+ data.type=monetTypes[res@env$info$types],
r.data.type=monetTypes[res@env$info$types],
+ monetdb.data.type=res@env$info$types))
},
valueClass = "data.frame")
diff --git a/clients/R/Tests/dbi.R b/clients/R/Tests/dbi.R
--- a/clients/R/Tests/dbi.R
+++ b/clients/R/Tests/dbi.R
@@ -41,7 +41,7 @@ dbSendUpdate(con,"CREATE TABLE monetdbte
stopifnot(identical(dbExistsTable(con,tname),TRUE))
dbSendUpdate(con,"INSERT INTO monetdbtest VALUES ('one',1,'1111')")
dbSendUpdate(con,"INSERT INTO monetdbtest VALUES ('two',2,'22222222')")
-stopifnot(identical(dbGetQuery(con,"SELECT count(*) FROM monetdbtest")[[1]],2))
+stopifnot(identical(dbGetQuery(con,"SELECT count(*) FROM
monetdbtest")[[1]],2L))
stopifnot(identical(dbReadTable(con,tname)[[3]],list(charToRaw("1111"),charToRaw("22222222"))))
dbRemoveTable(con,tname)
stopifnot(identical(dbExistsTable(con,tname),FALSE))
@@ -170,6 +170,9 @@ dbSendUpdate(conn, "INSERT INTO monetdbt
stopifnot(identical("Роман Mühleisen", dbGetQuery(conn,"SELECT a FROM
monetdbtest")$a[[1]]))
dbRollback(conn)
+# this returns a column with esoteric type MONTH_INTERVAL
+stopifnot(identical(1L, as.integer(dbGetQuery(con, "select cast('2015-03-02'
as date) - cast('2015-03-01' as date)")[[1]][[1]])))
+
stopifnot(dbIsValid(conn))
#thrice to catch null pointer errors
stopifnot(identical(dbDisconnect(con),TRUE))
@@ -177,6 +180,8 @@ stopifnot(!dbIsValid(conn))
stopifnot(identical(dbDisconnect(con),TRUE))
stopifnot(identical(dbDisconnect(con),TRUE))
+
+
#test merovingian control code
#cannot really do this in Mtest, sorry
#stopifnot(dbname %in% monetdbd.liststatus("monetdb")$dbname)
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
@@ -2275,6 +2275,7 @@ int hasSameArguments(MalBlkPtr mb, Instr
int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q, int stop);
int hasSideEffects(InstrPtr p, int strict);
str hashRef;
+int have_hge;
int headProp;
str hgeRef;
int hlbProp;
@@ -2400,7 +2401,7 @@ int mal_init(void);
MT_Lock mal_profileLock;
str mal_quote(const char *msg, size_t size);
MT_Lock mal_remoteLock;
-char *mal_trace;
+int mal_trace;
void mal_unquote(char *msg);
str manifoldRef;
str mapiRef;
diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c
--- a/clients/mapiclient/eventparser.c
+++ b/clients/mapiclient/eventparser.c
@@ -10,49 +10,65 @@
#include "eventparser.h"
-char *statenames[]=
{"","start","done","action","ping","wait","iostat","gccollect"};
+char *statenames[]= {"","start","done","action","ping","wait","system"};
char *malarguments[MAXMALARGS];
-int malargtop;
+char *maltypes[MAXMALARGS];
+int malpc[MAXMALARGS];
+int malcount[MAXMALARGS];
+int malargc;
+int malretc;
char *malvariables[MAXMALARGS];
int malvartop;
-int debug;
-char *monet_characteristics;
+int debug=0;
+char *monetdb_characteristics;
void
clearArguments(void)
{
int i;
- for(i = 0; i < malargtop; i++)
- if( malarguments[i])
+ for(i = 0; i < malargc; i++)
+ if( malarguments[i]){
free(malarguments[i]);
- malargtop = 0;
+ malarguments[i] = 0;
+ }
+ malargc = 0;
+ malretc = 0;
for(i = 0; i < malvartop; i++)
- if( malvariables[i])
+ if( malvariables[i]){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list