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

Reply via email to