Changeset: c94620247150 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c94620247150
Added Files:
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_generator.h
        sql/backends/monet5/generator/90_generator.mal
        sql/backends/monet5/generator/90_generator.sql
        sql/backends/monet5/generator/Makefile.ag
        sql/backends/monet5/generator/Tests/All
        sql/backends/monet5/generator/Tests/generator00.sql
        sql/backends/monet5/generator/Tests/generator00.stable.err
        sql/backends/monet5/generator/Tests/generator00.stable.out
        sql/backends/monet5/generator/Tests/generator01.sql
        sql/backends/monet5/generator/Tests/generator01.stable.err
        sql/backends/monet5/generator/Tests/generator01.stable.out
        sql/backends/monet5/generator/Tests/generator02.sql
        sql/backends/monet5/generator/Tests/generator02.stable.err
        sql/backends/monet5/generator/Tests/generator02.stable.out
        sql/backends/monet5/generator/Tests/generator03.sql
        sql/backends/monet5/generator/Tests/generator03.stable.err
        sql/backends/monet5/generator/Tests/generator03.stable.out
        sql/backends/monet5/generator/Tests/generator04.sql
        sql/backends/monet5/generator/Tests/generator04.stable.err
        sql/backends/monet5/generator/Tests/generator04.stable.out
        sql/backends/monet5/generator/Tests/joins00.sql
        sql/backends/monet5/generator/Tests/joins00.stable.err
        sql/backends/monet5/generator/Tests/joins00.stable.out
        sql/backends/monet5/generator/Tests/joins01.sql
        sql/backends/monet5/generator/Tests/joins01.stable.err
        sql/backends/monet5/generator/Tests/joins01.stable.out
        sql/backends/monet5/generator/Tests/joins02.sql
        sql/backends/monet5/generator/Tests/joins02.stable.err
        sql/backends/monet5/generator/Tests/joins02.stable.out
        sql/backends/monet5/generator/Tests/thetaselect00.sql
        sql/backends/monet5/generator/Tests/thetaselect00.stable.err
        sql/backends/monet5/generator/Tests/thetaselect00.stable.out
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/generator/generator.h
        sql/backends/monet5/generator/generator.mal
Modified Files:
        MonetDB.spec
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures_bam.stable.out
        clients/Tests/MAL-signatures_gsl.stable.out
        clients/Tests/MAL-signatures_nocfitsio.stable.out
        clients/Tests/MAL-signatures_sphinxclient.stable.out
        clients/Tests/SQL-dump.stable.out
        clients/Tests/SQL-dump.stable.out.32bit
        clients/Tests/SQL-dump.stable.out.64bit.oid32
        clients/Tests/SQL-dump_bam.stable.out
        clients/Tests/SQL-dump_bam.stable.out.oid32
        clients/Tests/SQL-dump_gsl.stable.out
        clients/Tests/SQL-dump_gsl.stable.out.oid32
        clients/Tests/SQL-dump_nogeom.stable.out
        clients/Tests/exports.stable.out
        debian/monetdb5-server.install
        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.Windows
        monetdb5/mal/mal_debugger.c
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
        sql/backends/monet5/Makefile.ag
        sql/backends/monet5/sql_scenario.c
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        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/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/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/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/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
        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/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.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/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_bam.stable.out
        sql/test/Tests/systemfunctions_gsl.stable.out
        sql/test/Tests/systemfunctions_nogeom.stable.out
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1_bam.stable.out
        sql/test/leaks/Tests/check1_gsl.stable.out
        sql/test/leaks/Tests/check1_nogeom.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2_bam.stable.out
        sql/test/leaks/Tests/check2_gsl.stable.out
        sql/test/leaks/Tests/check2_nogeom.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3_bam.stable.out
        sql/test/leaks/Tests/check3_gsl.stable.out
        sql/test/leaks/Tests/check3_nogeom.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4_bam.stable.out
        sql/test/leaks/Tests/check4_gsl.stable.out
        sql/test/leaks/Tests/check4_nogeom.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5_bam.stable.out
        sql/test/leaks/Tests/check5_gsl.stable.out
        sql/test/leaks/Tests/check5_nogeom.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
