Changeset: a4901d488594 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a4901d488594
Modified Files:
        clients/R/MonetDB.R/NAMESPACE
        clients/R/MonetDB.R/NEWS
        clients/R/MonetDB.R/R/monetdb.R
        clients/R/MonetDB.R/src/mapi.c
        clients/R/db.tests/monetdb.test.R
        clients/R/db.tests/monetframe.test.R
        clients/R/db.tests/sqlsurvey.test.R
Branch: default
Log Message:

R Connector: minor updates


diffs (162 lines):

diff --git a/clients/R/MonetDB.R/NAMESPACE b/clients/R/MonetDB.R/NAMESPACE
--- a/clients/R/MonetDB.R/NAMESPACE
+++ b/clients/R/MonetDB.R/NAMESPACE
@@ -12,6 +12,9 @@ export(monetdb_queryinfo)
 # shorthand for db connections
 export(mc)
 
+# shorthand for db queries
+export(mq)
+
 # control.R
 export(monetdb.server.setup)
 export(monetdb.server.start)
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
@@ -2,6 +2,7 @@ 0.9.2
 - monetdb_queryinfo method to find out things about an arbitrary query cheaply
 - new options monetdb.sequential, monetdb.debug.query and monetdb.debug.mapi
 - debug output now uses the message() function
+- reinstated warning about monetdb:// db urls, we do not like them
 
 0.9.1
 - dbGetInfo() now supported on MonetDBConnection (dplyr compatibility)
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
@@ -32,7 +32,7 @@ mc <- function(dbname="demo", user="mone
        
dbConnect(MonetDB.R(),dbname,user,password,host,port,timeout,wait,language,...)
 }
 
