Changeset: 2a2e546666cb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2a2e546666cb
Added Files:
        clients/R/MonetDB.R/man/src_monetdb.Rd
        clients/Tests/malcheck.sh
        clients/Tests/malcheck.stable.err
        clients/Tests/malcheck.stable.out
        clients/Tests/malcheck.timeout
        sql/test/BugTracker-2014/Tests/copy_decimal_into.Bug-3596.sql
        sql/test/BugTracker-2014/Tests/copy_decimal_into.Bug-3596.stable.err
        sql/test/BugTracker-2014/Tests/copy_decimal_into.Bug-3596.stable.out
        sql/test/BugTracker-2014/Tests/duplicate_primary_keys.Bug-3474.sql
        
sql/test/BugTracker-2014/Tests/duplicate_primary_keys.Bug-3474.stable.err
        
sql/test/BugTracker-2014/Tests/duplicate_primary_keys.Bug-3474.stable.out
        sql/test/BugTracker-2014/Tests/insert_into_temp_table.Bug-3600.sql
        
sql/test/BugTracker-2014/Tests/insert_into_temp_table.Bug-3600.stable.err
        
sql/test/BugTracker-2014/Tests/insert_into_temp_table.Bug-3600.stable.out
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.err
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.sql
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.err
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
        sql/test/BugTracker-2014/Tests/sign-sorted.Bug-3594.sql
        sql/test/BugTracker-2014/Tests/sign-sorted.Bug-3594.stable.err
        sql/test/BugTracker-2014/Tests/sign-sorted.Bug-3594.stable.out
        testing/malcheck.py
Removed Files:
        clients/R/MonetDB.R/man/monetdbGetTransferredBytes.Rd
