Changeset: b86c92998d50 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b86c92998d50 Added Files: sql/backends/monet5/Tests/rapi16.sql sql/backends/monet5/Tests/rapi16.stable.err sql/backends/monet5/Tests/rapi16.stable.out sql/test/Users/Tests/copyinto.SQL.py Removed Files: gdk/gdk_join_legacy.c gdk/gdk_select_legacy.c monetdb5/modules/mal/Tests/ascii_io2.load monetdb5/modules/mal/cluster.c monetdb5/modules/mal/cluster.h monetdb5/modules/mal/cluster.mal monetdb5/optimizer/Tests/tst4610.mal monetdb5/optimizer/Tests/tst4610.stable.err monetdb5/optimizer/Tests/tst4610.stable.out monetdb5/optimizer/opt_accumulators.c monetdb5/optimizer/opt_accumulators.h 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 Modified Files: NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj clients/R/MonetDB.R/R/mapi.R clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/ChangeLog gdk/Makefile.ag gdk/gdk.h gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_delta.c gdk/gdk_private.h monetdb5/ChangeLog monetdb5/extras/rapi/Tests/rapi08.malC monetdb5/extras/sphinx/sphinx.c 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/tst220.mal monetdb5/mal/Tests/tst220.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/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/tst908.mal monetdb5/mal/Tests/tst908.stable.out monetdb5/mal/mal_parser.c monetdb5/modules/atoms/mtime.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/inspect05.stable.out.int128 monetdb5/modules/mal/Tests/mapi07.stable.out monetdb5/modules/mal/Tests/remote12.stable.out monetdb5/modules/mal/Tests/remoteInit.mal monetdb5/modules/mal/Tests/remoteInit.stable.out monetdb5/modules/mal/bbp.c monetdb5/modules/mal/joinpath.c 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/mkey.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/remote.mal monetdb5/modules/mal/tablet.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/remap.mal monetdb5/optimizer/Tests/remap.stable.out monetdb5/optimizer/Tests/tst4630.mal monetdb5/optimizer/Tests/tst4630.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_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/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 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/UDF/udf.c sql/backends/monet5/gsl/gsl.c sql/backends/monet5/sql.c 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_round_impl.h sql/backends/monet5/sql_upgrades.c 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.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/12-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/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/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/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit sql/include/sql_catalog.h sql/server/rel_schema.c sql/server/rel_updates.c sql/server/sql_parser.y sql/server/sql_privileges.c sql/server/sql_privileges.h sql/storage/bat/bat_utils.c sql/storage/bat/bat_utils.h sql/test/Tests/setoptimizer.stable.err sql/test/Users/Tests/All sql/test/setoptimizer.sql Branch: embedded Log Message:
merge with default diffs (truncated from 15035 to 300 lines): 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/R/MonetDB.R/R/mapi.R b/clients/R/MonetDB.R/R/mapi.R --- a/clients/R/MonetDB.R/R/mapi.R +++ b/clients/R/MonetDB.R/R/mapi.R @@ -118,7 +118,7 @@ REPLY_SIZE <- 100 # Apparently, -1 me resp <- c(resp, readChar(con, length, useBytes = TRUE)) if (final == 1) break } - if (getOption("monetdb.debug.mapi", F)) cat(paste("RX: '", substring(paste0(resp, collapse=""), 1, 200), "'\n", sep="")) + if (getOption("monetdb.debug.mapi", F)) message("RX: '", substring(paste0(resp, collapse=""), 1, 200)) return(paste0("", resp, collapse="")) } @@ -128,7 +128,7 @@ REPLY_SIZE <- 100 # Apparently, -1 me stop("I can only be called with a MonetDB connection object as parameter.") final <- FALSE pos <- 0 - if (getOption("monetdb.debug.mapi", F)) message("TX: '", msg, "'\n", sep="") + if (getOption("monetdb.debug.mapi", F)) message("TX: '", msg) # convert to raw byte array, otherwise multibyte characters are 'difficult' msgr <- charToRaw(msg) msglen <- length(msgr) 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 @@ -2328,11 +2328,7 @@ command algebra.join(left:bat[:oid,:any_ 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 -pattern algebra.leftfetchjoinPath(l:bat[:any,:any]...):bat[:any,:any] -address ALGjoinPath; -comment Routine to handle join paths. The type analysis is rather tricky. - -pattern algebra.leftjoinPath(l:bat[:any,:any]...):bat[:oid,:any] +pattern algebra.leftfetchjoinPath(l:bat[:oid,:any]...):bat[:oid,:any] address ALGjoinPath; comment Routine to handle join paths. The type analysis is rather tricky. @@ -2354,7 +2350,7 @@ command algebra.like(s:str,pat:str):bit address PCRElike2; command algebra.like(s:str,pat:str,esc:str):bit address PCRElike3; -command algebra.like(b:bat[:oid,:str],substr:str):bat[:oid,:str] +command algebra.like(b:bat[:oid,:str],substr:str):bat[:oid,:oid] address ALGlike; comment Selects all elements that have 'substr' as in the tail. @@ -2362,10 +2358,6 @@ command algebra.leftfetchjoin(left:bat[: address ALGleftfetchjoin; comment Hook directly into the left fetch join implementation. -command algebra.leftjoin(left:bat[:oid,:any_2],right:bat[:any_2,:any_3],estimate:lng):bat[:oid,:any_3] -address ALGleftjoinestimate; -command algebra.leftjoin(left:bat[:oid,:any_2],right:bat[:any_2,:any_3]):bat[:oid,:any_3] -address ALGleftjoin; command algebra.not_ilike(s:str,pat:str):bit address PCREnotilike2; command algebra.not_ilike(s:str,pat:str,esc:str):bit @@ -2382,7 +2374,7 @@ command algebra.reuse(b:bat[:oid,:any_1] address ALGreuse; comment Reuse a temporary BAT if you can. Otherwise, allocate enough storage to accept result of an operation (not involving the heap) -pattern algebra.semijoinPath(l:bat[:any,:any]...):bat[:any,:any] +pattern algebra.semijoinPath(l:bat[:oid,:any]...):bat[:oid,:any] address ALGjoinPath; comment Routine to handle join paths. The type analysis is rather tricky. @@ -2487,10 +2479,6 @@ command algebra.subsort(b:bat[:oid,:any_ address ALGsubsort11; comment Returns a copy of the BAT sorted on tail values. The input and output are (must be) dense headed. The order is descending if the reverse bit is set. This is a stable sort if the stable bit is set. -command algebra.sample(b:bat[:oid,:any_1],num:int):bat[:oid,:oid] -address ALGsample; -comment Returns the oids of a random selection of size 'num' from the input BAT. - command algebra.selectNotNil(b:bat[:oid,:any_2]):bat[:oid,:any_2] address ALGselectNotNil; comment Select all not-nil values @@ -2503,14 +2491,6 @@ command algebra.subselect(b:bat[:oid,:an address ALGsubselect1; comment Select all head values for which the tail value is in range. 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 tail value is between the values low and high (inclusive if li respectively hi is set). The output BAT is sorted on the tail value. If low or high is nil, the boundary is not considered (effectively - and + infinity). If anti is set, the result is the complement. Nil values in the tail are never matched, unless low=nil, high=nil, li=1, hi=1, anti=0. All non-nil values are returned if low=nil, high=nil, and li, hi are not both 1, or anti=1. Note that the output is suitable as second input for the other version of this function. -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. @@ -31163,18 +31143,18 @@ command bat.densebat(sz:wrd):bat[:oid,:o address BKCdensebat; comment Creates a new [void,void] BAT of size 'sz'. +command bat.delete(b:bat[:oid,:any_1]):bat[:oid,:any_1] +address BKCdelete_all; +comment Delete all entries. + +command bat.delete(b:bat[:oid,:any_1],h:oid):bat[:oid,:any_1] +address BKCdelete; +comment Delete an entry with a certain head value. + command bat.delete(b:bat[:oid,:any_1],src:bat[:oid,:any_1]):bat[:oid,:any_1] address BKCdelete_bat_bun; comment Delete from the first BAT all BUNs with a corresponding BUN in the second. -command bat.delete(b:bat[:oid,:any_1]):bat[:oid,:any_1] -address BKCdelete_all; -comment Delete all BUNs in a BAT. - -command bat.delete(b:bat[:oid,:any_1],h:oid):bat[:oid,:any_1] -address BKCdelete; -comment Delete all BUNs with a certain head value. - command bat.getName(b:bat[:oid,:any_1]):str address BKCgetBBPname; comment Gives back the logical name of a BAT. @@ -31263,7 +31243,7 @@ command bat.mergecand(a:bat[:oid,:oid],b address BKCmergecand; comment Merge two candidate lists into one -command bat.mirror(b:bat[:any_1,:any_2]):bat[:any_1,:any_1] +command bat.mirror(b:bat[:oid,:any_2]):bat[:oid,:oid] address BKCmirror; comment Returns the head-mirror image of a BAT (two head columns). @@ -31329,10 +31309,6 @@ command bat.replace(b:bat[:oid,:any_1],h address BKCbun_inplace; comment Replace the tail value of one BUN that has some head value. -command bat.reverse(b:bat[:any_1,:any_2]):bat[:any_2,:any_1] -address BKCreverse; -comment Returns the reverse view of a BAT (head is tail and tail is head). BEWARE no copying is involved; input and output refer to the same object! - pattern bat.single(val:any_1):bat[:oid,:any_1] address CMDBATsingle; comment Create a BAT with a single elemenet @@ -38399,13 +38375,13 @@ command inet.#tostr():void address INETtoString; comment Convert inet to string equivalent -command io.export(b:bat[:oid,:any_2],filepath:str):bit +command io.export(b:bat[:oid,:any_2],filepath:str):void address IOexport; comment Export a BAT as ASCII to a file. If the 'filepath' is not absolute, it is put into the $DBPATH directory. Success of failure is indicated. -command io.import(b:bat[:oid,:any_2],filepath:str):bat[:oid,:any_2] +command io.import(b:bat[:oid,:any_2],filepath:str):void address IOimport; -comment Import a BAT from an ASCII dump. The new tuples are *inserted* into the parameter BAT. You have to create it! Its signature must match the dump, else parsing errors will occur and FALSE is returned. +comment Import a BAT from an ASCII dump. The tuples are appended to the first argument. Its signature must match the dump, else parsing errors will occur as an exception. pattern io.printf(filep:streams,fmt:str):void address IOprintfStream; @@ -38423,10 +38399,6 @@ pattern io.printf(fmt:str,val:any...):vo address IOprintf; comment Select default format -pattern io.prompt(val:any_1):void -address IOprompt_val; -comment Print a MAL value without brackets. - pattern io.print(val:bat[:oid,:any_1]):void address IOprint_val; comment Print a MAL value column . @@ -38753,7 +38725,7 @@ command mapi.fetch_line(hdl:int):str address SERVERfetch_line; comment Retrieve a complete line. -command mapi.fetch_field_array(hdl:int):bat[:int,:str] +command mapi.fetch_field_array(hdl:int):bat[:oid,:str] address SERVERfetch_field_bat; comment Retrieve all fields for a row. @@ -38907,22 +38879,14 @@ command mapi.trace(mid:int,flag:int):voi address SERVERtrace; comment Toggle the Mapi library debug tracer. -pattern manual.completion(pat:str):void -address MANUALcompletion; -comment Produces the wordcompletion table. +pattern manual.functions() (sig:bat[:oid,:str],adr:bat[:oid,:str],com:bat[:oid,:str]) +address MANUALcreateOverview; +comment Produces a table with all MAL functions known pattern manual.help(text:str):void address MANUALhelp; comment Produces a list of all <module>.<function> that match the text pattern. The wildcard '*' can be used for <module>and <function>. Using the '(' asks for signature information andusing ')' asks for the complete help record. -pattern manual.summary():void -address MANUALcreateSummary; -comment Produces a manual summary with help lines grouped by module. - -pattern manual.search(text:str):void -address MANUALsearch; -comment Search the manual for command descriptions that match theregular expression 'text' - pattern mat.hasMoreElements(grp:bat[:oid,:any_2]...):bat[:oid,:any_2] address MAThasMoreElements; comment Find the next element in the merge table @@ -39771,12 +39735,6 @@ comment Alias removal optimizer pattern optimizer.aliases():str address OPTwrapper; -pattern optimizer.accumulators(mod:str,fcn:str):str -address OPTwrapper; -comment Replace calculations with accumulator model - -pattern optimizer.accumulators():str -address OPTwrapper; pattern optimizer.clrDebug():void address QOTclrdebugOptimizers; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list