Branch: default
Log Message:

Merged generator branch into default branch.


diffs (truncated from 10338 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
@@ -38764,6 +38764,156 @@ pattern fits.listdir(dirname:str):void
 address FITSdir;
 comment Attach all FITS files in the directory
 
+pattern generator.join(b:bat[:oid,:dbl],gen:bat[:oid,:dbl]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+comment Overloaded join operation
+
+pattern generator.join(b:bat[:oid,:flt],gen:bat[:oid,:flt]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:lng],gen:bat[:oid,:lng]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:int],gen:bat[:oid,:int]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:sht],gen:bat[:oid,:sht]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:bte],gen:bat[:oid,:bte]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:timestamp]):bat[:oid,:timestamp]
 
+address VLTgenerator_leftfetchjoin;
+comment Overloaded leftfetchjoin operation
+
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:dbl]):bat[:oid,:dbl] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:flt]):bat[:oid,:flt] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:lng]):bat[:oid,:lng] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:int]):bat[:oid,:int] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:sht]):bat[:oid,:sht] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:bte]):bat[:oid,:bte] 
+address VLTgenerator_leftfetchjoin;
+pattern generator.parameters(first:dbl,last:dbl):bat[:oid,:dbl] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:flt,last:flt):bat[:oid,:flt] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:lng,last:lng):bat[:oid,:lng] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:int,last:int):bat[:oid,:int] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:sht,last:sht):bat[:oid,:sht] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:bte,last:bte):bat[:oid,:bte] 
+address VLTgenerator_noop;
+pattern 
generator.parameters(first:timestamp,last:timestamp,step:lng):bat[:oid,:timestamp]
 
