Changeset: dd4124466d91 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dd4124466d91 Added Files: 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/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/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/exportutils.py testing/malcheck.py Removed Files: clients/R/MonetDB.R/R/monetdb.R clients/R/MonetDB.R/man/monetdbGetTransferredBytes.Rd monetdb5/modules/kernel/alarm.h 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/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/SQL-dump_all.stable.out.int128 clients/Tests/SQL-dump_all.stable.out.oid32.int128 clients/Tests/SQL-dump_geom.stable.out.int128 clients/Tests/SQL-dump_geom.stable.out.oid32.int128 clients/Tests/exports.py 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.h gdk/gdk_align.c gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc_compare.h gdk/gdk_imprints.c gdk/gdk_join.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 gdk/gdk_value.c geom/monetdb5/geom.c java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java monetdb5/NT/M5server.bat monetdb5/extras/mal_optimizer_template/opt_sql_append.c monetdb5/extras/rapi/rapi.c monetdb5/extras/rapi/rapi.h monetdb5/extras/rdf/rdf.h monetdb5/extras/rdf/rdfalgebra.c monetdb5/extras/sphinx/sphinx.c monetdb5/extras/sphinx/sphinx.h monetdb5/mal/mal.c monetdb5/mal/mal_builder.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_factory.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_interpreter.h monetdb5/mal/mal_profiler.c monetdb5/mal/mal_recycle.c monetdb5/mal/mal_runtime.c monetdb5/mal/mal_sabaoth.c monetdb5/mal/mal_sabaoth.h 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/identifier.c monetdb5/modules/atoms/identifier.h monetdb5/modules/atoms/json.c monetdb5/modules/atoms/json.h monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.h monetdb5/modules/atoms/mtime.mal monetdb5/modules/atoms/str.c monetdb5/modules/atoms/str.h monetdb5/modules/atoms/streams.c monetdb5/modules/atoms/streams.h monetdb5/modules/atoms/url.c monetdb5/modules/atoms/url.h monetdb5/modules/atoms/url.mal monetdb5/modules/atoms/uuid.c monetdb5/modules/atoms/xml.c monetdb5/modules/atoms/xml.h monetdb5/modules/kernel/Makefile.ag monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/alarm.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/bat5.h monetdb5/modules/kernel/bat5.mal monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batcolor.h monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/batmmath.h monetdb5/modules/kernel/batmmath.mal 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/logger.mal monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/kernel/microbenchmark.h monetdb5/modules/kernel/mmath.c monetdb5/modules/kernel/mmath.h monetdb5/modules/kernel/mmath.mal monetdb5/modules/kernel/status.c monetdb5/modules/kernel/status.h monetdb5/modules/mal/01_batcalc.mal monetdb5/modules/mal/01_batcalc.mal.sh monetdb5/modules/mal/Tests/inspect05.stable.out monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batExtensions.h monetdb5/modules/mal/batExtensions.mal monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/bbp.c monetdb5/modules/mal/bbp.h monetdb5/modules/mal/calc.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/cluster.c monetdb5/modules/mal/cluster.h monetdb5/modules/mal/factories.c monetdb5/modules/mal/factories.h monetdb5/modules/mal/groupby.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/inspect.h monetdb5/modules/mal/iterator.c monetdb5/modules/mal/iterator.h monetdb5/modules/mal/joinpath.c monetdb5/modules/mal/json_util.c monetdb5/modules/mal/json_util.h monetdb5/modules/mal/language.c monetdb5/modules/mal/language.h monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mal_mapi.h monetdb5/modules/mal/mal_mapi.mal monetdb5/modules/mal/manifold.c monetdb5/modules/mal/manual.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/mat.h monetdb5/modules/mal/mdb.c monetdb5/modules/mal/mdb.h monetdb5/modules/mal/mkey.c monetdb5/modules/mal/mkey.h monetdb5/modules/mal/pcre.c monetdb5/modules/mal/pcre.mal monetdb5/modules/mal/profiler.c monetdb5/modules/mal/profiler.h monetdb5/modules/mal/querylog.c monetdb5/modules/mal/querylog.h monetdb5/modules/mal/recycle.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/remote.h monetdb5/modules/mal/sabaoth.c monetdb5/modules/mal/sabaoth.h monetdb5/modules/mal/sample.c monetdb5/modules/mal/sample.h monetdb5/modules/mal/sample.mal monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/sysmon.mal monetdb5/modules/mal/tokenizer.c monetdb5/modules/mal/tokenizer.h monetdb5/modules/mal/trader.c monetdb5/modules/mal/transaction.c monetdb5/modules/mal/txtsim.c monetdb5/modules/mal/txtsim.h monetdb5/modules/mal/zorder.c monetdb5/modules/mal/zorder.h monetdb5/optimizer/opt_centipede.c monetdb5/optimizer/opt_groups.c monetdb5/optimizer/opt_mapreduce.c monetdb5/optimizer/opt_mapreduce.h monetdb5/optimizer/opt_octopus.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_pipes.h monetdb5/optimizer/opt_statistics.c monetdb5/optimizer/opt_statistics.h monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_support.h monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.c monetdb5/optimizer/optimizer.mal monetdb5/scheduler/Tests/memo01.mal monetdb5/scheduler/Tests/memo01.stable.out monetdb5/scheduler/Tests/memo02.mal monetdb5/scheduler/Tests/memo02.stable.out monetdb5/scheduler/run_adder.c monetdb5/scheduler/run_memo.c monetdb5/scheduler/run_octopus.c monetdb5/scheduler/srvpool.c monetdb5/scheduler/srvpool.h monetdb5/tests/BugReports/Tests/no.016.mal monetdb5/tests/BugReports/Tests/no.016.stable.out monetdb5/tests/gdkTests/Tests/void.mal sql/backends/monet5/LSST/lsst.c sql/backends/monet5/LSST/lsst.h sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.stable.out sql/backends/monet5/bam/bam.mal sql/backends/monet5/bam/bam_export.c sql/backends/monet5/bam/bam_export.h sql/backends/monet5/bam/bam_loader.c sql/backends/monet5/datacell/basket.c sql/backends/monet5/datacell/basket.h sql/backends/monet5/datacell/basket.mal sql/backends/monet5/datacell/datacell.c sql/backends/monet5/datacell/datacell.h sql/backends/monet5/datacell/dcoperator.c sql/backends/monet5/datacell/dcoperator.h sql/backends/monet5/datacell/dcsocket.c sql/backends/monet5/datacell/emitter.c sql/backends/monet5/datacell/emitter.h sql/backends/monet5/datacell/opt_datacell.c sql/backends/monet5/datacell/opt_datacell.h sql/backends/monet5/datacell/petrinet.c sql/backends/monet5/datacell/petrinet.h sql/backends/monet5/datacell/petrinet.mal sql/backends/monet5/datacell/receptor.c sql/backends/monet5/datacell/receptor.h sql/backends/monet5/generator/generator.c sql/backends/monet5/gsl/gsl.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal 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_rdf.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_round.c sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_scenario.h sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_user.c sql/backends/monet5/vaults/fits.c sql/backends/monet5/vaults/mseed.c sql/backends/monet5/vaults/vault.c sql/backends/monet5/vaults/vault.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_dump.c sql/server/rel_optimizer.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/sql_atom.c sql/server/sql_atom.h sql/server/sql_decimal.c sql/server/sql_decimal.h sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_scan.c 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-2009/Tests/primekeyconstraint.SF-2783425.stable.err sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.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/identifiers.stable.err sql/test/Tests/identifiers.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/bugs/Tests/alter_add_column-bug.stable.err sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3_bam.stable.out sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4_bam.stable.out sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5_bam.stable.out sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select1_bam.stable.out sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/select2_bam.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/float4.stable.err sql/test/pg_regress/Tests/float8.sql sql/test/pg_regress/Tests/int8.stable.err 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/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: mosaic Log Message:
Merge with default branch. diffs (truncated from 56476 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,13 +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 -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,19 +1,12 @@ -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) -export(monetdbGetTransferredBytes) -export(monetdbRtype) -export(monetdb_queryinfo) - -# shorthand for db connections -export(mc) - -# shorthand for db queries -export(mq) +# shorthands +export(mc,mq) # control.R export(monetdb.server.setup) @@ -22,3 +15,17 @@ export(monetdb.server.stop) export(monetdbd.liststatus) export(monetdb.liststatus) useDynLib(MonetDB.R) + +# dplyr.R +export(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) +export(db_save_query.MonetDBConnection) +export(db_insert_into.MonetDBConnection) +export(db_create_index.MonetDBConnection) +export(db_analyze.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,10 +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 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 new file mode 100644 --- /dev/null +++ b/clients/R/MonetDB.R/R/dbi.R @@ -0,0 +1,653 @@ +C_LIBRARY <- "MonetDB.R" + +.onLoad <- function(lib, pkg) { + if (getOption("monetdb.clib", FALSE)) { + 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("dbIsValid", "MonetDBDriver", def=function(dbObj, ...) { + return(invisible(TRUE)) # driver object cannot be invalid +}) + +setMethod("dbUnloadDriver", "MonetDBDriver", def=function(drv, ...) { + return(invisible(TRUE)) # there is nothing to really unload here... +}) + +setMethod("dbGetInfo", "MonetDBDriver", def=function(dbObj, ...) + list(name="MonetDBDriver", + driver.version=packageVersion("MonetDB.R"), + DBI.version=packageVersion("DBI"), + client.version="NA", + max.connections=125) # R can only handle 128 connections, three of which are pre-allocated +) + +# 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 + suppressWarnings(socket <- socket <<- .mapiConnect(host, port, 5)) + # authenticate + .mapiAuthenticate(socket, dbname, user, password, language=language) + .mapiDisconnect(socket) + break + }, error = function(e) { + if ("connection" %in% class(socket)) { + close(socket) + } + 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 <- .mapiConnect(host, port, timeout) + .mapiAuthenticate(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'") + } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list