Changeset: ed670fd4dda9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ed670fd4dda9
Added Files:
        gdk/gdk_project.c
        monetdb5/modules/mal/projectionpath.c
        monetdb5/modules/mal/projectionpath.h
        monetdb5/optimizer/Tests/projectionchain.malC
        monetdb5/optimizer/Tests/projectionchain.stable.err
        monetdb5/optimizer/Tests/projectionchain.stable.out
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_projectionpath.h
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_volcano.h
        sql/test/rdf/Tests/q8_v_small.reqtests
        sql/test/rdf/Tests/q8_v_small.sql
        sql/test/rdf/Tests/q8_v_small.stable.err
        sql/test/rdf/Tests/q8_v_small.stable.out
Removed Files:
        monetdb5/modules/mal/joinpath.c
        monetdb5/modules/mal/joinpath.h
        monetdb5/optimizer/Tests/joinchain.malC
        monetdb5/optimizer/Tests/joinchain.stable.err
        monetdb5/optimizer/Tests/joinchain.stable.out
        monetdb5/optimizer/opt_joinpath.c
        monetdb5/optimizer/opt_joinpath.h
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.err
        clients/Tests/exports.stable.out
        clients/Tests/malcheck.stable.err
        common/stream/stream.c
        gdk/Makefile.ag
        gdk/gdk.h
        gdk/gdk_bbp.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_search.c
        gdk/gdk_search.h
        geom/monetdb5/30_geom.mal
        monetdb5/extras/mal_optimizer_template/91_opt_sql_append.mal
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
        monetdb5/extras/rapi/50_rapi.mal
        monetdb5/extras/sphinx/30_sphinx.mal
        monetdb5/mal/Tests/All
        monetdb5/mal/Tests/dataflow01.malC
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_dataflow.h
        monetdb5/mal/mal_linker.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_profiler.h
        monetdb5/mal/mal_resource.c
        monetdb5/mal/mal_resource.h
        monetdb5/mal/mal_runtime.c
        monetdb5/mal/mal_runtime.h
        monetdb5/modules/kernel/00_aggr_hge.mal
        monetdb5/modules/kernel/00_aggr_hge.mal.sh
        monetdb5/modules/kernel/aggr.mal
        monetdb5/modules/kernel/aggr.mal.sh
        monetdb5/modules/mal/01_batcalc.mal
        monetdb5/modules/mal/01_batcalc.mal.sh
        monetdb5/modules/mal/01_calc.mal
        monetdb5/modules/mal/Makefile.ag
        monetdb5/modules/mal/Tests/manifold.malC
        monetdb5/modules/mal/language.mal
        monetdb5/modules/mal/profiler.c
        monetdb5/modules/mal/profiler.h
        monetdb5/modules/mal/profiler.mal
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/Tests/JPexample.malC
        monetdb5/optimizer/Tests/JPexample.stable.out
        monetdb5/optimizer/Tests/dataflow.malC
        monetdb5/optimizer/Tests/dataflow.stable.out
        monetdb5/optimizer/Tests/dataflow3.malC
        monetdb5/optimizer/Tests/joinpath.malC
        monetdb5/optimizer/Tests/leftjoinpath.malC
        monetdb5/optimizer/Tests/tst4005.malC
        monetdb5/optimizer/Tests/tst4630.malC
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
        monetdb5/scheduler/Tests/All
        sql/backends/monet5/40_sql.mal
        sql/backends/monet5/Tests/optimizers.sql
        sql/backends/monet5/Tests/optimizers.stable.err
        sql/backends/monet5/UDF/80_udf.mal
        sql/backends/monet5/generator/90_generator.mal
        sql/backends/monet5/gsl/73_gsl.mal
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_decimal.mal.sh
        sql/backends/monet5/sql_decimal_hge.mal.sh
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/vaults/70_vault.mal
        sql/backends/monet5/vaults/bam/85_bam.mal
        sql/backends/monet5/vaults/bam/85_bam.sql
        sql/backends/monet5/vaults/bam/bam.mal
        sql/backends/monet5/vaults/lidar/75_lidar.mal
        sql/backends/monet5/vaults/lidar/lidar.c
        sql/backends/monet5/vaults/lidar/lidar.h
        sql/backends/monet5/vaults/lidar/lidar.mal
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-plan.stable.out
        sql/benchmarks/tpch/Tests/08-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        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/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.stable.out.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/benchmarks/wisconsin/Tests/All
        sql/jdbc/tests/Tests/Test_Dobjects.stable.out
        sql/jdbc/tests/Tests/Test_PSmetadata.stable.out
        sql/jdbc/tests/Tests/Test_Rmetadata.stable.out
        sql/jdbc/tests/Tests/Test_Rsqldata.stable.out
        sql/server/rel_optimizer.c
        sql/server/sql_parser.y
        sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.py
        sql/test/BugTracker-2009/Tests/reorder.SF-2770608.sql
        sql/test/BugTracker-2009/Tests/table-leftovers.SF-2779462.sql
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        sql/test/BugTracker/Tests/caching.SF-1651599.stable.out
        sql/test/Tests/setoptimizer.stable.err
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
        sql/test/rdf/Tests/All
        testing/Makefile.ag
        tools/merovingian/daemon/Makefile.ag
        tools/mserver/Makefile.ag