Modified Files:
        NT/monetdb_config.h.in
        clients/R/MonetDB.R/DESCRIPTION
        clients/R/MonetDB.R/NAMESPACE
        clients/R/MonetDB.R/NEWS
        clients/R/MonetDB.R/R/control.R
        clients/R/MonetDB.R/R/dbi.R
        clients/R/MonetDB.R/R/dplyr.R
        clients/R/MonetDB.R/R/mapi.R
        clients/R/MonetDB.R/src/mapi.c
        clients/R/Tests/dbi.R
        clients/R/Tests/dbi.stable.out
        clients/R/Tests/dplyr.R
        clients/R/Tests/dplyr.stable.err
        clients/R/Tests/dplyr.stable.out
        clients/R/Tests/install-dependencies.sh
        clients/R/Tests/install.sh
        clients/R/Tests/survey.R
        clients/Tests/All
        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
        clients/mapiclient/mclient.c
        clients/mapiclient/mnc.c
        clients/mapilib/mapi.c
        clients/mapilib/mapi.h
        clients/odbc/driver/ODBCGlobal.h
        common/stream/stream.c
        common/stream/stream_socket.h
        common/utils/mutils.c
        common/utils/mutils.h
        configure.ag
        gdk/gdk_align.c
        gdk/gdk_atoms.c
        gdk/gdk_bat.c
        gdk/gdk_calc.c
        gdk/gdk_imprints.c
        gdk/gdk_logger.c
        gdk/gdk_logger.h
        gdk/gdk_posix.c
        gdk/gdk_posix.h
        gdk/gdk_private.h
        gdk/gdk_storage.c
        gdk/gdk_system.h
        gdk/gdk_utils.c
        geom/monetdb5/geom.c
        java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
        monetdb5/NT/M5server.bat
        monetdb5/extras/rapi/rapi.c
        monetdb5/extras/rdf/rdf.h
        monetdb5/extras/rdf/rdfalgebra.c
        monetdb5/extras/sphinx/sphinx.c
        monetdb5/extras/sphinx/sphinx.h
        monetdb5/mal/mal_runtime.c
        monetdb5/modules/atoms/Tests/xml10.mal
        monetdb5/modules/atoms/Tests/xml10.stable.out
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/blob.h
        monetdb5/modules/atoms/mtime.mal
        monetdb5/modules/kernel/aggr.c
        monetdb5/modules/kernel/alarm.c
        monetdb5/modules/kernel/bat5.mal
        monetdb5/modules/kernel/batmmath.c
        monetdb5/modules/kernel/batmmath.h
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/kernel/counters.c
        monetdb5/modules/kernel/group.c
        monetdb5/modules/kernel/group.h
        monetdb5/modules/kernel/logger.c
        monetdb5/modules/kernel/mmath.c
        monetdb5/modules/kernel/mmath.h
        monetdb5/modules/kernel/mmath.mal
        monetdb5/modules/mal/Tests/inspect05.stable.out
        monetdb5/modules/mal/batcalc.c
        monetdb5/modules/mal/calc.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/mal_mapi.h
        monetdb5/modules/mal/manifold.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mkey.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/transaction.c
        monetdb5/optimizer/opt_groups.c
        monetdb5/scheduler/Tests/memo01.mal
        monetdb5/scheduler/Tests/memo01.stable.out
        monetdb5/scheduler/Tests/memo02.mal
        monetdb5/scheduler/Tests/memo02.stable.out
        monetdb5/tests/gdkTests/Tests/void.mal
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
        sql/backends/monet5/datacell/dcsocket.c
        sql/backends/monet5/datacell/opt_datacell.c
        sql/backends/monet5/datacell/opt_datacell.h
        sql/backends/monet5/gsl/gsl.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql_bat2time.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_cast.h
        sql/backends/monet5/sql_cast_impl_down_from_flt.h
        sql/backends/monet5/sql_cast_impl_down_from_int.h
        sql/backends/monet5/sql_cast_impl_up_to_flt.h
        sql/backends/monet5/sql_cast_impl_up_to_int.h
        sql/backends/monet5/sql_fround.c
        sql/backends/monet5/sql_fround_impl.h
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_round.c
        sql/backends/monet5/sql_round_impl.h
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/06-explain.stable.out
        sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-plan.stable.out
        sql/benchmarks/tpch/Tests/11-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/14-plan.stable.out
        sql/benchmarks/tpch/Tests/14-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/17-plan.stable.out
        sql/benchmarks/tpch/Tests/17-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-plan.stable.out
        sql/benchmarks/tpch/Tests/20-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/21-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/22-plan.stable.out
        sql/common/sql_hash.c
        sql/common/sql_string.c
        sql/common/sql_types.c
        sql/common/sql_types.h
        sql/include/sql_catalog.h
        sql/include/sql_hash.h
        sql/jdbc/tests/Tests/Test_Dobjects.stable.out
        sql/jdbc/tests/Tests/Test_Dobjects_bam.stable.out
        sql/server/rel_select.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
        sql/server/sql_mvc.c
        sql/server/sql_mvc.h
        sql/server/sql_parser.y
        sql/storage/bat/bat_logger.c
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_table.c
        sql/storage/bat/res_table.c
        sql/storage/restrict/restrict_logger.c
        sql/storage/restrict/restrict_table.c
        sql/storage/sql_catalog.c
        sql/storage/sql_storage.h
        sql/storage/store.c
        sql/storage/store_connections.c
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        
sql/test/BugTracker-2012/Tests/user_defined_decimal_function.Bug-2992.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2014/Tests/All
        sql/test/BugTracker-2014/Tests/stringfloatshtcompare.Bug-3512.stable.err
        sql/test/BugTracker-2014/Tests/stringfloatshtcompare.Bug-3512.stable.out
        
sql/test/BugTracker/Tests/alter_col_to_set_same_constraint.SF-1850781.stable.err
        sql/test/BugTracker/Tests/alter_table_add_fkey.SF-1737668.stable.err
        sql/test/BugTracker/Tests/alter_table_set_not_null.SF-1997030.stable.err
        sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err
        sql/test/BugTracker/Tests/auto_increment.SF-1834820.stable.err
        sql/test/BugTracker/Tests/between_having_problem.SF-1959391.stable.err
        sql/test/BugTracker/Tests/between_with_column.SF-1959410.stable.err
        sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
        sql/test/BugTracker/Tests/broken_join.SF-1373391.stable.err
        sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err
        sql/test/BugTracker/Tests/coalesce_equal_coalesce.SF-1907905.stable.err
        sql/test/BugTracker/Tests/copy_decimal.SF-1582957.stable.err
        sql/test/BugTracker/Tests/copy_overflow_null_bug.SF-1842550.stable.err
        sql/test/BugTracker/Tests/crash_on_fkey_update.SF-1703497.stable.err
        sql/test/BugTracker/Tests/crash_on_fkey_update2.SF-1703497.stable.err
        sql/test/BugTracker/Tests/create_column.SF-1643542.stable.err
        
sql/test/BugTracker/Tests/create_same_temp_tab_after_its_drop.SF-1850809.stable.err
        
