Changeset: 5f30a74df46f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5f30a74df46f
Removed Files:
        buildtools/ChangeLog.Jan2014
        clients/ChangeLog.Jan2014
        clients/R/MonetDB.R/R/monetdb.R
        clients/R/MonetDB.R/man/monetdbGetTransferredBytes.Rd
        clients/R/MonetDB.R/src/mapi.c
        clients/python2/ChangeLog.Jan2014
        clients/python3/ChangeLog.Jan2014
        debian/libmonetdb-client6.install
        debian/libmonetdb-stream5.install
        debian/libmonetdb10.install
        gdk/ChangeLog.Jan2014
        monetdb5/modules/kernel/alarm.h
        monetdb5/modules/mal/Tests/radix.mal
        monetdb5/modules/mal/Tests/radix.stable.err
        monetdb5/modules/mal/Tests/radix.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/erroneous_multiplex.SF-899586.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/erroneous_multiplex.SF-899586.stable.out
        monetdb5/tests/BugDay_2005-10-06_4.8/Tests/kill_0.SF-1314982.stable.err
        monetdb5/tests/BugDay_2005-10-06_4.8/Tests/kill_0.SF-1314982.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.bat
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.sh
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/return_in_while.SF-905116.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/return_in_while.SF-905116.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/table_type.SF-916648.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/table_type.SF-916648.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/BATpropcheck_after_outerjoin.SF-936469.mal
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/BATpropcheck_after_outerjoin.SF-936469.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/BATpropcheck_after_outerjoin.SF-936469.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/CTrefine_not_sorted.981374.mal
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/CTrefine_not_sorted.981374.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/CTrefine_not_sorted.981374.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/Confusing_error.SF-852659.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/Confusing_error.SF-852659.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/Recursive_module_load.SF-853867.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/Recursive_module_load.SF-853867.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/crash_destroy_commit.SF-1154552.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/crash_destroy_commit.SF-1154552.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/leftfetchjoin_void_oid.990857.mal
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/leftfetchjoin_void_oid.990857.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/leftfetchjoin_void_oid.990857.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/radix_normal_segfault.SF-1120748.mal
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/radix_normal_segfault.SF-1120748.stable.err
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/radix_normal_segfault.SF-1120748.stable.out
        monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/shutdown.994842.mal
        monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/shutdown.994842.stable.err
        monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/shutdown.994842.stable.out
        monetdb5/tests/BugReports/Tests/no.011.mal
        monetdb5/tests/BugReports/Tests/no.011.stable.err
        monetdb5/tests/BugReports/Tests/no.011.stable.out
        monetdb5/tests/BugReports/Tests/no.024.mal
        monetdb5/tests/BugReports/Tests/no.024.stable.err
        monetdb5/tests/BugReports/Tests/no.024.stable.out
        monetdb5/tests/BugReports/Tests/no.027.mal
        monetdb5/tests/BugReports/Tests/no.027.stable.err
        monetdb5/tests/BugReports/Tests/no.027.stable.out
        monetdb5/tests/BugReports/Tests/no.035.mal
        monetdb5/tests/BugReports/Tests/no.035.stable.err
        monetdb5/tests/BugReports/Tests/no.035.stable.out
        monetdb5/tests/BugReports/Tests/no.037.mal
        monetdb5/tests/BugReports/Tests/no.037.stable.err
        monetdb5/tests/BugReports/Tests/no.037.stable.out
        monetdb5/tests/BugReports/Tests/no.070.mal
        monetdb5/tests/BugReports/Tests/no.070.modules
        monetdb5/tests/BugReports/Tests/no.070.stable.err
        monetdb5/tests/BugReports/Tests/no.070.stable.out
        monetdb5/tests/BugReports/Tests/no.073.stable.err
        monetdb5/tests/BugReports/Tests/no.073.stable.out
        monetdb5/tests/BugReports/Tests/no.073_s00.mal
        monetdb5/tests/BugReports/Tests/no.073_s01.mal
        monetdb5/tests/BugReports/Tests/no.089.modules
        monetdb5/tests/BugReports/Tests/no.089.stable.err
        monetdb5/tests/BugReports/Tests/no.089.stable.out
        monetdb5/tests/BugReports/Tests/no.089_s00.mal
        monetdb5/tests/BugReports/Tests/no.089_s01.mal
        monetdb5/tests/BugReports/Tests/no.099.mal
        monetdb5/tests/BugReports/Tests/no.099.stable.err
        monetdb5/tests/BugReports/Tests/no.099.stable.out
        monetdb5/tests/BugReports/Tests/no.106.mal
        monetdb5/tests/BugReports/Tests/no.106.modules
        monetdb5/tests/BugReports/Tests/no.106.prelude
        monetdb5/tests/BugReports/Tests/no.106.stable.err
        monetdb5/tests/BugReports/Tests/no.106.stable.out
        monetdb5/tests/BugReports/Tests/no.106.w.bat
        monetdb5/tests/BugReports/Tests/no.107.mal
        monetdb5/tests/BugReports/Tests/no.107.modules
        monetdb5/tests/BugReports/Tests/no.107.prelude
        monetdb5/tests/BugReports/Tests/no.107.stable.err
        monetdb5/tests/BugReports/Tests/no.107.stable.out
        monetdb5/tests/BugReports/Tests/no.107.w.bat
        monetdb5/tests/BugReports/Tests/no.117.mal
        monetdb5/tests/BugReports/Tests/no.117.stable.err
        monetdb5/tests/BugReports/Tests/no.117.stable.out
        monetdb5/tests/BugReports/Tests/no.120.mal
        monetdb5/tests/BugReports/Tests/no.120.stable.err
        monetdb5/tests/BugReports/Tests/no.120.stable.out
        monetdb5/tests/BugReports/Tests/no.125.mal
        monetdb5/tests/BugReports/Tests/no.125.modules
        monetdb5/tests/BugReports/Tests/no.125.stable.err
        monetdb5/tests/BugReports/Tests/no.125.stable.out
        monetdb5/tests/BugReports/Tests/no.125.stable.out.Windows
        monetdb5/tests/BugReports/Tests/no.145.k100_unique1
        monetdb5/tests/BugReports/Tests/no.145.k10_unique1
        monetdb5/tests/BugReports/Tests/no.145.k10_unique2
        monetdb5/tests/BugReports/Tests/no.145.mal
        monetdb5/tests/BugReports/Tests/no.145.modules
        monetdb5/tests/BugReports/Tests/no.145.prelude
        monetdb5/tests/BugReports/Tests/no.145.stable.err
        monetdb5/tests/BugReports/Tests/no.145.stable.out
        monetdb5/tests/BugReports/Tests/no.146.mal
        monetdb5/tests/BugReports/Tests/no.146.modules
        monetdb5/tests/BugReports/Tests/no.146.stable.err
        monetdb5/tests/BugReports/Tests/no.147.mal
        monetdb5/tests/BugReports/Tests/no.147.modules
        monetdb5/tests/BugReports/Tests/no.147.stable.err
        monetdb5/tests/BugReports/Tests/no.147.stable.out
        monetdb5/tests/BugReports/Tests/no.148.mal
        monetdb5/tests/BugReports/Tests/no.148.modules
        monetdb5/tests/BugReports/Tests/no.148.stable.err
        monetdb5/tests/BugReports/Tests/no.148.stable.out
        monetdb5/tests/BugReports/Tests/no.151.mal
        monetdb5/tests/BugReports/Tests/no.151.stable.err
        monetdb5/tests/BugReports/Tests/no.151.stable.out
        monetdb5/tests/BugReports/Tests/no.156.mal
        monetdb5/tests/BugReports/Tests/no.156.stable.err
        monetdb5/tests/BugReports/Tests/no.156.stable.out
        monetdb5/tests/BugReports/Tests/no.158.mal
        monetdb5/tests/BugReports/Tests/no.158.modules
        monetdb5/tests/BugReports/Tests/no.158.prelude
        monetdb5/tests/BugReports/Tests/no.158.source.mal
        monetdb5/tests/BugReports/Tests/no.158.stable.err
        monetdb5/tests/BugReports/Tests/no.158.stable.out
        monetdb5/tests/BugReports/Tests/no.160.mal
        monetdb5/tests/BugReports/Tests/no.160.stable.err
        monetdb5/tests/BugReports/Tests/no.160.stable.out
        monetdb5/tests/BugReports/Tests/no.164.mal
        monetdb5/tests/BugReports/Tests/no.164.modules
        monetdb5/tests/BugReports/Tests/no.164.stable.err
        monetdb5/tests/BugReports/Tests/no.164.stable.out
        monetdb5/tests/BugReports/Tests/no.166.mal
        monetdb5/tests/BugReports/Tests/no.166.modules
        monetdb5/tests/BugReports/Tests/no.166.stable.err
        monetdb5/tests/BugReports/Tests/no.166.stable.out
        monetdb5/tests/BugReports/Tests/no.168.mal
        monetdb5/tests/BugReports/Tests/no.168.modules
        monetdb5/tests/BugReports/Tests/no.168.stable.err
        monetdb5/tests/BugReports/Tests/no.168.stable.out
        monetdb5/tests/BugReports/Tests/no.172.mal
        monetdb5/tests/BugReports/Tests/no.172.stable.err
        monetdb5/tests/BugReports/Tests/no.172.stable.out
        