Branch: mosaic
Log Message:

Merge with default


diffs (truncated from 11673 to 300 lines):

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
@@ -1989,8 +1989,8 @@ command algebra.not_like(s:str,pat:str):
 address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
-pattern algebra.projectionPath(l:bat[:any]...):bat[:any] 
-address ALGjoinPath;
+pattern algebra.projectionpath(l:bat[:any]...):bat[:any] 
+address ALGprojectionpath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
 
 command algebra.projection(left:bat[:oid],right:bat[:any_3]):bat[:any_3] 
@@ -2005,10 +2005,6 @@ command algebra.reuse(b:bat[:any_1]):bat
 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]...):bat[:any] 
-address ALGjoinPath;
-comment Routine to handle join paths.  The type analysis is rather tricky.
-
 command algebra.subslice(b:bat[:any_1],x:wrd,y:wrd):bat[:oid] 
 address ALGsubslice_wrd;
 comment Return the oids of the slice with the BUNs at position x till y.
@@ -3964,15 +3960,15 @@ pattern batcalc.!=(b1:bat[:bte],b2:bat[:
 address CMDbatNE;
 comment Return B1 != B2
 
-pattern batcalc.!=(vb:bat[:oid],s:bat[:oid]):bat[:bit] 
-address CMDbatNE;
-comment Return V != B with candidates list
-
-pattern batcalc.!=(vb:bat[:oid]):bat[:bit] 
-address CMDbatNE;
-comment Return V != B
-
-pattern batcalc.!=(b:bat[:oid],vs:bat[:oid]):bat[:bit] 
+pattern batcalc.!=(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bit] 
+address CMDbatNE;
+comment Return V != B with candidates list
+
+pattern batcalc.!=(v:oid,b:bat[:oid]):bat[:bit] 
+address CMDbatNE;
+comment Return V != B
+
+pattern batcalc.!=(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bit] 
 address CMDbatNE;
 comment Return B != V with candidates list
 
@@ -12660,15 +12656,15 @@ pattern batcalc.<=(b1:bat[:bte],b2:bat[:
 address CMDbatLE;
 comment Return B1 <= B2
 
-pattern batcalc.<=(vb:bat[:oid],s:bat[:oid]):bat[:bit] 
-address CMDbatLE;
-comment Return V <= B with candidates list
-
-pattern batcalc.<=(vb:bat[:oid]):bat[:bit] 
-address CMDbatLE;
-comment Return V <= B
-
-pattern batcalc.<=(b:bat[:oid],vs:bat[:oid]):bat[:bit] 
+pattern batcalc.<=(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bit] 
+address CMDbatLE;
+comment Return V <= B with candidates list
+
+pattern batcalc.<=(v:oid,b:bat[:oid]):bat[:bit] 
+address CMDbatLE;
+comment Return V <= B
+
+pattern batcalc.<=(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bit] 
 address CMDbatLE;
 comment Return B <= V with candidates list
 
@@ -13908,15 +13904,15 @@ pattern batcalc.<(b1:bat[:bte],b2:bat[:b
 address CMDbatLT;
 comment Return B1 < B2
 
-pattern batcalc.<(vb:bat[:oid],s:bat[:oid]):bat[:bit] 
-address CMDbatLT;
-comment Return V < B with candidates list
-
-pattern batcalc.<(vb:bat[:oid]):bat[:bit] 
-address CMDbatLT;
-comment Return V < B
-
-pattern batcalc.<(b:bat[:oid],vs:bat[:oid]):bat[:bit] 
+pattern batcalc.<(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bit] 
+address CMDbatLT;
+comment Return V < B with candidates list
+
+pattern batcalc.<(v:oid,b:bat[:oid]):bat[:bit] 
+address CMDbatLT;
+comment Return V < B
+
+pattern batcalc.<(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bit] 
 address CMDbatLT;
 comment Return B < V with candidates list
 
@@ -15916,15 +15912,15 @@ pattern batcalc.==(b1:bat[:bte],b2:bat[:
 address CMDbatEQ;
 comment Return B1 == B2
 
-pattern batcalc.==(vb:bat[:oid],s:bat[:oid]):bat[:bit] 
-address CMDbatEQ;
-comment Return V == B with candidates list
-
-pattern batcalc.==(vb:bat[:oid]):bat[:bit] 
-address CMDbatEQ;
-comment Return V == B
-
-pattern batcalc.==(b:bat[:oid],vs:bat[:oid]):bat[:bit] 
+pattern batcalc.==(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bit] 
+address CMDbatEQ;
+comment Return V == B with candidates list
+
+pattern batcalc.==(v:oid,b:bat[:oid]):bat[:bit] 
+address CMDbatEQ;
+comment Return V == B
+
+pattern batcalc.==(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bit] 
 address CMDbatEQ;
 comment Return B == V with candidates list
 
@@ -17244,15 +17240,15 @@ pattern batcalc.>=(b1:bat[:bte],b2:bat[:
 address CMDbatGE;
 comment Return B1 >= B2
 
-pattern batcalc.>=(vb:bat[:oid],s:bat[:oid]):bat[:bit] 
-address CMDbatGE;
-comment Return V >= B with candidates list
-
-pattern batcalc.>=(vb:bat[:oid]):bat[:bit] 
-address CMDbatGE;
-comment Return V >= B
-
-pattern batcalc.>=(b:bat[:oid],vs:bat[:oid]):bat[:bit] 
+pattern batcalc.>=(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bit] 
+address CMDbatGE;
+comment Return V >= B with candidates list
+
+pattern batcalc.>=(v:oid,b:bat[:oid]):bat[:bit] 
+address CMDbatGE;
+comment Return V >= B
+
+pattern batcalc.>=(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bit] 
 address CMDbatGE;
 comment Return B >= V with candidates list
 
@@ -18492,15 +18488,15 @@ pattern batcalc.>(b1:bat[:bte],b2:bat[:b
 address CMDbatGT;
 comment Return B1 > B2
 
-pattern batcalc.>(vb:bat[:oid],s:bat[:oid]):bat[:bit] 
-address CMDbatGT;
-comment Return V > B with candidates list
-
-pattern batcalc.>(vb:bat[:oid]):bat[:bit] 
-address CMDbatGT;
-comment Return V > B
-
-pattern batcalc.>(b:bat[:oid],vs:bat[:oid]):bat[:bit] 
+pattern batcalc.>(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bit] 
+address CMDbatGT;
+comment Return V > B with candidates list
+
+pattern batcalc.>(v:oid,b:bat[:oid]):bat[:bit] 
+address CMDbatGT;
+comment Return V > B
+
+pattern batcalc.>(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bit] 
 address CMDbatGT;
 comment Return B > V with candidates list
 
@@ -22456,15 +22452,15 @@ pattern batcalc.cmp(b1:bat[:bte],b2:bat[
 address CMDbatCMP;
 comment Return -1/0/1 if B1 </==/> B2
 
-pattern batcalc.cmp(vb:bat[:oid],s:bat[:oid]):bat[:bte] 
-address CMDbatCMP;
-comment Return -1/0/1 if V </==/> B with candidates list
-
-pattern batcalc.cmp(b:bat[:oid],vs:bat[:oid]):bat[:bte] 
-address CMDbatCMP;
-comment Return -1/0/1 if B </==/> V with candidates list
-
-pattern batcalc.cmp(vb:bat[:oid]):bat[:bte] 
+pattern batcalc.cmp(v:oid,b:bat[:oid],s:bat[:oid]):bat[:bte] 
+address CMDbatCMP;
+comment Return -1/0/1 if V </==/> B with candidates list
+
+pattern batcalc.cmp(b:bat[:oid],v:oid,s:bat[:oid]):bat[:bte] 
+address CMDbatCMP;
+comment Return -1/0/1 if B </==/> V with candidates list
+
+pattern batcalc.cmp(v:oid,b:bat[:oid]):bat[:bte] 
 address CMDbatCMP;
 comment Return -1/0/1 if V </==/> B
 
@@ -24320,18 +24316,6 @@ pattern batcalc.ifthenelse(b:bat[:bit],v
 address CMDifthen;
 comment If-then-else operation to assemble a conditional result
 
-pattern batcalc.ifthenelse(v:bit,b1:bat[:any_1],v2:any_1):bat[:any_1] 
-address CMDifthen;
-comment If-then-else operation to assemble a conditional result
-
-pattern batcalc.ifthenelse(v:bit,v1:any_1,b2:bat[:any_1]):bat[:any_1] 
-address CMDifthen;
-comment If-then-else operation to assemble a conditional result
-
-pattern batcalc.ifthenelse(v:bit,b1:bat[:any_1],b2:bat[:any_1]):bat[:any_1] 
-address CMDifthen;
-comment If-then-else operation to assemble a conditional result
-
 pattern batcalc.int_noerror(b:bat[:str],s:bat[:oid]):bat[:int] 
 address CMDconvert_int;
 comment cast from str to int with candidates list
@@ -38354,6 +38338,10 @@ command language.assert(v:sht,term:str):
 address MALassertSht;
 command language.assert(v:bit,term:str):void 
 address MALassertBit;
+pattern language.block(v:int,w:any...):int 
+address deblockdataflow;
+comment Block on availability of all variables w, and then pass on v
+
 pattern language.call(s:bat[:str]):void 
 address CMDcallBAT;
 comment Evaluate a program stored in a BAT.
@@ -39744,12 +39732,6 @@ comment Replace select with join select
 
 pattern optimizer.joinselect():str 
 address OPTwrapper;
-pattern optimizer.joinPath(mod:str,fcn:str):str 
-address OPTwrapper;
-comment Join path constructor
-
-pattern optimizer.joinPath():str 
-address OPTwrapper;
 pattern optimizer.matpack(mod:str,fcn:str):str 
 address OPTwrapper;
 comment Unroll the mat.pack operation
@@ -39826,6 +39808,12 @@ comment Experiment with partitioned data
 
 pattern optimizer.partitions():str 
 address OPTwrapper;
+pattern optimizer.projectionpath(mod:str,fcn:str):str 
+address OPTwrapper;
+comment Join path constructor
+
+pattern optimizer.projectionpath():str 
+address OPTwrapper;
 pattern optimizer.prelude():void 
 address optimizer_prelude;
 comment Initialize the optimizer
@@ -39904,6 +39892,12 @@ comment Collect trace of a specific oper
 
 pattern optimizer.trace():str 
 address OPTwrapper;
+pattern optimizer.volcano(mod:str,fcn:str):str 
+address OPTwrapper;
+comment Simulate volcano style execution
+
+pattern optimizer.volcano():str 
+address OPTwrapper;
 command pcre.imatch(s:str,pat:str):bit 
 address PCREimatch;
 comment Caseless Perl Compatible Regular Expression pattern matching against a 
string
@@ -39986,6 +39980,14 @@ command profiler.setheartbeat(b:int):voi
 address CMDsetHeartbeat;
 comment Set heart beat performance tracing
 
+command profiler.stoptrace():void 
+address CMDstopTrace;
+comment Stop collecting trace information
+
+command profiler.starttrace():void 
+address CMDstartTrace;
+comment Start collecting trace information
+
 pattern profiler.stop():void 
 address CMDstopProfiler;
 comment Stop offline performance profiling
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
@@ -2428,8 +2428,8 @@ command algebra.not_like(s:str,pat:str):
 address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
-pattern algebra.projectionPath(l:bat[:any]...):bat[:any] 
-address ALGjoinPath;
+pattern algebra.projectionpath(l:bat[:any]...):bat[:any] 
+address ALGprojectionpath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
 
 command algebra.projection(left:bat[:oid],right:bat[:any_3]):bat[:any_3] 
@@ -2444,10 +2444,6 @@ command algebra.reuse(b:bat[:any_1]):bat
 address ALGreuse;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to