sql/test/BugTracker/Tests/creation_of_exeception_for_select.SF-1841749.stable.err
        sql/test/BugTracker/Tests/drop_system_tables.SF-1550768.stable.err
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        
sql/test/BugTracker/Tests/groupby_orderby_nonselected.SF-1723863.stable.err
        sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err
        sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
        
sql/test/BugTracker/Tests/inserting_invalid_timestamp.SF-1363557.stable.err
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/BugTracker/Tests/limits_of_decimal.SF-1685357.stable.err
        sql/test/BugTracker/Tests/multivalue_insert.SF-1509864.stable.err
        sql/test/BugTracker/Tests/number_null_first_row.SF-1833286.stable.err
        sql/test/BugTracker/Tests/reset_session_vars.SF-1505987.stable.err
        sql/test/BugTracker/Tests/revoke_role.SF-1691646.stable.err
        sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.stable.err
        sql/test/BugTracker/Tests/set_operation_coersions.SF-1543216.stable.err
        sql/test/BugTracker/Tests/string2int_conversion.SF-1356068.stable.err
        sql/test/BugTracker/Tests/subquery_orderby.SF-1688915.stable.err
        
sql/test/BugTracker/Tests/table_dependency_inside_union.SF-1884382.stable.err
        sql/test/BugTracker/Tests/temporary_tables.SF-1715669.stable.err
        
sql/test/BugTracker/Tests/update_fkey_with_value_not_in_the_pkey.SF-1734143.stable.err
        sql/test/BugTracker/Tests/update_pkey_bug.SF-1733712.stable.err
        sql/test/BugTracker/Tests/variables.SF-1508160.stable.err
        sql/test/BugTracker/Tests/view_creation_using_func.SF-1714814.stable.err
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/leaks/Tests/check0.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/select1.stable.out
        sql/test/leaks/Tests/select2.stable.out
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/pg_regress/Tests/alter_table.sql
        sql/test/pg_regress/Tests/alter_table.stable.err
        sql/test/pg_regress/Tests/alter_table.stable.out
        sql/test/pg_regress/Tests/comments.stable.err
        sql/test/pg_regress/Tests/float4.stable.err
        sql/test/pg_regress/Tests/float8.sql
        sql/test/pg_regress/Tests/float8.stable.err
        sql/test/pg_regress/Tests/float8.stable.out
        sql/test/pg_regress/Tests/int8.stable.err
        sql/test/pg_regress/Tests/numeric.stable.err
        sql/test/pg_regress/Tests/numeric.stable.out
        sql/test/pg_regress/Tests/numerology.sql
        sql/test/pg_regress/Tests/numerology.stable.err
        sql/test/pg_regress/Tests/numerology.stable.out
        sql/test/pg_regress/Tests/strings.stable.err
        sql/test/pg_regress/Tests/strings.stable.out
        sql/test/pg_regress/Tests/strings_cast.sql
        sql/test/pg_regress/Tests/strings_cast.stable.err
        sql/test/pg_regress/Tests/strings_cast.stable.out
        sql/test/pg_regress/postgresql2sql99.sh
        testing/Makefile.ag
        testing/Mtest.py.in
        testing/exportutils.py
        testing/listexports.py.in
        tools/merovingian/daemon/client.c
        tools/merovingian/daemon/connections.c
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/daemon/forkmserver.c
        tools/merovingian/daemon/merovingian.c
        tools/merovingian/daemon/multiplex-funnel.c
        tools/merovingian/daemon/proxy.c
        tools/merovingian/utils/control.c
        tools/merovingian/utils/properties.c
        tools/merovingian/utils/properties.h
        tools/merovingian/utils/utils.c
        tools/merovingian/utils/utils.h
Branch: HTM
Log Message:

Merge with default branch
Resolve conflicts
Fix a few issues:
- Incorrect return for SQLprecommit
- Incorrect error messages


diffs (truncated from 23565 to 300 lines):

diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -111,13 +111,6 @@
 /* Define to 1 if you have the <crypt.h> header file. */
 /* #undef HAVE_CRYPT_H */
 
-/* Define to 1 if you have the <cstdio> header file. */
-#if _MSC_VER >= 1300
-#define HAVE_CSTDIO 1
-#else
-/* #undef HAVE_CSTDIO */
-#endif
-
 /* Define to 1 if you have the `ctime_r' function. */
 #define HAVE_CTIME_R 1
 