monetdb5/tests/BugTracker/Tests/batcalc-convert_on_void_view.SF-1573060.mal
        
monetdb5/tests/BugTracker/Tests/batcalc-convert_on_void_view.SF-1573060.stable.err
        
monetdb5/tests/BugTracker/Tests/batcalc-convert_on_void_view.SF-1573060.stable.out
        monetdb5/tests/BugTracker/Tests/merge-join_properties.SF-2952191.malC
        
monetdb5/tests/BugTracker/Tests/merge-join_properties.SF-2952191.stable.err
        
monetdb5/tests/BugTracker/Tests/merge-join_properties.SF-2952191.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.1010729.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.1010729.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.1010729.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.602271.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.602271.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.602271.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.602463.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.602463.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.602463.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.632575.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.632575.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.632575.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.642351.b.txt
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.642351.c.txt
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.642351.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.642351.modules
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.642351.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.642351.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.823516.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.823516.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.823516.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.823516.stable.out.64bit
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.853867.MIL.bat
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.853867.MIL.sh
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.853867.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.853867.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.866700.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.866700.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495c.MIL.bat
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495c.MIL.sh
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495c.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495c.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914155.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914155.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914155.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914935.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914935.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914935.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.914935.stable.out.64bit
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.916699.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.916699.modules
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.916699.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.916699.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.921814.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.921814.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.921814.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.928253.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.928253.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.928253.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.979809.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.979809.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.979809.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.979809.txt
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.986551.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.986551.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.986551.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.987455.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.987455.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.987455.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.991053.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.991053.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.991053.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.994842.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.994842.stable.out
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.996570.mal
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.996570.stable.err
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.996570.stable.out
        monetdb5/tests/gdkTests/Tests/subgroup.mal
        monetdb5/tests/gdkTests/Tests/subgroup.stable.err
        monetdb5/tests/gdkTests/Tests/subgroup.stable.out
        monetdb5/tests/suite_01/Tests/test_00.mal
        monetdb5/tests/suite_01/Tests/test_00.stable.err
        monetdb5/tests/suite_01/Tests/test_00.stable.out
        monetdb5/tests/suite_01/Tests/test_00.stable.out.64bit
        monetdb5/tests/suite_01/Tests/test_00.stable.out.Darwin
        monetdb5/tests/suite_01/Tests/test_00.stable.out.Linux
        monetdb5/tests/suite_01/Tests/test_00.stable.out.Linux.64bit
        monetdb5/tests/suite_01/Tests/test_20.mal
        monetdb5/tests/suite_01/Tests/test_20.stable.err
        monetdb5/tests/suite_01/Tests/test_20.stable.out
        monetdb5/tests/suite_01/Tests/test_30.mal
        monetdb5/tests/suite_01/Tests/test_30.stable.err
        monetdb5/tests/suite_01/Tests/test_30.stable.out
        monetdb5/tests/suite_01/Tests/test_30.stable.out.64bit
        monetdb5/tests/suite_01/Tests/test_30.stable.out.Darwin
        monetdb5/tests/suite_01/Tests/test_30.stable.out.Linux
        monetdb5/tests/suite_01/Tests/test_30.stable.out.Linux.64bit
        monetdb5/tests/suite_01/Tests/test_50.mal
        monetdb5/tests/suite_01/Tests/test_50.stable.err
        monetdb5/tests/suite_01/Tests/test_50.stable.out
        monetdb5/tests/suite_01/Tests/test_60.mal
        monetdb5/tests/suite_01/Tests/test_60.stable.err
        monetdb5/tests/suite_01/Tests/test_60.stable.out
        monetdb5/tests/suite_01/Tests/test_60.stable.out.64bit
        monetdb5/tests/suite_01/Tests/test_60.stable.out.Darwin
        monetdb5/tests/suite_01/Tests/test_60.stable.out.Linux
        monetdb5/tests/suite_01/Tests/test_60.stable.out.Linux.64bit
        monetdb5/tests/suite_01/Tests/test_90.mal
        monetdb5/tests/suite_01/Tests/test_90.modules
        monetdb5/tests/suite_01/Tests/test_90.stable.err
        monetdb5/tests/suite_01/Tests/test_90.stable.out
        monetdb5/tests/suite_06/Tests/test_00.mal
        monetdb5/tests/suite_06/Tests/test_00.modules
        monetdb5/tests/suite_06/Tests/test_00.stable.err
        monetdb5/tests/suite_06/Tests/test_00.stable.out
        monetdb5/tests/suite_06/Tests/test_02.mal
        monetdb5/tests/suite_06/Tests/test_02.stable.err
        monetdb5/tests/suite_06/Tests/test_02.stable.out
        tools/merovingian/ChangeLog.Jan2014
