Changeset: 91dcca674460 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=91dcca674460 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/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/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: 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/Tests/mapi03.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/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/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 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/test/mergetables/Tests/mergequery.stable.out.single sql/test/pg_regress/Tests/oid.stable.err.oid32.Windows Modified Files: .hgignore clients/ChangeLog.Jul2015 clients/R/MonetDB.R/R/dbi.R 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/mapilib/mapi.c clients/mapilib/mapi.h clients/odbc/driver/SQLDriverConnect.c gdk/ChangeLog gdk/gdk.h gdk/gdk_bat.c gdk/gdk_heap.c gdk/gdk_join.c gdk/gdk_join_legacy.c gdk/gdk_logger.c gdk/gdk_setop.c gdk/gdk_storage.c java/build.xml java/example/MJDBCTest.java java/example/PreparedExample.java java/example/SQLImport.java java/example/SQLcopyinto.java java/pom.xml monetdb5/ChangeLog monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/mal/Tests/All monetdb5/mal/Tests/performanceTests/join.mal monetdb5/mal/Tests/performanceTests/tst901c.mal monetdb5/mal/Tests/recycle05.stable.out monetdb5/mal/Tests/tst047.mal monetdb5/mal/Tests/tst047.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/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/tst830.mal monetdb5/mal/Tests/tst830.stable.out monetdb5/mal/mal_authorize.c monetdb5/mal/mal_authorize.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_private.h monetdb5/mal/mal_resource.c monetdb5/mal/mal_session.c monetdb5/mal/mal_utils.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/str.h monetdb5/modules/atoms/str.mal monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/kernel/bat5.mal monetdb5/modules/mal/Tests/inspect05.mal monetdb5/modules/mal/Tests/inspect05.stable.out.int128 monetdb5/modules/mal/Tests/remote03.stable.out monetdb5/modules/mal/Tests/remote88.mal monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/calc.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.mal monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_io.mal monetdb5/modules/mal/pcre.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/optimizer/Tests/All monetdb5/optimizer/Tests/DCexample.mal monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_pushselect.c monetdb5/tests/BugReports/Tests/All sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h 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/Tests/04-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/13-explain.stable.out sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/18-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 sql/server/sql_mvc.c sql/server/sql_mvc.h sql/storage/bat/bat_table.c sql/test/BugTracker-2015/Tests/All sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/Tests/bogus-auto-generated-keys.stable.out sql/test/Users/Tests/dropManyUsers.Bug-3764.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/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/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/strings.stable.err sql/test/testdb-upgrade-chain/Tests/All 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 testing/Mtest.py.in Branch: DataVaults Log Message:
Merge with default branch diffs (truncated from 265338 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/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 <[email protected]> +- In the SQL formatter of mclient (the default) we now properly align + East Asian wide characters. + 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 @@ -291,7 +291,9 @@ quoteIfNeeded <- function(conn, x, 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 } @@ -656,19 +658,11 @@ monet.read.csv <- monetdb.read.csv <- fu delimspec <- paste0("USING DELIMITERS '", delim, "','", newline, "','", quote, "'") - if(header){ - for(i in seq_along(files)) { - thefile <- normalizePath(files[i]) - dbSendUpdate(conn, paste("COPY OFFSET 2 INTO", - tablename, "FROM", paste("'", thefile, "'", sep=""), delimspec, "NULL as", paste("'", - na.strings[1], "'", sep=""), if(locked) "LOCKED")) - } - } else { - for(i in seq_along(files)) { - thefile <- normalizePath(files[i]) - dbSendUpdate(conn, paste0("COPY INTO ", tablename, " FROM ", paste("'", thefile, "'", sep=""), - delimspec, "NULL as ", paste("'", na.strings[1], "'", sep=""), if(locked) " LOCKED ")) - } + for(i in seq_along(files)) { + thefile <- normalizePath(files[i]) + dbSendUpdate(conn, paste("COPY", if(header) "OFFSET 2", "INTO", + tablename, "FROM", paste("'", thefile, "'", sep=""), delimspec, "NULL as", paste("'", + na.strings[1], "'", sep=""), if(locked) "LOCKED")) } dbGetQuery(conn, paste("SELECT COUNT(*) FROM", tablename))[[1]] } diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -2322,6 +2322,8 @@ command algebra.ilike(s:str,pat:str,esc: address PCREilike3; command algebra.join(left:bat[:oid,:any_2],rl:bat[:oid,:any_2],rh:bat[:oid,:any_2],li:bit,hi:bit) (l:bat[:oid,:oid],r:bat[:oid,:oid]) address ALGrangejoin2; +comment Deprecated, see algebra.subrangejoin. Range join + command algebra.join(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) address ALGjoin2; comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails @@ -2364,18 +2366,6 @@ command algebra.leftjoin(left:bat[:oid,: address ALGleftjoinestimate; command algebra.leftjoin(left:bat[:oid,:any_2],right:bat[:any_2,:any_3]):bat[:oid,:any_3] address ALGleftjoin; -command algebra.mark(b:bat[:any_1,:any_2],nr_parts:int,part_nr:int):bat[:any_1,:oid] -address ALGtmarkp; -comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). The base is uniquely defined by the part_nr (ie we set the highest bits based on the part_nr/nr_parts) - -command algebra.mark(b:bat[:any_1,:any_2]):bat[:any_1,:oid] -address ALGtmark_default; -comment Produces a BAT with fresh unique OIDs in the tail starting at 0@0. - -command algebra.mark(b:bat[:any_1,:any_2],base:oid):bat[:any_1,:oid] -address ALGtmark; -comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). - command algebra.not_ilike(s:str,pat:str):bit address PCREnotilike2; command algebra.not_ilike(s:str,pat:str,esc:str):bit @@ -2420,6 +2410,14 @@ command algebra.slice(b:bat[:oid,:any_1] address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). +command algebra.subinter(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubinter; +comment Intersection of l and r with candidate lists (i.e. half of semi-join) + +command algebra.subdiff(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubdiff; +comment Difference of l and r with candidate lists + command algebra.subrangejoin(l:bat[:oid,:any_1],r1:bat[:oid,:any_1],r2:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],li:bit,hi:bit,estimate:lng) (X_9:bat[:oid,:oid],X_10:bat[:oid,:oid]) address ALGsubrangejoin; comment Range join: values in l and r1/r2 match if r1 <[=] l <[=] r2 @@ -2523,8 +2521,12 @@ comment Select all head values for which command algebra.tdiff(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtdiff; +comment Deprecated, see algebra.subdiff + command algebra.tinter(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtinter; +comment Deprecated, see algebra.semijoin + command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -2533,10 +2535,6 @@ command algebra.thetasubselect(b:bat[:oi address ALGthetasubselect1; comment Select all head values for which the tail value obeys the relation value OP VAL. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. -command algebra.tdifference(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtdifference; -command algebra.tintersect(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtintersect; command alarm.ctime{unsafe}():str address ALARMctime; comment Return the current time as a C-time string. @@ -37593,9 +37591,9 @@ pattern clients.changeUsername(old:str,n address CLTchangeUsername; comment Change the username of the user into the new string -pattern clients.getUsers():bat[:oid,:str] +pattern clients.getUsers() (X_1:bat[:oid,:oid],X_2:bat[:oid,:str]) address CLTgetUsers; -comment return a BAT with user id and name available in the system +comment return a BAT with user id and one with name available in the system pattern clients.getPasswordHash(user:str):str address CLTgetPasswordHash; @@ -40440,7 +40438,7 @@ pattern sql.argRecord():str address SQLargRecord; comment Glue together the calling sequence -pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd,w:str):int +pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd):int address mvc_affected_rows_wrap; comment export the number of affected rows by the current query @@ -40676,7 +40674,7 @@ comment Return column bat with delta's a command sql.epilogue():void address SQLepilogue; -pattern sql.exportOperation{unsafe}(w:str):void +pattern sql.exportOperation{unsafe}():void address mvc_export_operation_wrap; comment Export result of schema/transaction queries @@ -41137,7 +41135,7 @@ address STRPrefix; comment Prefix check. command str.stringlength(s:str):int -address STRstringLength; +address STRSQLLength; comment Return the length of a right trimed string (SQL semantics). command str.string(s:str,offset:int,count:int):str diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -2833,6 +2833,8 @@ command algebra.ilike(s:str,pat:str,esc: address PCREilike3; command algebra.join(left:bat[:oid,:any_2],rl:bat[:oid,:any_2],rh:bat[:oid,:any_2],li:bit,hi:bit) (l:bat[:oid,:oid],r:bat[:oid,:oid]) address ALGrangejoin2; +comment Deprecated, see algebra.subrangejoin. Range join + command algebra.join(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) (l:bat[:oid,:oid],r:bat[:oid,:oid]) address ALGjoin2; comment Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 'right' for which there are BUNs in 'left' and 'right' with equal tails @@ -2875,18 +2877,6 @@ command algebra.leftjoin(left:bat[:oid,: address ALGleftjoinestimate; command algebra.leftjoin(left:bat[:oid,:any_2],right:bat[:any_2,:any_3]):bat[:oid,:any_3] address ALGleftjoin; -command algebra.mark(b:bat[:any_1,:any_2],nr_parts:int,part_nr:int):bat[:any_1,:oid] -address ALGtmarkp; -comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). The base is uniquely defined by the part_nr (ie we set the highest bits based on the part_nr/nr_parts) - -command algebra.mark(b:bat[:any_1,:any_2]):bat[:any_1,:oid] -address ALGtmark_default; -comment Produces a BAT with fresh unique OIDs in the tail starting at 0@0. - -command algebra.mark(b:bat[:any_1,:any_2],base:oid):bat[:any_1,:oid] -address ALGtmark; -comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). - command algebra.not_ilike(s:str,pat:str):bit address PCREnotilike2; command algebra.not_ilike(s:str,pat:str,esc:str):bit @@ -2931,6 +2921,14 @@ command algebra.slice(b:bat[:oid,:any_1] address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). +command algebra.subinter(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubinter; +comment Intersection of l and r with candidate lists (i.e. half of semi-join) + +command algebra.subdiff(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubdiff; +comment Difference of l and r with candidate lists + command algebra.subrangejoin(l:bat[:oid,:any_1],r1:bat[:oid,:any_1],r2:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],li:bit,hi:bit,estimate:lng) (X_9:bat[:oid,:oid],X_10:bat[:oid,:oid]) address ALGsubrangejoin; comment Range join: values in l and r1/r2 match if r1 <[=] l <[=] r2 @@ -3034,8 +3032,12 @@ comment Select all head values for which command algebra.tdiff(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtdiff; +comment Deprecated, see algebra.subdiff + command algebra.tinter(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtinter; +comment Deprecated, see algebra.semijoin + command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -3044,10 +3046,6 @@ command algebra.thetasubselect(b:bat[:oi address ALGthetasubselect1; comment Select all head values for which the tail value obeys the relation value OP VAL. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. -command algebra.tdifference(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtdifference; -command algebra.tintersect(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtintersect; command alarm.ctime{unsafe}():str address ALARMctime; comment Return the current time as a C-time string. @@ -48476,9 +48474,9 @@ pattern clients.changeUsername(old:str,n address CLTchangeUsername; comment Change the username of the user into the new string -pattern clients.getUsers():bat[:oid,:str] +pattern clients.getUsers() (X_1:bat[:oid,:oid],X_2:bat[:oid,:str]) address CLTgetUsers; -comment return a BAT with user id and name available in the system +comment return a BAT with user id and one with name available in the system pattern clients.getPasswordHash(user:str):str address CLTgetPasswordHash; @@ -51375,7 +51373,7 @@ pattern sql.argRecord():str address SQLargRecord; comment Glue together the calling sequence -pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd,w:str):int +pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd):int address mvc_affected_rows_wrap; comment export the number of affected rows by the current query @@ -51615,7 +51613,7 @@ comment Return column bat with delta's a command sql.epilogue():void address SQLepilogue; -pattern sql.exportOperation{unsafe}(w:str):void +pattern sql.exportOperation{unsafe}():void address mvc_export_operation_wrap; comment Export result of schema/transaction queries @@ -52080,7 +52078,7 @@ address STRPrefix; comment Prefix check. command str.stringlength(s:str):int -address STRstringLength; +address STRSQLLength; comment Return the length of a right trimed string (SQL semantics). command str.string(s:str,offset:int,count:int):str diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -48,6 +48,10 @@ Ready. # loading sql script: 75_storagemodel.sql # loading sql script: 80_statistics.sql # loading sql script: 80_udf.sql +# loading sql script: 80_udf_hge.sql +# loading sql script: 85_bam.sql +# loading sql script: 90_generator.sql +# loading sql script: 90_generator_hge.sql # loading sql script: 99_system.sql # 15:19:38 > diff --git a/clients/Tests/SQL-dump.stable.out.int128 b/clients/Tests/SQL-dump.stable.out.int128 --- a/clients/Tests/SQL-dump.stable.out.int128 +++ b/clients/Tests/SQL-dump.stable.out.int128 _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