@@ -151,6 +144,9 @@
 /* If the system has a working fdatasync */
 /* #undef HAVE_FDATASYNC */
 
+/* Define to 1 if you have the <fenv.h> header file. */
+/* #undef HAVE_FENV_H */
+
 /* Define to 1 if you have the `fpclass' function. */
 #define HAVE_FPCLASS 1
 
@@ -226,13 +222,6 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1      /* generated by the Makefile */
 
-/* Define to 1 if you have the <iostream> header file. */
-#if _MSC_VER >= 1300
-#define HAVE_IOSTREAM 1
-#else
-/* #undef HAVE_IOSTREAM */
-#endif
-
 /* Define to 1 if you have the <io.h> header file. */
 #define HAVE_IO_H 1
 
@@ -1038,9 +1027,6 @@ typedef unsigned __int64 uint64_t;
 #define __bool_true_false_are_defined 1
 
 
-#define SLASH_2_DIR_SEP(s) {char *t; for(t=strchr(s, '/'    ); t; 
t=strchr(t+1, '/'    )) *t=DIR_SEP;}
-#define DIR_SEP_2_SLASH(s) {char *t; for(t=strchr(s, DIR_SEP); t; 
t=strchr(t+1, DIR_SEP)) *t='/'    ;}
-
 #ifdef HAVE_LONG_LONG
 typedef long long lng;
 # define SIZEOF_LNG SIZEOF_LONG_LONG
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
@@ -4,14 +4,11 @@ Title: Connect MonetDB to R
 Authors@R: c(person("Hannes Muehleisen", role = c("aut", "cre"),email = 
"han...@cwi.nl"),
        person("Thomas Lumley", role = "ctb"),
        person("Anthony Damico", role = "ctb"))
-Depends: DBI (>= 0.3), digest (>= 0.6.4), bitops (>= 1.0), methods
-Suggests: dplyr(>= 0.2.0.9000)
-Description: Allows to pull data from MonetDB into R
+Author: Hannes Muehleisen [aut, cre], Thomas Lumley [ctb], Anthony Damico [ctb]
+Maintainer: Hannes Muehleisen <han...@cwi.nl>
+Depends: DBI (>= 0.3.1), digest (>= 0.6.4), methods, R (>= 3.1.1)
+Enhances: dplyr (>= 0.3.0)
+Description: Allows to pull data from MonetDB into R. Includes a DBI 
implementation and a dplyr backend.
 License: MPL (== 1.1)
 URL: http://monetr.r-forge.r-project.org
-Maintainer: Hannes Muehleisen <han...@cwi.nl>
-SystemRequirements: MonetDB installation, available at
-        http://www.monetdb.org
-Author: Hannes Muehleisen [aut, cre],
-  Thomas Lumley [ctb],
-  Anthony Damico [ctb]
+SystemRequirements: MonetDB, available from http://www.monetdb.org
\ No newline at end of file
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
@@ -1,10 +1,10 @@
-import(DBI,digest,methods,bitops)
+import(DBI,digest,methods)
 
 # export only driver constructor, everything else is DBI stuff..
 export(MonetDB,MonetR,MonetDBR,MonetDB.R)
 export(monet.read.csv,monetdb.read.csv)
 # this one is not in the DBI
-exportMethods(dbSendUpdate,dbSendUpdateAsync,dbTransaction,dbIsValid)
+exportMethods(dbSendUpdate,dbSendUpdateAsync,dbTransaction)
 # shorthands
 export(mc,mq)
 
@@ -18,8 +18,8 @@ useDynLib(MonetDB.R)
 
 # dplyr.R
 export(src_monetdb)
-export(translate_env.src_monetdb)
-export(brief_desc.src_monetdb)
+export(src_translate_env.src_monetdb)
+export(src_desc.src_monetdb)
 export(tbl.src_monetdb)
 export(db_query_fields.MonetDBConnection)
 export(db_query_rows.MonetDBConnection)
@@ -27,5 +27,5 @@ export(db_save_query.MonetDBConnection)
 export(db_insert_into.MonetDBConnection)
 export(db_create_index.MonetDBConnection)
 export(db_analyze.MonetDBConnection)
-export(db_begin.MonetDBConnection)
 export(sql_subquery.MonetDBConnection)
+export(monetdb_queryinfo)
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,12 +1,12 @@
 0.9.5
