Changeset: ed3d8567790d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ed3d8567790d Added Files: java/src/main/java/nl/cwi/monetdb/client/JMonetDB.java java/src/main/java/nl/cwi/monetdb/client/JdbcClient.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetClob.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetDataSource.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in java/src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetSavepoint.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetWrapper.java java/src/main/java/nl/cwi/monetdb/jdbc/types/INET.java java/src/main/java/nl/cwi/monetdb/jdbc/types/URL.java java/src/main/java/nl/cwi/monetdb/mcl/MCLException.java java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java java/src/main/java/nl/cwi/monetdb/mcl/net/MapiSocket.java java/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java java/src/main/java/nl/cwi/monetdb/mcl/parser/MCLParseException.java java/src/main/java/nl/cwi/monetdb/mcl/parser/MCLParser.java java/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java java/src/main/java/nl/cwi/monetdb/mcl/parser/TupleLineParser.java java/src/main/java/nl/cwi/monetdb/merovingian/Control.java java/src/main/java/nl/cwi/monetdb/merovingian/MerovingianException.java java/src/main/java/nl/cwi/monetdb/merovingian/SabaothDB.java java/src/main/java/nl/cwi/monetdb/util/CmdLineOpts.java java/src/main/java/nl/cwi/monetdb/util/Exporter.java java/src/main/java/nl/cwi/monetdb/util/Extract.java java/src/main/java/nl/cwi/monetdb/util/OptionsException.java java/src/main/java/nl/cwi/monetdb/util/SQLExporter.java java/src/main/java/nl/cwi/monetdb/util/SQLRestore.java java/src/main/java/nl/cwi/monetdb/util/XMLExporter.java sql/backends/monet5/Tests/rapi16.sql sql/backends/monet5/Tests/rapi16.stable.err sql/backends/monet5/Tests/rapi16.stable.out sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.sql sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.stable.err sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.stable.out sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.stable.out.int128 sql/test/BugTracker-2015/Tests/sql2pcre.Bug-3800.sql sql/test/BugTracker-2015/Tests/sql2pcre.Bug-3800.stable.err sql/test/BugTracker-2015/Tests/sql2pcre.Bug-3800.stable.out sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out.single sql/test/Users/Tests/copyinto.SQL.py sql/test/copy/Tests/incorrect_columns.sql sql/test/copy/Tests/incorrect_columns.stable.err sql/test/copy/Tests/incorrect_columns.stable.out sql/test/pg_regress/Tests/loadwisconsin.timeout sql/test/pg_regress/Tests/oid.stable.err.Windows.oid32 sql/test/testdb-upgrade-chain-hge/Tests/All sql/test/testdb-upgrade-chain-hge/Tests/dump.SQL.py sql/test/testdb-upgrade-chain-hge/Tests/dump.reqtests sql/test/testdb-upgrade-chain-hge/Tests/dump.stable.err sql/test/testdb-upgrade-chain-hge/Tests/dump.stable.out sql/test/testdb-upgrade-chain-hge/Tests/dump.timeout sql/test/testdb-upgrade-chain-hge/Tests/package.py sql/test/testdb-upgrade-chain-hge/Tests/package.reqtests sql/test/testdb-upgrade-chain-hge/Tests/package.stable.err sql/test/testdb-upgrade-chain-hge/Tests/package.stable.out sql/test/testdb-upgrade-chain-hge/Tests/unpackage.py sql/test/testdb-upgrade-chain-hge/Tests/unpackage.stable.err sql/test/testdb-upgrade-chain-hge/Tests/unpackage.stable.out sql/test/testdb-upgrade-chain-hge/Tests/upgrade.SQL.py sql/test/testdb-upgrade-chain-hge/Tests/upgrade.reqtests sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.err sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade-hge/Tests/All sql/test/testdb-upgrade-hge/Tests/dump.SQL.py sql/test/testdb-upgrade-hge/Tests/dump.reqtests sql/test/testdb-upgrade-hge/Tests/dump.stable.err sql/test/testdb-upgrade-hge/Tests/dump.stable.out sql/test/testdb-upgrade-hge/Tests/dump.timeout sql/test/testdb-upgrade-hge/Tests/unpackage.py sql/test/testdb-upgrade-hge/Tests/unpackage.stable.err sql/test/testdb-upgrade-hge/Tests/unpackage.stable.out sql/test/testdb-upgrade-hge/Tests/upgrade.SQL.py sql/test/testdb-upgrade-hge/Tests/upgrade.reqtests sql/test/testdb-upgrade-hge/Tests/upgrade.stable.err sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out sql/test/testdb/Tests/testdb-package-hge.py sql/test/testdb/Tests/testdb-package-hge.stable.err sql/test/testdb/Tests/testdb-package-hge.stable.out Removed Files: gdk/gdk_join_legacy.c gdk/gdk_select_legacy.c java/src/nl/cwi/monetdb/client/JMonetDB.java java/src/nl/cwi/monetdb/client/JdbcClient.java java/src/nl/cwi/monetdb/jdbc/MonetBlob.java java/src/nl/cwi/monetdb/jdbc/MonetClob.java java/src/nl/cwi/monetdb/jdbc/MonetConnection.java java/src/nl/cwi/monetdb/jdbc/MonetDataSource.java java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/src/nl/cwi/monetdb/jdbc/MonetDriver.java.in java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java java/src/nl/cwi/monetdb/jdbc/MonetSavepoint.java java/src/nl/cwi/monetdb/jdbc/MonetStatement.java java/src/nl/cwi/monetdb/jdbc/MonetWrapper.java java/src/nl/cwi/monetdb/jdbc/types/INET.java java/src/nl/cwi/monetdb/jdbc/types/URL.java java/src/nl/cwi/monetdb/mcl/MCLException.java java/src/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java java/src/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java java/src/nl/cwi/monetdb/mcl/net/MapiSocket.java java/src/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java java/src/nl/cwi/monetdb/mcl/parser/MCLParseException.java java/src/nl/cwi/monetdb/mcl/parser/MCLParser.java java/src/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java java/src/nl/cwi/monetdb/mcl/parser/TupleLineParser.java java/src/nl/cwi/monetdb/merovingian/Control.java java/src/nl/cwi/monetdb/merovingian/MerovingianException.java java/src/nl/cwi/monetdb/merovingian/SabaothDB.java java/src/nl/cwi/monetdb/util/CmdLineOpts.java java/src/nl/cwi/monetdb/util/Exporter.java java/src/nl/cwi/monetdb/util/Extract.java java/src/nl/cwi/monetdb/util/OptionsException.java java/src/nl/cwi/monetdb/util/SQLExporter.java java/src/nl/cwi/monetdb/util/SQLRestore.java java/src/nl/cwi/monetdb/util/XMLExporter.java monetdb5/mal/Tests/performanceTests/tst901d.mal monetdb5/mal/Tests/prejoin.mal monetdb5/mal/Tests/tst017.stable.err monetdb5/mal/Tests/tst017.stable.out monetdb5/mal/Tests/tst1501.mal monetdb5/mal/Tests/tst1501.stable.err monetdb5/mal/Tests/tst1501.stable.out monetdb5/mal/Tests/tst253.mal monetdb5/mal/Tests/tst253.stable.err monetdb5/mal/Tests/tst253.stable.out monetdb5/mal/Tests/tst271.mal monetdb5/mal/Tests/tst277.mal monetdb5/mal/Tests/tst277.stable.err monetdb5/mal/Tests/tst277.stable.out monetdb5/mal/Tests/tst654.mal monetdb5/mal/Tests/tst654.stable.err monetdb5/mal/Tests/tst654.stable.out monetdb5/mal/Tests/tst655.mal monetdb5/mal/Tests/tst655.stable.err monetdb5/mal/Tests/tst655.stable.out monetdb5/modules/mal/00_cluster_hge.mal monetdb5/modules/mal/Tests/ascii_io2.load monetdb5/modules/mal/Tests/mapi03.mal monetdb5/modules/mal/cluster.c monetdb5/modules/mal/cluster.h monetdb5/modules/mal/cluster.mal monetdb5/optimizer/Tests/RMexample.mal monetdb5/optimizer/Tests/tst4300.mal monetdb5/optimizer/Tests/tst4300.stable.err monetdb5/optimizer/Tests/tst4300.stable.out monetdb5/optimizer/Tests/tst4600.mal monetdb5/optimizer/Tests/tst4600.stable.err monetdb5/optimizer/Tests/tst4600.stable.out monetdb5/optimizer/Tests/tst4610.mal monetdb5/optimizer/Tests/tst4610.stable.err monetdb5/optimizer/Tests/tst4610.stable.out monetdb5/optimizer/Tests/tst4611.mal monetdb5/optimizer/Tests/tst4611.stable.err monetdb5/optimizer/Tests/tst4611.stable.out monetdb5/optimizer/Tests/tst4620.mal monetdb5/optimizer/Tests/tst4620.stable.err monetdb5/optimizer/Tests/tst4620.stable.out monetdb5/optimizer/opt_accumulators.c monetdb5/optimizer/opt_accumulators.h monetdb5/tests/BugReports/Tests/no.100.mal monetdb5/tests/BugReports/Tests/no.100.stable.err monetdb5/tests/BugReports/Tests/no.100.stable.out monetdb5/tests/gdkTests/Tests/void.mal monetdb5/tests/gdkTests/Tests/void.stable.err monetdb5/tests/gdkTests/Tests/void.stable.out monetdb5/tests/mapi/Tests/smack01-slow.MAL.bat monetdb5/tests/mapi/Tests/smack01-slow.MAL.sh monetdb5/tests/mapi/Tests/smack01-slow.stable.err monetdb5/tests/mapi/Tests/smack01-slow.stable.out sql/benchmarks/as3ap/NJAMD sql/benchmarks/as3ap/as3ap-load.sql sql/benchmarks/as3ap/as3ap-queries.sql sql/benchmarks/as3ap/as3ap-schema.sql sql/benchmarks/as3ap/as3ap.c sql/benchmarks/as3ap/as3ap.sh sql/benchmarks/as3ap/as3ap.sql sql/benchmarks/as3ap/drop.sql sql/benchmarks/as3ap/hundred.dat sql/benchmarks/as3ap/hundred.fmt sql/benchmarks/as3ap/run.all sql/benchmarks/as3ap/tenpct.dat sql/benchmarks/as3ap/tenpct.fmt sql/benchmarks/as3ap/uniques.dat sql/benchmarks/as3ap/uniques.fmt sql/benchmarks/as3ap/updates.dat sql/benchmarks/as3ap/updates.fmt sql/storage/restrict/restrict_logger.c sql/storage/restrict/restrict_logger.h sql/storage/restrict/restrict_storage.c sql/storage/restrict/restrict_storage.h sql/storage/restrict/restrict_table.c sql/storage/restrict/restrict_table.h sql/test/mergetables/Tests/mergequery.stable.out.single sql/test/pg_regress/Tests/oid.stable.err.oid32.Windows Modified Files: .hgignore .hgtags MonetDB.spec NT/installer32/MonetDB-ODBC-Installer.vdproj NT/installer32/MonetDB5-Geom-Module.vdproj NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB-ODBC-Installer.vdproj NT/installer64/MonetDB5-Geom-Module.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj NT/monetdb_config.h.in NT/rules.msc clients/ChangeLog.Jul2015 clients/R/MonetDB.R/NAMESPACE clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/dbi.R clients/R/MonetDB.R/R/mapi.R clients/R/MonetDB.R/man/monetdb.read.csv.Rd clients/R/Tests/dbi.R clients/R/Tests/dbi.stable.err clients/R/Tests/dbi.stable.out clients/R/Tests/dplyr-flights.stable.err clients/R/Tests/dplyr.stable.err clients/R/build-for-cran.sh clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/mclient.1 clients/mapiclient/mclient.c clients/mapiclient/stethoscope.c clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c clients/mapilib/mapi.c clients/mapilib/mapi.h clients/mapilib/mapi.rc clients/nodejs/monetdb/mapiclient.js clients/odbc/driver/SQLDriverConnect.c clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc clients/python2/setup.py clients/python3/setup.py configure.ag debian/changelog debian/control debian/libmonetdb-client-odbc.postinst debian/monetdb5-sql.install gdk/ChangeLog gdk/Makefile.ag gdk/gdk.h gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_delta.c gdk/gdk_group.c gdk/gdk_heap.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_select.c gdk/gdk_setop.c gdk/gdk_storage.c gdk/gdk_system_private.h gdk/gdk_unique.c gdk/libbat.rc java/ChangeLog-Archive java/Makefile.ag java/build.properties java/build.xml java/example/MJDBCTest.java java/example/PreparedExample.java java/example/SQLImport.java java/example/SQLcopyinto.java java/pom.xml java/release.txt libversions monetdb5/ChangeLog monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/rapi/Tests/All monetdb5/extras/rapi/Tests/rapi08.malC monetdb5/extras/sphinx/sphinx.c monetdb5/mal/Tests/All monetdb5/mal/Tests/dataflow01.mal monetdb5/mal/Tests/dataflow01.stable.out monetdb5/mal/Tests/performanceTests/join.mal monetdb5/mal/Tests/performanceTests/tst901c.mal monetdb5/mal/Tests/recycle05.stable.out monetdb5/mal/Tests/tst025.mal monetdb5/mal/Tests/tst025.stable.out monetdb5/mal/Tests/tst032.stable.out monetdb5/mal/Tests/tst033.mal monetdb5/mal/Tests/tst033.stable.out monetdb5/mal/Tests/tst034.mal monetdb5/mal/Tests/tst034.stable.out monetdb5/mal/Tests/tst047.mal monetdb5/mal/Tests/tst047.stable.out monetdb5/mal/Tests/tst077.mal monetdb5/mal/Tests/tst077.stable.out monetdb5/mal/Tests/tst104.mal monetdb5/mal/Tests/tst104.stable.out monetdb5/mal/Tests/tst105.mal monetdb5/mal/Tests/tst105.stable.out monetdb5/mal/Tests/tst105a.mal monetdb5/mal/Tests/tst105a.stable.out monetdb5/mal/Tests/tst106.mal monetdb5/mal/Tests/tst106.stable.out monetdb5/mal/Tests/tst150.mal monetdb5/mal/Tests/tst150.stable.out monetdb5/mal/Tests/tst1502.stable.out monetdb5/mal/Tests/tst1504.stable.out monetdb5/mal/Tests/tst1602.stable.out monetdb5/mal/Tests/tst201.stable.out monetdb5/mal/Tests/tst220.mal monetdb5/mal/Tests/tst220.stable.out monetdb5/mal/Tests/tst230.mal monetdb5/mal/Tests/tst230.stable.out monetdb5/mal/Tests/tst233.mal monetdb5/mal/Tests/tst233.stable.out monetdb5/mal/Tests/tst234.mal monetdb5/mal/Tests/tst234.stable.out monetdb5/mal/Tests/tst235.mal monetdb5/mal/Tests/tst235.stable.out monetdb5/mal/Tests/tst275.stable.out monetdb5/mal/Tests/tst285.mal monetdb5/mal/Tests/tst285.stable.out monetdb5/mal/Tests/tst750.mal monetdb5/mal/Tests/tst750.stable.out monetdb5/mal/Tests/tst755.mal monetdb5/mal/Tests/tst755.stable.out monetdb5/mal/Tests/tst760.mal monetdb5/mal/Tests/tst760.stable.out monetdb5/mal/Tests/tst770.mal monetdb5/mal/Tests/tst770.stable.out monetdb5/mal/Tests/tst802.mal monetdb5/mal/Tests/tst802.stable.out monetdb5/mal/Tests/tst810.mal monetdb5/mal/Tests/tst810.stable.out monetdb5/mal/Tests/tst830.mal monetdb5/mal/Tests/tst830.stable.out monetdb5/mal/Tests/tst903.mal monetdb5/mal/Tests/tst903.stable.out monetdb5/mal/Tests/tst908.mal monetdb5/mal/Tests/tst908.stable.out monetdb5/mal/Tests/tst911.mal monetdb5/mal/Tests/tst911.stable.out monetdb5/mal/Tests/tst912.mal monetdb5/mal/Tests/tst912.stable.out monetdb5/mal/mal_authorize.c monetdb5/mal/mal_authorize.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_private.h monetdb5/mal/mal_resource.c monetdb5/mal/mal_session.c monetdb5/mal/mal_utils.c monetdb5/modules/atoms/Makefile.ag monetdb5/modules/atoms/Tests/xml10.mal monetdb5/modules/atoms/Tests/xml10.stable.out monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/batxml.mal monetdb5/modules/atoms/batxml.sql monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/str.h monetdb5/modules/atoms/str.mal monetdb5/modules/atoms/xml.sql monetdb5/modules/kernel/Tests/TriBool.malC monetdb5/modules/kernel/Tests/TriBool.stable.out monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/bat5.h monetdb5/modules/kernel/bat5.mal monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/Makefile.ag monetdb5/modules/mal/Tests/All monetdb5/modules/mal/Tests/ascii_io2.mal monetdb5/modules/mal/Tests/ascii_io2.stable.out monetdb5/modules/mal/Tests/batpartition.stable.out monetdb5/modules/mal/Tests/inspect05.mal monetdb5/modules/mal/Tests/inspect05.stable.out.int128 monetdb5/modules/mal/Tests/iterator03.stable.out monetdb5/modules/mal/Tests/mapi01.mal monetdb5/modules/mal/Tests/mapi01.stable.out monetdb5/modules/mal/Tests/mapi07.mal monetdb5/modules/mal/Tests/mapi07.stable.out monetdb5/modules/mal/Tests/partition.stable.out monetdb5/modules/mal/Tests/remote03.stable.out monetdb5/modules/mal/Tests/remote12.stable.out monetdb5/modules/mal/Tests/remote88.mal monetdb5/modules/mal/Tests/remoteInit.mal monetdb5/modules/mal/Tests/remoteInit.stable.out monetdb5/modules/mal/Tests/tokenizer00.stable.out monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/bbp.c monetdb5/modules/mal/calc.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.mal monetdb5/modules/mal/joinpath.c monetdb5/modules/mal/mal_init.mal monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_io.mal monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mal_mapi.mal monetdb5/modules/mal/manual.c monetdb5/modules/mal/manual.h monetdb5/modules/mal/manual.mal monetdb5/modules/mal/mat.c monetdb5/modules/mal/mkey.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/remote.mal monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tokenizer.c monetdb5/modules/mal/transaction.c monetdb5/modules/mal/transaction.mal monetdb5/modules/mal/zorder.c monetdb5/optimizer/Makefile.ag monetdb5/optimizer/Tests/All monetdb5/optimizer/Tests/CXexample.mal monetdb5/optimizer/Tests/CXexample.stable.out monetdb5/optimizer/Tests/DCexample.mal monetdb5/optimizer/Tests/FTexample.mal monetdb5/optimizer/Tests/FTexample.stable.out monetdb5/optimizer/Tests/dataflow.mal monetdb5/optimizer/Tests/dataflow.stable.out monetdb5/optimizer/Tests/remap.mal monetdb5/optimizer/Tests/remap.stable.out monetdb5/optimizer/Tests/reorder00.mal monetdb5/optimizer/Tests/reorder00.stable.out monetdb5/optimizer/Tests/tst4000.mal monetdb5/optimizer/Tests/tst4000.stable.out monetdb5/optimizer/Tests/tst4003.mal monetdb5/optimizer/Tests/tst4003.stable.out monetdb5/optimizer/Tests/tst4030.mal monetdb5/optimizer/Tests/tst4030.stable.out monetdb5/optimizer/Tests/tst4630.mal monetdb5/optimizer/Tests/tst4630.stable.out monetdb5/optimizer/Tests/tst4700.mal monetdb5/optimizer/Tests/tst4700.stable.out monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_joinpath.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_reorder.c monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_support.h monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.mal monetdb5/scheduler/Tests/memo01.mal monetdb5/scheduler/Tests/memo02.mal monetdb5/scheduler/Tests/memo04.mal monetdb5/scheduler/Tests/sched00.mal monetdb5/scheduler/srvpool.mal monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/multiplex_nil.SF-1153664.stable.out monetdb5/tests/BugReports/Tests/All monetdb5/tests/BugReports/Tests/gettype_in_function.mal monetdb5/tests/BugReports/Tests/gettype_in_function.stable.out monetdb5/tests/BugReports/Tests/no.163.mal monetdb5/tests/BugReports/Tests/no.163.stable.out monetdb5/tests/gdkTests/Tests/scanselect.mal monetdb5/tests/gdkTests/Tests/scanselect.stable.out monetdb5/tests/mapi/Tests/All monetdb5/tests/mapi/Tests/sample3.stable.out monetdb5/tools/libmonetdb5.rc sql/ChangeLog-Archive sql/ChangeLog.Jul2015 sql/backends/monet5/Makefile.ag sql/backends/monet5/Tests/All sql/backends/monet5/Tests/optimizers.sql sql/backends/monet5/Tests/optimizers.stable.err sql/backends/monet5/Tests/rapi13.stable.out sql/backends/monet5/UDF/udf.c sql/backends/monet5/bam/bam_export.c sql/backends/monet5/generator/Tests/generator03.stable.out sql/backends/monet5/gsl/gsl.c sql/backends/monet5/rel_bin.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_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_gencode.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/benchmarks/nobench/Tests/nobench.sql sql/benchmarks/nobench/Tests/nobench.stable.err sql/benchmarks/nobench/Tests/nobench.stable.out sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out sql/benchmarks/tpch/LOCKED/Tests/14.stable.out sql/benchmarks/tpch/Tests/01-explain.stable.out sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit sql/benchmarks/tpch/Tests/03-explain.stable.out sql/benchmarks/tpch/Tests/04-explain.stable.out sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit sql/benchmarks/tpch/Tests/05-explain.stable.out sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit sql/benchmarks/tpch/Tests/06-explain.stable.out sql/benchmarks/tpch/Tests/07-explain.stable.out sql/benchmarks/tpch/Tests/08-explain.stable.out sql/benchmarks/tpch/Tests/09-explain.stable.out sql/benchmarks/tpch/Tests/10-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/12-explain.stable.out sql/benchmarks/tpch/Tests/13-explain.stable.out sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit sql/benchmarks/tpch/Tests/14-explain.stable.out 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/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/17-explain.stable.out 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/20-explain.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 sql/include/sql_catalog.h sql/scripts/25_debug.sql sql/server/rel_optimizer.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_updates.c sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_privileges.c sql/server/sql_privileges.h sql/storage/bat/bat_table.c sql/storage/bat/bat_utils.c sql/storage/bat/bat_utils.h sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/error_in_sql_parser.SF-1019122.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/interval_times_int.SF-1281996.stable.out sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.stable.out sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.stable.out sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single sql/test/BugTracker-2015/Tests/All sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.stable.out sql/test/BugTracker-2015/Tests/sum_interval.Bug-3785.stable.out sql/test/BugTracker/Tests/cast_interval2time.SF-1488247.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit sql/test/Tests/bogus-auto-generated-keys.stable.out sql/test/Tests/setoptimizer.stable.err sql/test/Tests/setoptimizer.stable.out sql/test/Tests/setoptimizer.stable.out.Windows sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/Tests/timezone.stable.out sql/test/Users/Tests/All sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out sql/test/VOC/Tests/median.Bug-3096.stable.out sql/test/bugs/Tests/default_with_cast.SF-1334486.stable.out sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.out sql/test/bugs/Tests/interval_parse_bug-sf-1263967.stable.out sql/test/copy/Tests/All sql/test/copy/Tests/key_copy.sql sql/test/copy/Tests/key_copy.stable.err sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check0.stable.out.int128 sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5.stable.out.int128 sql/test/leaks/Tests/drop3.stable.out sql/test/leaks/Tests/drop3.stable.out.int128 sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select1.stable.out.int128 sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/select2.stable.out.int128 sql/test/leaks/Tests/temp1.stable.out sql/test/leaks/Tests/temp1.stable.out.int128 sql/test/leaks/Tests/temp2.stable.out sql/test/leaks/Tests/temp2.stable.out.int128 sql/test/leaks/Tests/temp3.stable.out sql/test/leaks/Tests/temp3.stable.out.int128 sql/test/mapi/Tests/sql_int128.stable.out sql/test/mergetables/Tests/All sql/test/mergetables/Tests/mergequery.stable.out sql/test/pg_regress/Tests/alter_table.stable.out sql/test/pg_regress/Tests/date.stable.out sql/test/pg_regress/Tests/float8.sql sql/test/pg_regress/Tests/float8.stable.err.Windows sql/test/pg_regress/Tests/float8.stable.out sql/test/pg_regress/Tests/float8.stable.out.Windows sql/test/pg_regress/Tests/horology.stable.out sql/test/pg_regress/Tests/interval.stable.out sql/test/pg_regress/Tests/interval.stable.out.int128 sql/test/pg_regress/Tests/reltime.stable.out sql/test/pg_regress/Tests/strings.stable.err sql/test/pg_regress/Tests/time.stable.out sql/test/pg_regress/Tests/timestamp.stable.out sql/test/pg_regress/Tests/timestamptz.stable.out sql/test/pg_regress/Tests/timetz.stable.out sql/test/setoptimizer.sql sql/test/snodgrass/Tests/cast_select.stable.out sql/test/snodgrass/Tests/interval_parsing.stable.out sql/test/sql_xml/Tests/funcs.sql sql/test/testdb-upgrade-chain/Tests/All sql/test/testdb-upgrade-chain/Tests/package.py sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/dump.stable.out sql/test/testdb-upgrade/Tests/dump.stable.out.Windows sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 sql/test/testdb/Tests/All sql/test/testdb/Tests/testdb-package.py testing/Mtest.py.in tools/merovingian/client/monetdb.c vertoo.data Branch: DVframework Log Message:
merge with default. diffs (truncated from 293809 to 300 lines): diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -65,7 +65,10 @@ lex.yy.c *.gem # java: *.jar -java/target/classes/nl/cwi/monetdb/jdbc/MonetDriver.java.in +java/build +java/target +java/bin +java/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java # python: dist diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -600,3 +600,9 @@ a1a48562a4651b1beb3168290777cbeb91f474d8 71a9c48c90348eab78069f2ecc616e3f73bbba95 Jul2015_root 77c8f3354e948ccd094ab3e53631b9fe272da8ea Jul2015_1 77c8f3354e948ccd094ab3e53631b9fe272da8ea Jul2015_release +30be7bd4aec0b5daf3d2f3a26a1043c04b88bb6d Jul2015_3 +77c8f3354e948ccd094ab3e53631b9fe272da8ea Jul2015_release +30be7bd4aec0b5daf3d2f3a26a1043c04b88bb6d Jul2015_release +c7c0a76e663e34bcddae683b385c8e5a919ffd84 Jul2015_5 +30be7bd4aec0b5daf3d2f3a26a1043c04b88bb6d Jul2015_release +c7c0a76e663e34bcddae683b385c8e5a919ffd84 Jul2015_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -659,6 +659,7 @@ fi %exclude %{_libdir}/monetdb5/sql*.mal %if %{bits} == 64 %exclude %{_libdir}/monetdb5/*_hge.mal +%exclude %{_libdir}/monetdb5/autoload/*_hge.mal %endif %{_libdir}/monetdb5/*.mal %if %{?with_geos:1}%{!?with_geos:0} @@ -995,6 +996,32 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Mon Aug 24 2015 Sjoerd Mullender <sjo...@acm.org> - 11.21.5-20150824 +- Rebuilt. +- BZ#3730: SAMPLE function not sampling randomly + +* Tue Aug 18 2015 Sjoerd Mullender <sjo...@acm.org> - 11.21.3-20150818 +- Rebuilt. +- BZ#3361: constants as MAL function parameters prevent intermediate reuse +- BZ#3440: Sequence type errors +- BZ#3449: mserver crash on start - Freebsd 10 amd64 +- BZ#3496: autocompletion table names does not work correctly +- BZ#3758: "COPY INTO ..." doesn't work, if executing from 2 processes + concurrently. +- BZ#3763: JDBC PreparedStatement for a table with 14 Foreign Keys + crashing the Database +- BZ#3783: Behavioural change in Jul2015 for 'timestamp minus timestamp' +- BZ#3784: Assertion failed: (bn->batCapacity >= cnt), function + BAT_scanselect, file gdk_select.c, line 1008. +- BZ#3785: sum(interval) causes overflow in conversion to bte +- BZ#3786: ResultSet.close() never sends Xclose to free resources +- BZ#3787: "b and g must be aligned" from complex group/union query +- BZ#3791: HEAPextend: failed to extend to 2420077101056 + +* Tue Aug 18 2015 Sjoerd Mullender <sjo...@acm.org> - 11.21.3-20150818 +- sql: Differences between time, timestamp, and date values now return properly + typed interval types (second or month intervals) instead of integers. + * Fri Aug 07 2015 Sjoerd Mullender <sjo...@acm.org> - 11.21.1-20150807 - Rebuilt. - BZ#3364: Cannot set role back to a user's default role @@ -1063,7 +1090,7 @@ rm -f %{buildroot}%{_bindir}/Maddlog - java: Improved JDBC driver to not throw NullPointerException anymore when calling isNullable() or getPrecision() or getScale() or getColumnDisplaySize() or getSchemaName() or getTableName() or - getColumnClassName() on a ResultSet object. + getColumnClassName() on a ResultSetMetaData object. * Tue Jul 28 2015 Sjoerd Mullender <sjo...@acm.org> - 11.21.1-20150807 - sql: Added support for 128-bit integers (called HUGEINT) on platforms that diff --git a/NT/installer32/MonetDB5-SQL-Installer.vdproj b/NT/installer32/MonetDB5-SQL-Installer.vdproj --- a/NT/installer32/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer32/MonetDB5-SQL-Installer.vdproj @@ -675,12 +675,6 @@ } "Entry" { - "MsmKey" = "8:_B262C796F62A48F596C8828B2470C0D6" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_B2CE130DAD3B4D3FA2F1CE0B77BE0F21" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -3200,26 +3194,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B262C796F62A48F596C8828B2470C0D6" - { - "SourcePath" = "8:lib\\monetdb5\\cluster.mal" - "TargetName" = "8:cluster.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B2CE130DAD3B4D3FA2F1CE0B77BE0F21" { "SourcePath" = "8:lib\\monetdb5\\createdb\\11_times.sql" diff --git a/NT/installer64/MonetDB5-SQL-Installer.vdproj b/NT/installer64/MonetDB5-SQL-Installer.vdproj --- a/NT/installer64/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer64/MonetDB5-SQL-Installer.vdproj @@ -63,12 +63,6 @@ } "Entry" { - "MsmKey" = "8:_09037EED43A6416AA200DF27BB53F675" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_0C663F8F9CD74DE2A56C520C4E893AA2" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -1180,26 +1174,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_09037EED43A6416AA200DF27BB53F675" - { - "SourcePath" = "8:lib\\monetdb5\\cluster.mal" - "TargetName" = "8:cluster.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0C663F8F9CD74DE2A56C520C4E893AA2" { "SourcePath" = "8:lib\\monetdb5\\querylog.mal" diff --git a/clients/ChangeLog.Jul2015 b/clients/ChangeLog.Jul2015 --- a/clients/ChangeLog.Jul2015 +++ b/clients/ChangeLog.Jul2015 @@ -1,3 +1,7 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Sun Aug 30 2015 Sjoerd Mullender <sjo...@acm.org> +- In the SQL formatter of mclient (the default) we now properly align + East Asian wide characters. + 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,4 +1,4 @@ -import(DBI,digest,methods,codetools) +import(DBI,digest,methods,codetools,utils) # export only driver constructor, everything else is DBI stuff.. export(MonetDB,MonetR,MonetDBR,MonetDB.R) 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 @@ -8,6 +8,10 @@ 1.0.0 - Fix for case when query only returns a prompt (CALL ..., Thanks, Roman) - Fix for empty result set on dbGetQuery(), no longer returning NULL (Thanks, Fabian) - Fix for dbConnect(), it ignored the url parameter somehow, which broke some sqlsurvey (Thanks, Anthony) +- Added col.names argument to monet.read.csv() +- Added lower.case.names argument to monet.read.csv() in case users want to avoid quoting (a bit) +- Fix for dbConnect() that should be more robust to invalid connections +- Cleaned up quoting behavior in dbListTables(), dbRemoveTable() etc. 0.9.7 - Fixed crash on Windows (Sorry, everyone) 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 @@ -103,7 +103,7 @@ setMethod("dbConnect", "MonetDBDriver", break }, error = function(e) { if ("connection" %in% class(socket)) { - close(socket) + tryCatch(close(socket), error=function(e){}) } message("Server not ready(", e$message, "), retrying (ESC or CTRL+C to abort)") Sys.sleep(1) @@ -153,18 +153,14 @@ setMethod("dbDisconnect", "MonetDBConnec return(invisible(TRUE)) }) -setMethod("dbListTables", "MonetDBConnection", def=function(conn, ..., sys_tables=F, schema_names=F, quote=F) { +setMethod("dbListTables", "MonetDBConnection", def=function(conn, ..., sys_tables=F, schema_names=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, "\"") - } + df$tn <- quoteIfNeeded(conn, df$tn, warn=F) res <- df$tn if (schema_names) { - if (quote) { - df$sn <- paste0("\"", df$sn, "\"") - } + df$sn <- quoteIfNeeded(conn, df$sn, warn=F) res <- paste0(df$sn, ".", df$tn) } return(as.character(res)) @@ -203,9 +199,9 @@ setMethod("dbListFields", "MonetDBConnec }) setMethod("dbExistsTable", "MonetDBConnection", def=function(conn, name, ...) { - # TODO: this is evil... - return(tolower(gsub("(^\"|\"$)","",as.character(name))) %in% - tolower(dbListTables(conn, sys_tables=T))) + name <- quoteIfNeeded(conn, name) + return(as.character(name) %in% + dbListTables(conn, sys_tables=T)) }) setMethod("dbGetException", "MonetDBConnection", def=function(conn, ...) { @@ -213,6 +209,7 @@ setMethod("dbGetException", "MonetDBConn }) setMethod("dbReadTable", "MonetDBConnection", def=function(conn, name, ...) { + name <- quoteIfNeeded(conn, name) if (!dbExistsTable(conn, name)) stop(paste0("Unknown table: ", name)); dbGetQuery(conn, paste0("SELECT * FROM ", name)) @@ -283,20 +280,20 @@ setMethod("dbSendQuery", signature(conn= invisible(new("MonetDBResult", env=env)) }) - - # quoting -quoteIfNeeded <- function(conn, x, ...) { - chars <- !grepl("^[a-z][a-z0-9_]*$", x, perl=T) & !grepl("^\"[^\"]*\"$", x, perl=T) - if (any(chars)) { - message("Identifier(s) ", paste(x[chars], collapse=", "), " contain uppercase or reserved SQL characters and need(s) to be quoted in queries.") +quoteIfNeeded <- function(conn, x, warn=T, ...) { + chars <- !grepl("^[a-z_][a-z0-9_]*$", x, perl=T) & !grepl("^\"[^\"]*\"$", x, perl=T) + if (any(chars) && warn) { + message("Identifier(s) ", paste("\"", x[chars],"\"", collapse=", ", sep=""), " contain uppercase or reserved SQL characters and need(s) to be quoted in queries.") } reserved <- toupper(x) %in% .SQL92Keywords - if (any(reserved)) { - message("Identifier(s) ", paste(x[reserved], collapse=", "), " are reserved SQL keywords and need(s) to be quoted in queries.") + if (any(reserved) && warn) { + message("Identifier(s) ", paste("\"", x[reserved],"\"", collapse=", ", sep=""), " are reserved SQL keywords and need(s) to be quoted in queries.") } qts <- reserved | chars - x[qts] <- dbQuoteIdentifier(conn, x[qts]) + if (any(qts)) { + x[qts] <- dbQuoteIdentifier(conn, x[qts]) + } x } @@ -315,7 +312,7 @@ setMethod("dbWriteTable", "MonetDBConnec if (!is.data.frame(value)) value <- as.data.frame(value) } if (overwrite && append) { - stop("Setting both overwrite and append to true makes no sense.") + stop("Setting both overwrite and append to TRUE makes no sense.") } qname <- quoteIfNeeded(conn, name) @@ -366,8 +363,9 @@ setMethod("dbDataType", signature(dbObj= setMethod("dbRemoveTable", "MonetDBConnection", def=function(conn, name, ...) { + name <- quoteIfNeeded(conn, name) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list