+address VLTgenerator_noop;
+comment Retain the table definition, but don't materialize
+
+pattern generator.parameters(first:dbl,last:dbl,step:dbl):bat[:oid,:dbl] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:flt,last:flt,step:flt):bat[:oid,:flt] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:lng,last:lng,step:lng):bat[:oid,:lng] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:int,last:int,step:int):bat[:oid,:int] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:sht,last:sht,step:sht):bat[:oid,:sht] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:bte,last:bte,step:bte):bat[:oid,:bte] 
+address VLTgenerator_noop;
+pattern 
generator.subselect(b:bat[:oid,:timestamp],cand:bat[:oid,:oid],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+comment Overloaded selection routine
+
+pattern 
generator.subselect(b:bat[:oid,:dbl],cand:bat[:oid,:oid],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:flt],cand:bat[:oid,:oid],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:lng],cand:bat[:oid,:oid],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:int],cand:bat[:oid,:oid],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:sht],cand:bat[:oid,:oid],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:bte],cand:bat[:oid,:oid],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:timestamp],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+comment Overloaded selection routine
+
+pattern 
generator.subselect(b:bat[:oid,:dbl],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:flt],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:lng],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:int],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:sht],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:bte],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.series(first:timestamp,last:timestamp,step:lng):bat[:oid,:timestamp] 
+address VLTgenerator_table;
+pattern generator.series(first:dbl,last:dbl,step:dbl):bat[:oid,:dbl] 
+address VLTgenerator_table;
+comment Create and materialize a generator table
+
+pattern generator.series(first:flt,last:flt,step:flt):bat[:oid,:flt] 
+address VLTgenerator_table;
+pattern generator.series(first:lng,last:lng,step:lng):bat[:oid,:lng] 
+address VLTgenerator_table;
+pattern generator.series(first:int,last:int,step:int):bat[:oid,:int] 
+address VLTgenerator_table;
+pattern generator.series(first:sht,last:sht,step:sht):bat[:oid,:sht] 
+address VLTgenerator_table;
+pattern generator.series(first:bte,last:bte,step:bte):bat[:oid,:bte] 
+address VLTgenerator_table;
+pattern generator.series(first:dbl,last:dbl):bat[:oid,:dbl] 
+address VLTgenerator_table;
+pattern generator.series(first:flt,last:flt):bat[:oid,:flt] 
+address VLTgenerator_table;
+pattern generator.series(first:lng,last:lng):bat[:oid,:lng] 
+address VLTgenerator_table;
+pattern generator.series(first:int,last:int):bat[:oid,:int] 
+address VLTgenerator_table;
+pattern generator.series(first:sht,last:sht):bat[:oid,:sht] 
+address VLTgenerator_table;
+pattern generator.series(first:bte,last:bte):bat[:oid,:bte] 
+address VLTgenerator_table;
+pattern 
generator.thetasubselect(b:bat[:oid,:timestamp],cnd:bat[:oid,:oid],low:timestamp,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+comment Overloaded selection routine
+
+pattern 
generator.thetasubselect(b:bat[:oid,:dbl],cnd:bat[:oid,:oid],low:dbl,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:flt],cnd:bat[:oid,:oid],low:flt,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:lng],cnd:bat[:oid,:oid],low:lng,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:int],cnd:bat[:oid,:oid],low:int,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:sht],cnd:bat[:oid,:oid],low:sht,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:bte],cnd:bat[:oid,:oid],low:bte,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:timestamp],low:timestamp,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
+comment Overloaded selection routine
+
+pattern 
generator.thetasubselect(b:bat[:oid,:dbl],low:dbl,oper:str):bat[:oid,:oid] 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:flt],low:flt,oper:str):bat[:oid,:oid] 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:lng],low:lng,oper:str):bat[:oid,:oid] 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:int],low:int,oper:str):bat[:oid,:oid] 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:sht],low:sht,oper:str):bat[:oid,:oid] 
+address VLTgenerator_thetasubselect;
+pattern 
generator.thetasubselect(b:bat[:oid,:bte],low:bte,oper:str):bat[:oid,:oid] 
+address VLTgenerator_thetasubselect;
 command geom.Area(g:wkb):dbl 
 address wkbArea;
 comment Returns the area of the geometry.
@@ -40567,6 +40717,12 @@ comment Turn function into a factory
 
 pattern optimizer.factorize():str 
 address OPTwrapper;
+pattern optimizer.generator(mod:str,fcn:str):str 
+address OPTwrapper;
+comment Sequence generator optimizer
+
+pattern optimizer.generator():str 
+address OPTwrapper;
 pattern optimizer.groups(mod:str,fcn:str):str 
 address OPTwrapper;
 comment Join path constructor
diff --git a/clients/Tests/MAL-signatures_bam.stable.out 
b/clients/Tests/MAL-signatures_bam.stable.out
--- a/clients/Tests/MAL-signatures_bam.stable.out
+++ b/clients/Tests/MAL-signatures_bam.stable.out
@@ -38832,6 +38832,156 @@ pattern fits.listdir(dirname:str):void
 address FITSdir;
 comment Attach all FITS files in the directory
 
+pattern generator.join(b:bat[:oid,:dbl],gen:bat[:oid,:dbl]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+comment Overloaded join operation
+
+pattern generator.join(b:bat[:oid,:flt],gen:bat[:oid,:flt]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:lng],gen:bat[:oid,:lng]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:int],gen:bat[:oid,:int]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:sht],gen:bat[:oid,:sht]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern generator.join(b:bat[:oid,:bte],gen:bat[:oid,:bte]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
+address VLTgenerator_join;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:timestamp]):bat[:oid,:timestamp]
 