-- Fixed package date (Thanks, Dimitar)
+- Removed package date (Thanks, Dimitar)
 - Added sys. schema name to internal queries, so SET SCHEMA xx would not break 
things (Thanks again, Dimitar)
 - Fixed monetdb:// URL handling on newer R versions (Thanks, Alex)
 - DBI 0.3 compatibility (isValid etc.)
 - deprecated dbTransaction() (DBI has standardized dbBegin())
 - Back to R socket code for peace of mind
 - Code cleanup
-- dplyr integration moved to MonetDB.R
+- dplyr integration moved to MonetDB.R package
 
 0.9.4
 - dbWriteTable overhaul (thanks, Anthony)
diff --git a/clients/R/MonetDB.R/R/control.R b/clients/R/MonetDB.R/R/control.R
--- a/clients/R/MonetDB.R/R/control.R
+++ b/clients/R/MonetDB.R/R/control.R
@@ -69,10 +69,20 @@ monetdb.server.start <-
 
 
 monetdb.server.stop <-
-  function( correct.pid ){
+  function( correct.pid, wait=T ){
     
     if ( .Platform$OS.type == "unix" ) {
-      system(paste0("kill ",correct.pid))
+      system(paste0("kill ",correct.pid))  
+      waittime <- 2
+      if (!wait) return(TRUE)
+      Sys.sleep(1)
+      repeat {
+        psout <- system(paste0("ps ax | grep \"^", correct.pid, 
".*mserver5\""), ignore.stdout=T) 
+        if (psout != 0) break
+        message("Waiting ",waittime,"s for server shutdown (ESC or CTRL+C to 
abort)")
+        Sys.sleep(waittime)
+        waittime <- waittime * 2
+      }
     } 
     
     if ( .Platform$OS.type == "windows" ) {
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
@@ -18,17 +18,12 @@ MonetR <- MonetDB <- MonetDBR <- MonetDB
   new("MonetDBDriver")
 }
 
-# dbIsValid is missing from the DBI 0.3, so redefine
-setGeneric("dbIsValid", 
-  def = function(dbObj, ...) standardGeneric("dbIsValid"),
-  valueClass = "logical")
-
 setMethod("dbIsValid", "MonetDBDriver", def=function(dbObj, ...) {
-  return(TRUE) # driver object cannot be invalid
+  return(invisible(TRUE)) # driver object cannot be invalid
 })
 
 setMethod("dbUnloadDriver", "MonetDBDriver", def=function(drv, ...) {
-  return(TRUE) # there is nothing to really unload here...
+  return(invisible(TRUE)) # there is nothing to really unload here...
 })
 
 setMethod("dbGetInfo", "MonetDBDriver", def=function(dbObj, ...)
@@ -107,7 +102,7 @@ setMethod("dbConnect", "MonetDBDriver", 
       continue <- FALSE
       tryCatch ({
         # open socket with 5-sec timeout so we can check whether everything 
works
-        socket <- socket <<- .mapiConnect(host, port, 5)
+        suppressWarnings(socket <- socket <<- .mapiConnect(host, port, 5))
         # authenticate
         .mapiAuthenticate(socket, dbname, user, password, language=language)
         .mapiDisconnect(socket)
@@ -124,7 +119,7 @@ setMethod("dbConnect", "MonetDBDriver", 
   }
   
   # make new socket with user-specified timeout
-  socket <- .mapiConnect(host, port, 5) 
+  socket <- .mapiConnect(host, port, timeout) 
   .mapiAuthenticate(socket, dbname, user, password, language=language)
   connenv <- new.env(parent=emptyenv())
   connenv$lock <- 0
@@ -156,7 +151,7 @@ setMethod("dbGetInfo", "MonetDBConnectio
 })
 
 setMethod("dbIsValid", "MonetDBConnection", def=function(dbObj, ...) {
-  return(!is.na(tryCatch(dbGetInfo(dbObj), error=function(e){NA})))
+  return(invisible(!is.na(tryCatch({dbGetInfo(dbObj);TRUE}, 
error=function(e){NA}))))
 })
 
 setMethod("dbDisconnect", "MonetDBConnection", def=function(conn, ...) {
@@ -214,8 +209,9 @@ setMethod("dbListFields", "MonetDBConnec
 })
 
 setMethod("dbExistsTable", "MonetDBConnection", def=function(conn, name, ...) {
-  #TODO: make this work with more cases
-  tolower(name) %in% tolower(dbListTables(conn,sys_tables=T))
+  # TODO: this is evil... 
+  return(tolower(gsub("(^\"|\"$)","",as.character(name))) %in% 
+    tolower(dbListTables(conn,sys_tables=T)))
 })
 
 setMethod("dbGetException", "MonetDBConnection", def=function(conn, ...) {
@@ -225,7 +221,7 @@ setMethod("dbGetException", "MonetDBConn
 setMethod("dbReadTable", "MonetDBConnection", def=function(conn, name, ...) {
   if (!dbExistsTable(conn, name))
     stop(paste0("Unknown table: ", name));
-  dbGetQuery(conn, paste0("SELECT * FROM ", name))
+  dbGetQuery(conn,paste0("SELECT * FROM ", name))
 })
 
 # This one does all the work in this class
@@ -315,7 +311,7 @@ setMethod("dbWriteTable", "MonetDBConnec
   if (overwrite && append) {
     stop("Setting both overwrite and append to true makes no sense.")
   }
-  qname <- dbQuoteIdentifier(conn, name)
+  qname <- make.db.names(conn, name)
   if (dbExistsTable(conn, qname)) {
     if (overwrite) dbRemoveTable(conn, qname)
     if (!overwrite && !append) stop("Table ", qname, " already exists. Set 
overwrite=TRUE if you want 
@@ -324,7 +320,7 @@ setMethod("dbWriteTable", "MonetDBConnec
   }
   if (!dbExistsTable(conn, qname)) {
     fts <- sapply(value, dbDataType, dbObj=conn)
-    fdef <- paste(dbQuoteIdentifier(conn, names(value)), fts, collapse=', ')
+    fdef <- paste(make.db.names(conn, names(value)), fts, collapse=', ')
     ct <- paste("CREATE TABLE ", qname, " (", fdef, ")", sep= '')
     dbSendUpdate(conn, ct)
   }
@@ -580,21 +576,21 @@ setMethod("dbClearResult", "MonetDBResul
       res@env$open <- FALSE
     }
   }
-  invisible(TRUE)
+  return(invisible(TRUE))
 }, valueClass = "logical")
 
 setMethod("dbHasCompleted", "MonetDBResult", def = function(res, ...) {
   if (res@env$info$type == Q_TABLE) {
     return(res@env$delivered == res@env$info$rows)
   }
-  return(TRUE)
+  return(invisible(TRUE))
 }, valueClass = "logical")
 
 setMethod("dbIsValid", signature(dbObj="MonetDBResult"), def=function(dbObj, 
...) {
   if (dbObj@env$info$type == Q_TABLE) {
     return(dbObj@env$open)
   }
-  return(TRUE)
+  return(invisible(TRUE))
 })
 
 monetTypes <- rep(c("numeric", "character", "character", "logical", "raw"), 
c(9, 3, 4, 1, 1))
diff --git a/clients/R/MonetDB.R/R/dplyr.R b/clients/R/MonetDB.R/R/dplyr.R
--- a/clients/R/MonetDB.R/R/dplyr.R
+++ b/clients/R/MonetDB.R/R/dplyr.R
@@ -1,36 +1,35 @@
 src_monetdb <- function(dbname, host = "localhost", port = 50000L, user = 
"monetdb",
   password = "monetdb", ...) {
+  requireNamespace("dplyr")
   con <- dbConnect(MonetDB.R(), dbname = dbname , host = host, port = port,
     user = user, password = password, ...)
-  src_sql("monetdb", con, info = dbGetInfo(con))
+  dplyr::src_sql("monetdb", con, info = dbGetInfo(con))
 }
 
-translate_env.src_monetdb <- function(x) {
-  sql_variant(
-    base_scalar,
-    sql_translator(.parent = base_agg,
-      n = function() sql("COUNT(*)"),
-      sd =  sql_prefix("STDDEV_SAMP"),
-      var = sql_prefix("VAR_SAMP"),
-      median = sql_prefix("MEDIAN")
+src_translate_env.src_monetdb <- function(x) {
+  dplyr::sql_variant(
+    dplyr::base_scalar,
+    dplyr::sql_translator(.parent = dplyr::base_agg,
+      n = function() dplyr::sql("COUNT(*)"),
+      sd =  dplyr::sql_prefix("STDDEV_SAMP"),
+      var = dplyr::sql_prefix("VAR_SAMP"),
+      median = dplyr::sql_prefix("MEDIAN")
     )
   )
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to