Changeset: 3c9ca597ed4b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3c9ca597ed4b Removed Files: monetdb5/modules/mal/cluster.c monetdb5/modules/mal/cluster.h monetdb5/modules/mal/cluster.mal monetdb5/optimizer/opt_accumulators.c monetdb5/optimizer/opt_accumulators.h Modified Files: NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/ChangeLog gdk/gdk.h gdk/gdk_join_legacy.c gdk/gdk_private.h monetdb5/ChangeLog monetdb5/mal/Tests/tst810.mal monetdb5/mal/Tests/tst810.stable.out monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/mal/Makefile.ag monetdb5/modules/mal/Tests/remote12.stable.out monetdb5/modules/mal/joinpath.c monetdb5/optimizer/Makefile.ag monetdb5/optimizer/Tests/All 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 sql/backends/monet5/Tests/optimizers.sql sql/backends/monet5/Tests/optimizers.stable.err 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/test/Tests/setoptimizer.stable.err sql/test/setoptimizer.sql Branch: leftmart Log Message:
Merge with default diffs (truncated from 7891 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/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. @@ -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. @@ -2499,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. @@ -31259,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). @@ -31325,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 @@ -38395,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; @@ -39755,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; pattern optimizer.crackers(mod:str,fcn:str):str @@ -40175,7 +40149,7 @@ pattern remote.batbincopy():bat[:oid,:an address RMTbincopyfrom; comment store the binary BAT data in the BBP and return as BAT -pattern remote.batbincopy(b:BAT):void +pattern remote.batbincopy(b:bat[:oid,:any]):void address RMTbincopyto; comment dump BAT b in binary form to the stream 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 @@ -2839,11 +2839,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. @@ -2873,10 +2869,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 @@ -2893,7 +2885,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. @@ -3010,14 +3002,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. @@ -40304,7 +40288,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). @@ -40370,10 +40354,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 @@ -49310,13 +49290,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; @@ -50686,12 +50666,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; pattern optimizer.crackers(mod:str,fcn:str):str @@ -51106,7 +51080,7 @@ pattern remote.batbincopy():bat[:oid,:an address RMTbincopyfrom; comment store the binary BAT data in the BBP and return as BAT _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list