Modified Files:
        configure.ag
        gdk/gdk_imprints.c
Branch: geo
Log Message:

Fix merge problems.
Mostly files that weren't deleted.


diffs (truncated from 160887 to 300 lines):

diff --git a/buildtools/ChangeLog.Jan2014 b/buildtools/ChangeLog.Jan2014
deleted file mode 100644
--- a/buildtools/ChangeLog.Jan2014
+++ /dev/null
@@ -1,3 +0,0 @@
-# ChangeLog file for buildtools
-# This file is updated with Maddlog
-
diff --git a/clients/ChangeLog.Jan2014 b/clients/ChangeLog.Jan2014
deleted file mode 100644
--- a/clients/ChangeLog.Jan2014
+++ /dev/null
@@ -1,3 +0,0 @@
-# ChangeLog file for clients
-# This file is updated with Maddlog
-
diff --git a/clients/R/MonetDB.R/R/monetdb.R b/clients/R/MonetDB.R/R/monetdb.R
deleted file mode 100644
--- a/clients/R/MonetDB.R/R/monetdb.R
+++ /dev/null
@@ -1,958 +0,0 @@
-require(DBI)
-require(digest)
-
-C_LIBRARY <- "MonetDB.R"
-
-.onLoad <- function(lib, pkg) {
-  library.dynam( C_LIBRARY, pkg, lib )
-  .Call("mapiInit", PACKAGE=C_LIBRARY)
-}
-
-# Make S4 aware of S3 classes
-setOldClass(c("sockconn", "connection", "monetdb_mapi_conn"))
-
-### MonetDBDriver
-setClass("MonetDBDriver", representation("DBIDriver"))
-
-# allow instantiation of this driver with MonetDB to allow existing programs 
to work
-MonetR <- MonetDB <- MonetDBR <- MonetDB.R <- function() {
-  new("MonetDBDriver")
-}
-
-setMethod("dbGetInfo", "MonetDBDriver", def=function(dbObj, ...)
-  list(name="MonetDBDriver", 
-       driver.version="0.9.5", 
-       DBI.version="0.2-7", 
-       client.version=NA, 
-       max.connections=NA)
-)
-
-# shorthand for connecting to the DB, very handy, e.g. dbListTables(mc("acs"))
-mc <- function(dbname="demo", user="monetdb", password="monetdb", 
host="localhost", port=50000L, 
-               timeout=86400L, wait=FALSE, language="sql", ...) {
-  
-  dbConnect(MonetDB.R(), dbname, user, password, host, port, timeout, wait, 
language, ...)
-}
-
-mq <- function(dbname, query, ...) {
-  conn <- mc(dbname, ...)
-  res <- dbGetQuery(conn, query)
-  dbDisconnect(conn)
-  return(res)
-}
-
-setMethod("dbConnect", "MonetDBDriver", def=function(drv, dbname="demo", 
user="monetdb", 
-                                                     password="monetdb", 
host="localhost", port=50000L, timeout=86400L, wait=FALSE, language="sql", 
-                                                     ..., url="") {
-  
-  if (substring(url, 1, 10) == "monetdb://") {
-    dbname <- url
-  }
-  timeout <- as.integer(timeout)
-  
-  if (substring(dbname, 1, 10) == "monetdb://") {
-    rest <- substring(dbname, 11, nchar(dbname))
-    # split at /, so we get the dbname
-    slashsplit <- strsplit(rest, "/", fixed=TRUE)
-    hostport <- slashsplit[[1]][1]
-    dbname <- slashsplit[[1]][2]
-    
-    # count the number of : in the string
-    ndc <- nchar(hostport) - nchar(gsub(":","",hostport,fixed=T))
-    if (ndc == 0) {
-      host <- hostport
-    }
-    if (ndc == 1) { # ipv4 case, any ipv6 address has more than one :
-      hostportsplit <- strsplit(hostport, ":", fixed=TRUE)
-      host <- hostportsplit[[1]][1]
-      port <- hostportsplit[[1]][2]
-    }
-    if (ndc > 1) { # ipv6 case, now we only need to check for ]:
-      if (length(grep("]:", hostport, fixed=TRUE)) == 1) { # ipv6 with port 
number
-        hostportsplit <- strsplit(hostport, "]:", fixed=TRUE)
-        host <- substring(hostportsplit[[1]][1],2)
-        port <- hostportsplit[[1]][2]
-      }
-      else {
-        host <- hostport
-      }
-    }
-  }
-  # this is important, otherwise we'll trip an assertion
-  port <- as.integer(port)
-
-  # validate port number
-  if (length(port) != 1 || port < 1 || port > 65535) {
-    stop("Illegal port number ",port)
-  }
-  
-  if (getOption("monetdb.debug.mapi", F)) message("II: Connecting to MonetDB 
on host ", host, " at "
-                                                  ,"port ", port, " to DB ", 
dbname, " with user ", user, " and a non-printed password, timeout is "
-                                                  , timeout, " seconds.")
-  socket <- FALSE
-  if (wait) {
-    repeat {
-      continue <- FALSE
-      tryCatch ({
-        # open socket with 5-sec timeout so we can check whether everything 
works
-        socket <- socket <<- .Call("mapiConnect", host, port, 5, 
PACKAGE=C_LIBRARY)
-        # authenticate
-        .monetAuthenticate(socket, dbname, user, password, language=language)
-        # test the connection to make sure it works before
-        .Call("mapiDisconnect", socket, PACKAGE=C_LIBRARY)
-        break
-      }, error = function(e) {
-        if ("connection" %in% class(socket)) {
-          .Call("mapiDisconnect", socket, PACKAGE=C_LIBRARY)
-        }
-        message("Server not ready(", e$message, "), retrying (ESC or CTRL+C to 
abort)")
-        Sys.sleep(1)
-        continue <<- TRUE
-      })
-    }
-  }
-  
-  # make new socket with user-specified timeout
-  socket <- .Call("mapiConnect", host, port, timeout, PACKAGE=C_LIBRARY)
-  .monetAuthenticate(socket, dbname, user, password, language=language)
-  connenv <- new.env(parent=emptyenv())
-  connenv$lock <- 0
-  connenv$deferred <- list()
-  connenv$exception <- list()
-  
-  conn <- new("MonetDBConnection", socket=socket, connenv=connenv, Id=-1L)
-  if (getOption("monetdb.sequential", F)) {
-    message("MonetDB: Switching to single-threaded query execution.")
-    dbSendQuery(conn, "set optimizer='sequential_pipe'")
-  }
-  
-  return(conn)
-}, 
-valueClass="MonetDBConnection")
-
-
-### MonetDBConnection
-setClass("MonetDBConnection", representation("DBIConnection", 
socket="externalptr", 
-                                             connenv="environment", 
fetchSize="integer", Id="integer"))
-
-setMethod("dbGetInfo", "MonetDBConnection", def=function(dbObj, ...) {
-  envdata <- dbGetQuery(dbObj, "SELECT name, value from sys.env()")
-  ll <- as.list(envdata$value)
-  names(ll) <- envdata$name
-  ll$name <- "MonetDBConnection"
-  return(ll)
-})
-
-setMethod("dbDisconnect", "MonetDBConnection", def=function(conn, ...) {
-  .Call("mapiDisconnect", conn@socket, PACKAGE=C_LIBRARY)
-  return(invisible(TRUE))
-})
-
-setMethod("dbListTables", "MonetDBConnection", def=function(conn, ..., 
sys_tables=F, schema_names=F, quote=F) {
-  q <- "select schemas.name as sn, tables.name as tn from sys.tables join 
sys.schemas on tables.schema_id=schemas.id"
-  if (!sys_tables) q <- paste0(q, " where tables.system=false")
-  df <- dbGetQuery(conn, q)
-  if (quote) {
-    df$tn <- paste0("\"", df$tn, "\"")
-  }
-  res <- df$tn
-  if (schema_names) {
-    if (quote) {
-      df$sn <- paste0("\"", df$sn, "\"")
-    }
-    res <- paste0(df$sn, ".", df$tn)
-  }
-  return(as.character(res))
-})
-
-if (is.null(getGeneric("dbTransaction"))) setGeneric("dbTransaction", 
function(conn, ...) 
-  standardGeneric("dbTransaction"))
-
-setMethod("dbTransaction", signature(conn="MonetDBConnection"),  
def=function(conn, ...) {
-  dbSendQuery(conn, "START TRANSACTION")
-  invisible(TRUE)
-})
-
-setMethod("dbCommit", "MonetDBConnection", def=function(conn, ...) {
-  dbSendQuery(conn, "COMMIT")
-  invisible(TRUE)
-})
-
-setMethod("dbRollback", "MonetDBConnection", def=function(conn, ...) {
-  dbSendQuery(conn, "ROLLBACK")
-  invisible(TRUE)
-})
-
-setMethod("dbListFields", "MonetDBConnection", def=function(conn, name, ...) {
-  if (!dbExistsTable(conn, name))
-    stop(paste0("Unknown table: ", name));
-  df <- dbGetQuery(conn, paste0("select columns.name as name from sys.columns 
join sys.tables on \
-    columns.table_id=tables.id where tables.name='", name, "';"))      
-  df$name
-})
-
-setMethod("dbExistsTable", "MonetDBConnection", def=function(conn, name, ...) {
-  #TODO: make this work with more cases
-  tolower(name) %in% tolower(dbListTables(conn,sys_tables=T))
-})
-
-setMethod("dbGetException", "MonetDBConnection", def=function(conn, ...) {
-  conn@connenv$exception
-})
-
-setMethod("dbReadTable", "MonetDBConnection", def=function(conn, name, ...) {
-  if (!dbExistsTable(conn, name))
-    stop(paste0("Unknown table: ", name));
-  dbGetQuery(conn, paste0("SELECT * FROM ", name))
-})
-
-setMethod("dbGetQuery", signature(conn="MonetDBConnection", 
statement="character"),  
-          def=function(conn, statement, ...) {
-            
-            res <- dbSendQuery(conn, statement, ...)
-            data <- fetch(res, -1)
-            dbClearResult(res)
-            return(data)
-          })
-
-# This one does all the work in this class
-setMethod("dbSendQuery", signature(conn="MonetDBConnection", 
statement="character"),  
-          def=function(conn, statement, ..., list=NULL, async=FALSE) {
-            
-            if(!is.null(list) || length(list(...))){
-              if (length(list(...))) statement <- .bindParameters(statement, 
list(...))
-              if (!is.null(list)) statement <- .bindParameters(statement, list)
-            }  
-            conn@connenv$exception <- list()
-            env <- NULL
-            if (getOption("monetdb.debug.query", F))  message("QQ: '", 
statement, "'")
-            resp <- .mapiParseResponse(.mapiRequest(conn, paste0("s", 
statement, ";"), async=async))
-            
-            env <- new.env(parent=emptyenv())
-            
-            if (resp$type == Q_TABLE) {
-              # we have to pass this as an environment to make conn object 
available to result for fetching
-              env$success = TRUE
-              env$conn <- conn
-              env$data <- resp$tuples
-              resp$tuples <- NULL # clean up
-              env$info <- resp
-              env$delivered <- 0
-              env$query <- statement
-            }
-            if (resp$type == Q_UPDATE || resp$type == Q_CREATE || resp$type == 
MSG_ASYNC_REPLY) {
-              env$success = TRUE
-              env$conn <- conn
-              env$query <- statement
-              env$info <- resp
-            }
-            if (resp$type == MSG_MESSAGE) {
-              env$success = FALSE
-              env$conn <- conn
-              env$query <- statement
-              env$info <- resp
-              env$message <- resp$message
-            }
-            
-            if (!env$success) {
-              sp <- strsplit(env$message, "!", fixed=T)[[1]]
-              # truncate statement to not hide actual error message
-              if (nchar(statement) > 100) { statement <- 
paste0(substring(statement, 1, 100), "...") }
-              if (length(sp) == 3) {
-                errno <- sp[[2]]
-                errmsg <- sp[[3]]
-                conn@connenv$exception <- list(errNum=errno, errMsg=errmsg)
-                stop("Unable to execute statement '", statement, "'.\nServer 
says '", errmsg, "' [#", 
-                     errno, "].")
-              }
-              else {
-                conn@connenv$exception <- list(errNum=NA, errMsg=env$message)
-                stop("Unable to execute statement '", statement, "'.\nServer 
says '", env$message, "'.")
-              }
-            }
-            
-            return(new("MonetDBResult", env=env))
-          })
-
-
-# adapted from RMonetDB, very useful...
-setMethod("dbWriteTable", "MonetDBConnection", def=function(conn, name, value, 
overwrite=FALSE, 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to