+address VLTgenerator_leftfetchjoin;
+comment Overloaded leftfetchjoin operation
+
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:dbl]):bat[:oid,:dbl] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:flt]):bat[:oid,:flt] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:lng]):bat[:oid,:lng] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:int]):bat[:oid,:int] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:sht]):bat[:oid,:sht] 
+address VLTgenerator_leftfetchjoin;
+pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:bte]):bat[:oid,:bte] 
+address VLTgenerator_leftfetchjoin;
+pattern generator.parameters(first:dbl,last:dbl):bat[:oid,:dbl] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:flt,last:flt):bat[:oid,:flt] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:lng,last:lng):bat[:oid,:lng] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:int,last:int):bat[:oid,:int] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:sht,last:sht):bat[:oid,:sht] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:bte,last:bte):bat[:oid,:bte] 
+address VLTgenerator_noop;
+pattern 
generator.parameters(first:timestamp,last:timestamp,step:lng):bat[:oid,:timestamp]
 
+address VLTgenerator_noop;
+comment Retain the table definition, but don't materialize
+
+pattern generator.parameters(first:dbl,last:dbl,step:dbl):bat[:oid,:dbl] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:flt,last:flt,step:flt):bat[:oid,:flt] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:lng,last:lng,step:lng):bat[:oid,:lng] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:int,last:int,step:int):bat[:oid,:int] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:sht,last:sht,step:sht):bat[:oid,:sht] 
+address VLTgenerator_noop;
+pattern generator.parameters(first:bte,last:bte,step:bte):bat[:oid,:bte] 
+address VLTgenerator_noop;
+pattern 
generator.subselect(b:bat[:oid,:timestamp],cand:bat[:oid,:oid],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+comment Overloaded selection routine
+
+pattern 
generator.subselect(b:bat[:oid,:dbl],cand:bat[:oid,:oid],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:flt],cand:bat[:oid,:oid],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:lng],cand:bat[:oid,:oid],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:int],cand:bat[:oid,:oid],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:sht],cand:bat[:oid,:oid],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:bte],cand:bat[:oid,:oid],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:timestamp],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+comment Overloaded selection routine
+
+pattern 
generator.subselect(b:bat[:oid,:dbl],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:flt],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:lng],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:int],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:sht],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.subselect(b:bat[:oid,:bte],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
+address VLTgenerator_subselect;
+pattern 
generator.series(first:timestamp,last:timestamp,step:lng):bat[:oid,:timestamp] 
+address VLTgenerator_table;
+pattern generator.series(first:dbl,last:dbl,step:dbl):bat[:oid,:dbl] 
+address VLTgenerator_table;
+comment Create and materialize a generator table
+
+pattern generator.series(first:flt,last:flt,step:flt):bat[:oid,:flt] 
+address VLTgenerator_table;
+pattern generator.series(first:lng,last:lng,step:lng):bat[:oid,:lng] 
+address VLTgenerator_table;
+pattern generator.series(first:int,last:int,step:int):bat[:oid,:int] 
+address VLTgenerator_table;
+pattern generator.series(first:sht,last:sht,step:sht):bat[:oid,:sht] 
+address VLTgenerator_table;
+pattern generator.series(first:bte,last:bte,step:bte):bat[:oid,:bte] 
+address VLTgenerator_table;
+pattern generator.series(first:dbl,last:dbl):bat[:oid,:dbl] 
+address VLTgenerator_table;
+pattern generator.series(first:flt,last:flt):bat[:oid,:flt] 
+address VLTgenerator_table;
+pattern generator.series(first:lng,last:lng):bat[:oid,:lng] 
+address VLTgenerator_table;
+pattern generator.series(first:int,last:int):bat[:oid,:int] 
+address VLTgenerator_table;
+pattern generator.series(first:sht,last:sht):bat[:oid,:sht] 
+address VLTgenerator_table;
+pattern generator.series(first:bte,last:bte):bat[:oid,:bte] 
+address VLTgenerator_table;
+pattern 
generator.thetasubselect(b:bat[:oid,:timestamp],cnd:bat[:oid,:oid],low:timestamp,oper:str):bat[:oid,:oid]
 
+address VLTgenerator_thetasubselect;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to