-# TODO: document, export etc
+# TODO: document
 mq <- function(db,query,...) {
   conn <- mc(db,...)
   res <- dbGetQuery(conn,query)
@@ -48,7 +48,7 @@ setMethod("dbConnect", "MonetDBDriver", 
                        timeout <- as.integer(timeout)
                        
                        if (substring(dbname,1,10) == "monetdb://") {
-                               #warning("MonetDB.R: Using 'monetdb://...' URIs 
in dbConnect() is deprecated. Please switch to dbname, host, port named 
arguments.")
+                               message("MonetDB.R: Using 'monetdb://...' URIs 
in dbConnect() is deprecated. Please switch to dbname, host, port named 
arguments.")
                                rest <- substring(dbname,11,nchar(dbname))
                                # split at /, so we get the dbname
                                slashsplit <- strsplit(rest,"/",fixed=TRUE)
@@ -90,8 +90,6 @@ setMethod("dbConnect", "MonetDBDriver", 
                        }
                        
                        # make new socket with user-specified timeout
-                       #socket <- socket <<- socketConnection(host = host, 
port = port, 
-                       #       blocking = TRUE, open="r+b",timeout = timeout) 
                        socket <- 
.Call("mapiConnect",host,port,timeout,PACKAGE=C_LIBRARY)
                        
.monetAuthenticate(socket,dbname,user,password,language=language)
                        connenv <- new.env(parent=emptyenv())
@@ -183,7 +181,7 @@ setMethod("dbSendQuery", signature(conn=
                        }       
                        conn@connenv$exception <- list()
                        env <- NULL
-                       if (getOption("monetdb.debug.query",F))  message("QQ: 
'",statement)
+                       if (getOption("monetdb.debug.query",F))  message("QQ: 
'",statement,"'")
                        resp <- 
.mapiParseResponse(.mapiRequest(conn,paste0("s",statement,";"),async=async))
                        
                        env <- new.env(parent=emptyenv())
@@ -430,14 +428,6 @@ setMethod("fetch", signature(res="MonetD
                        }
                        
                        # convert tuple string vector into matrix so we can 
access a single column efficiently
-                       # stupid MAPI, [, ] and , or \t are completely 
unneccessary
-                       
-                       #rawdata <- gsub(",\t", "\t", res@env$data[1:n],fixed=T)
-                       #rawdata <- gsub("^\\[ ", "",rawdata)
-                       #rawdata <- gsub("\t\\]$", "", rawdata)
-                       #parts <- do.call("rbind", 
strsplit(rawdata,"\t",fixed=TRUE,useBytes=TRUE))
-                       #parts[parts=="NULL"] <- NA
-                       
                        # call to a faster C implementation for the hard and 
annoying task of splitting everyting into fields
                        parts <- .Call("mapiSplit", 
res@env$data[1:n],as.integer(info$cols), PACKAGE=C_LIBRARY)
                        
@@ -451,8 +441,6 @@ setMethod("fetch", signature(res="MonetD
                                if (col == .CT_BOOL) 
                                        df[[j]] <- parts[[j]]=="true"
                                if (col == .CT_CHR) { 
-                                       #strings <- parts[,j]   
-                                       #df[[j]] <- 
substring(strings,2,nchar(strings)-1)
                                        df[[j]] <- parts[[j]]
                                }
                                if (col == .CT_RAW) {
@@ -630,8 +618,6 @@ REPLY_SIZE    <- 100 # Apparently, -1 me
        return (NULL)
 }
 
-
-
 .mapiLongInt <- function(someint) {
        stopifnot(length(someint) == 1)
        formatC(someint,format="d")
diff --git a/clients/R/MonetDB.R/src/mapi.c b/clients/R/MonetDB.R/src/mapi.c
--- a/clients/R/MonetDB.R/src/mapi.c
+++ b/clients/R/MonetDB.R/src/mapi.c
@@ -271,19 +271,6 @@ SEXP mapiRead(SEXP conn) {
        }
        response_buf[response_buf_offset] = '\0';
 
-       // We have this issue that on Windows sometimes a \0 appears in the 
middle of the response...
-       // since it always appears instead of a \t, let's replace it for now 
and pray
-       // MonetDB Bug #3369 http://bugs.monetdb.org/show_bug.cgi?id=3369
-#ifdef __WIN32__
-       size_t i;
-       for (i = 0; i < response_buf_offset; i++) {
-               if (response_buf[i] == '\0') {
-                       warning("Removed a NULL character from response at 
offset %lu of %lu",(unsigned long) i,(unsigned long) response_buf_offset);
-                       response_buf[i] = '\t';
-               }
-       }
-#endif
-
        PROTECT(lines = NEW_STRING(1));
        SET_STRING_ELT(lines, 0, mkChar(response_buf));
        free(response_buf);
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,13 +1,15 @@
+options(monetdb.debug.query=T)
+
 library(MonetDB.R)
 
 drv <- dbDriver("MonetDB")
 stopifnot(identical(dbGetInfo(drv)$name,"MonetDBDriver"))
 
-con <- dbConnect(drv, "monetdb://localhost:50000/monetdbrtest", "monetdb", 
"monetdb",timeout=100,debug.queries=T)
+con <- dbConnect(drv, "monetdbrtest")
 stopifnot(identical(class(con)[[1]],"MonetDBConnection"))
 # overwrite variable to force destructor
-con <- dbConnect(drv, "monetdb://localhost:50000/monetdbrtest", "monetdb", 
"monetdb",timeout=100,debug.queries=T)
-con <- dbConnect(drv, "monetdb://localhost:50000/monetdbrtest", "monetdb", 
"monetdb",timeout=100,debug.queries=T)
+con <- dbConnect(drv, "monetdbrtest")
+con <- dbConnect(drv, "monetdbrtest")
 gc()
 
 # basic MAPI/SQL test
diff --git a/clients/R/db.tests/monetframe.test.R 
b/clients/R/db.tests/monetframe.test.R
--- a/clients/R/db.tests/monetframe.test.R
+++ b/clients/R/db.tests/monetframe.test.R
@@ -1,4 +1,5 @@
 library(monet.frame)
+options(monetdb.debug.query=T)
 
 con <- dbConnect(dbDriver("MonetDB"), 
"monetdb://localhost:50000/monetdbrtest", "monetdb", "monetdb",timeout=100)
 
diff --git a/clients/R/db.tests/sqlsurvey.test.R 
b/clients/R/db.tests/sqlsurvey.test.R
--- a/clients/R/db.tests/sqlsurvey.test.R
+++ b/clients/R/db.tests/sqlsurvey.test.R
@@ -1,6 +1,8 @@
 library(MonetDB.R)
 library(sqlsurvey)
 
+options(monetdb.debug.query=T)
+
 # install.packages("sqlsurvey", 
repos=c("http://cran.r-project.org","http://R-Forge.R-project.org";), dep=TRUE)
 
 db <- dbConnect( MonetDB.R() , "monetdb://localhost/monetdbrtest")
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to