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 =
"[email protected]"),
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 <[email protected]>
+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 <[email protected]>
-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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list