Changeset: 574d836e5bc2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=574d836e5bc2 Removed Files: monetdb5/optimizer/Tests/ESexample.mal monetdb5/optimizer/Tests/ESexample.stable.err monetdb5/optimizer/Tests/ESexample.stable.out monetdb5/optimizer/Tests/emptyset00.mal monetdb5/optimizer/Tests/emptyset00.stable.err monetdb5/optimizer/Tests/emptyset00.stable.out monetdb5/optimizer/Tests/emptyset01.mal monetdb5/optimizer/Tests/emptyset01.stable.err monetdb5/optimizer/Tests/emptyset01.stable.out monetdb5/optimizer/Tests/rangePush00.mal monetdb5/optimizer/Tests/rangePush00.stable.err monetdb5/optimizer/Tests/rangePush00.stable.out monetdb5/optimizer/Tests/rangePush01.mal monetdb5/optimizer/Tests/rangePush01.stable.err monetdb5/optimizer/Tests/rangePush01.stable.out monetdb5/optimizer/opt_emptySet.c monetdb5/optimizer/opt_emptySet.h monetdb5/optimizer/opt_pushranges.c monetdb5/optimizer/opt_pushranges.h Modified Files: clients/Tests/exports.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/optimizer/Makefile.ag monetdb5/optimizer/Tests/All monetdb5/optimizer/Tests/tst4005.mal monetdb5/optimizer/opt_pipes.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/test/BugTracker-2009/Tests/reorder.SF-2770608.sql sql/test/BugTracker-2009/Tests/table-leftovers.SF-2779462.sql Branch: default Log Message:
Move the emptyset optimizer to the attic Of little use, empty sets should be handled automatically by the MAL instruction implementations. diffs (truncated from 1340 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1683,7 +1683,6 @@ int OPTcostModelImplementation(Client cn int OPTdataflowImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); int OPTdeadcodeImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int OPTdumpQEPImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); -int OPTemptySetImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); int OPTevaluateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int OPTfactorizeImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int OPTgarbageCollectorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); @@ -1702,7 +1701,6 @@ int OPTmultiplexImplementation(Client cn str OPTmultiplexSimple(Client cntxt); str OPTorcam(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); int OPTorcamImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); -int OPTpushrangesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int OPTpushselectImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int OPTquerylogImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int OPTrecyclerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err @@ -30,16 +30,16 @@ stderr of test 'opt_sql_append` in direc # 22:58:57 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome" "--port=36275" # 22:58:57 > -MAPI = (monetdb) /var/tmp/mtest-28428/.s.monetdb.31099 +MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125 QUERY = explain copy into ttt from '\tmp/xyz'; ERROR = !COPY INTO: filename must have absolute path: \tmp/xyz -MAPI = (monetdb) /var/tmp/mtest-28428/.s.monetdb.31099 +MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125 QUERY = explain copy into ttt from 'a:\tmp/xyz'; ERROR = !COPY INTO: filename must have absolute path: a:\tmp/xyz -MAPI = (monetdb) /var/tmp/mtest-28428/.s.monetdb.31099 +MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125 QUERY = explain copy into ttt from '\tmp/xyz'; ERROR = !COPY INTO: filename must have absolute path: \tmp/xyz -MAPI = (monetdb) /var/tmp/mtest-28428/.s.monetdb.31099 +MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125 QUERY = explain copy into ttt from 'Z:/tmp/xyz'; ERROR = !COPY INTO: filename must have absolute path: Z:/tmp/xyz diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out @@ -55,8 +55,8 @@ Ready. % .L # table_name % def # name % clob # type -% 470 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.garbageCollector();" ] +% 449 # length +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.garbageCollector();" ] #explain copy into ttt from '/tmp/xyz'; % .explain # table_name % mal # name @@ -89,8 +89,8 @@ end user.s4_1; % .L # table_name % def # name % clob # type -% 493 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.sql_append();optimizer.garbageCollector();" ] +% 472 # length +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.sql_append();optimizer.garbageCollector();" ] #explain copy into ttt from '/tmp/xyz'; % .explain # table_name % mal # name diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag --- a/monetdb5/optimizer/Makefile.ag +++ b/monetdb5/optimizer/Makefile.ag @@ -37,7 +37,6 @@ lib_optimizer = { opt_costModel.c opt_costModel.h \ opt_dataflow.c opt_dataflow.h \ opt_deadcode.c opt_deadcode.h \ - opt_emptySet.c opt_emptySet.h \ opt_evaluate.c opt_evaluate.h \ opt_factorize.c opt_factorize.h \ opt_garbageCollector.c opt_garbageCollector.h \ @@ -54,7 +53,6 @@ lib_optimizer = { opt_multiplex.c opt_multiplex.h \ opt_pipes.c opt_pipes.h \ opt_prelude.c opt_prelude.h \ - opt_pushranges.c opt_pushranges.h \ opt_qep.c opt_qep.h \ opt_recycler.c opt_recycler.h \ opt_reduce.c opt_reduce.h \ diff --git a/monetdb5/optimizer/Tests/All b/monetdb5/optimizer/Tests/All --- a/monetdb5/optimizer/Tests/All +++ b/monetdb5/optimizer/Tests/All @@ -38,9 +38,6 @@ reorder00 #rangePush00 optimizer out of date #rangePush01 -#emptyset00 Optimizer does not deal with subselects -#emptyset01 no more kdifference - inline00 inline01 inline02 diff --git a/monetdb5/optimizer/Tests/ESexample.mal b/monetdb5/optimizer/Tests/ESexample.mal deleted file mode 100644 --- a/monetdb5/optimizer/Tests/ESexample.mal +++ /dev/null @@ -1,11 +0,0 @@ -function tst(); - V1 := bat.new(:oid,:oid); - V7{rows=0} := bat.new(:oid,:oid); - (V17,V17b) := algebra.subjoin(V1,V7,nil:bat[:oid,:oid],nil:bat[:oid,:oid],true,0:lng); - bat.append(V1,V17); -end tst; - optimizer.costModel("user","tst"); - optimizer.emptySet("user","tst"); - optimizer.aliases("user","tst"); - optimizer.deadcode("user","tst"); - mdb.List("user","tst"); diff --git a/monetdb5/optimizer/Tests/ESexample.stable.err b/monetdb5/optimizer/Tests/ESexample.stable.err deleted file mode 100644 --- a/monetdb5/optimizer/Tests/ESexample.stable.err +++ /dev/null @@ -1,12 +0,0 @@ -stderr of test 'ESexample` in directory 'monetdb5/optimizer` itself: - - -# 22:08:09 > -# 22:08:09 > Mtimeout -timeout 60 Mserver "--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set mapi_port=39624 --set sql_port=43520 --set xquery_port=59650 --set monet_prompt= --trace --dbname=mTests_src_optimizer ESexample.mal < /dev/null -# 22:08:09 > - - -# 22:08:09 > -# 22:08:09 > Done. -# 22:08:09 > - diff --git a/monetdb5/optimizer/Tests/ESexample.stable.out b/monetdb5/optimizer/Tests/ESexample.stable.out deleted file mode 100644 --- a/monetdb5/optimizer/Tests/ESexample.stable.out +++ /dev/null @@ -1,34 +0,0 @@ -stdout of test 'ESexample` in directory 'monetdb5/optimizer` itself: - - -# 22:08:09 > -# 22:08:09 > Mtimeout -timeout 60 Mserver "--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set mapi_port=39624 --set sql_port=43520 --set xquery_port=59650 --set monet_prompt= --trace --dbname=mTests_src_optimizer ESexample.mal < /dev/null -# 22:08:09 > - -# MonetDB server v5.9.0, based on kernel v1.27.0 -# Serving database 'mTests_src_optimizer', using 4 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked -# Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008- MonetDB B.V., all rights reserved -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:32348/ -function user.tst():void; - V1 := bat.new(:oid,:oid); - V7 := bat.new(:oid,:oid); - (V17,V17b) := algebra.subjoin(V1,V7,nil:bat[:oid,:oid],nil:bat[:oid,:oid],true,0:lng); - bat.append(V1,V17); -end user.tst; -function user.main():void; - mdb.List("user","tst"); -end user.main; -function user.tst():void; # 0 tst:void := user.tst() {G} - V1 := bat.new(:oid,:oid); # 1 V1:bat[:oid,:oid] := CMDBATnew(_2:oid, _2:oid) {G} - V7{rows=0} := bat.new(:oid,:oid); # 2 V7:bat[:oid,:oid] := CMDBATnew(_2:oid, _2:oid) {G} - (V17,V17b) := algebra.subjoin(V1,V7{rows=0},nil:bat[:oid,:oid],nil:bat[:oid,:oid],true,0:lng);# 3 (V17:bat[:oid,:oid], V17b:bat[:oid,:oid]) := ALGsubjoin(V1:bat[:oid,:oid], V7:bat[:oid,:oid], _7:bat[:oid,:oid], _8:bat[:oid,:oid], _9:bit, _10:lng) {G} - bat.append(V1,V17); # 4 _11:bat[:oid,:oid] := BKCappend_wrap(V1:bat[:oid,:oid], V17:bat[:oid,:oid]) {G} -end user.tst; # 5 - -# 22:08:09 > -# 22:08:09 > Done. -# 22:08:09 > - diff --git a/monetdb5/optimizer/Tests/emptyset00.mal b/monetdb5/optimizer/Tests/emptyset00.mal deleted file mode 100644 --- a/monetdb5/optimizer/Tests/emptyset00.mal +++ /dev/null @@ -1,10 +0,0 @@ - b := bat.new(:oid,:int); - x := bat.new(:oid,:oid); - s1 := algebra.subselect(b,x,80,90,true,true,false); - s2 := algebra.subselect(b,s1,90,80,true,true,false); - s3 := algebra.subselect(b,s2,80,80,true,true,false); - io.print(s3); - -optimizer.pushranges(); -optimizer.emptySet(); -mdb.List(); diff --git a/monetdb5/optimizer/Tests/emptyset00.stable.err b/monetdb5/optimizer/Tests/emptyset00.stable.err deleted file mode 100644 --- a/monetdb5/optimizer/Tests/emptyset00.stable.err +++ /dev/null @@ -1,12 +0,0 @@ -stderr of test 'emptyset00` in directory 'monetdb5/optimizer` itself: - - -# 08:35:57 > -# 08:35:57 > Mtimeout -timeout 60 mserver5 "--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/dblogs" --set mapi_port=34817 --set monet_prompt= --trace --dbname=mTests_src_optimizer emptyset00.mal < /dev/null -# 08:35:57 > - - -# 08:35:57 > -# 08:35:57 > Done. -# 08:35:57 > - diff --git a/monetdb5/optimizer/Tests/emptyset00.stable.out b/monetdb5/optimizer/Tests/emptyset00.stable.out deleted file mode 100644 --- a/monetdb5/optimizer/Tests/emptyset00.stable.out +++ /dev/null @@ -1,40 +0,0 @@ -stdout of test 'emptyset00` in directory 'monetdb5/optimizer` itself: - - -# 08:35:57 > -# 08:35:57 > Mtimeout -timeout 60 mserver5 "--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/dblogs" --set mapi_port=34817 --set monet_prompt= --trace --dbname=mTests_src_optimizer emptyset00.mal < /dev/null -# 08:35:57 > - -# MonetDB Server v4.99.19 -# Copyright (c) 1993-2006 CWI, all rights reserved -# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked -# config:/ufs/mk/monet5/Linux/etc/MonetDB5.conf -# dbfarm:/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm -# dbname:mTests_src_optimizer -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:32348/ -function user.main():void; - b := bat.new(:oid,:int); - s1 := algebra.select(b,80,90); - s2 := bat.new(:oid,:int); - s3 := bat.new(:oid,:int); - io.print(s3); - mdb.List(); -end main; -#-----------------# -# h t # name -# void int # type -#-----------------# -function user.main():void; # 0 main:void := user.main() {G} - b := bat.new(:oid,:int); # 1 b:bat[:oid,:int] := CMDBATnew(_2:oid, _3:int) {G} - s1 := algebra.select(b,80,90); # 2 s1:bat[:oid,:int] := ALGselect(b:bat[:oid,:int], _5:int, _6:int) {G} - s2{rows=0} := bat.new(:oid,:int); # 3 s2:bat[:oid,:int] := CMDBATnew(_2:oid, _3:int) {G} - s3{rows=0} := bat.new(:oid,:int); # 4 s3:bat[:oid,:int] := CMDBATnew(_2:oid, _3:int) {G} - io.print(s3{rows=0}); # 5 _9:void := IOprint_val(s3:bat[:oid,:int]) {G} - mdb.List(); # 6 _12:void := MDBlistDetail() -end main; # 7 - -# 08:35:57 > -# 08:35:57 > Done. -# 08:35:57 > - diff --git a/monetdb5/optimizer/Tests/emptyset01.mal b/monetdb5/optimizer/Tests/emptyset01.mal deleted file mode 100644 --- a/monetdb5/optimizer/Tests/emptyset01.mal +++ /dev/null @@ -1,26 +0,0 @@ -#beware that the ESoptimizer does not remove the type of MALException -function do{inline}(V1:bat[:oid,:oid]); -barrier (x,z):= iterator.new(V1); - io.print("loop"); -catch MALException:str; - io.print(MALException); -exit MALException; -exit(x,z); -end do; - -function tst(); - V1 := bat.new(:oid,:oid); - V7 := bat.new(:oid,:oid); - V10{rows=0:lng} := bat.new(:oid,:oid); - V11 := bat.reverse(V10); - V12 := algebra.kdifference(V7,V11); - V16 := algebra.mark(V12); - V17 := algebra.join(V16,V7); - bat.append(V1,V17); - do(V1); - io.print("done"); -end tst; - optimizer.inline("user","tst"); - optimizer.costModel("user","tst"); - optimizer.emptySet("user","tst"); - mdb.List("user","tst"); diff --git a/monetdb5/optimizer/Tests/emptyset01.stable.err b/monetdb5/optimizer/Tests/emptyset01.stable.err deleted file mode 100644 --- a/monetdb5/optimizer/Tests/emptyset01.stable.err +++ /dev/null @@ -1,14 +0,0 @@ -stderr of test 'emptyset01` in directory 'monetdb5/optimizer` itself: - - -# 08:05:29 > -# 08:05:29 > Mtimeout -timeout 60 mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin" --set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set "xquery_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/xquery_logs" --set mapi_port=38505 --set xrpc_port=43491 --set monet_prompt= --trace --dbname=mTests_src_optimizer emptyset01.mal -# 08:05:29 > - -#warning: please don't forget to set your vault key! -#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf) - -# 08:05:29 > -# 08:05:29 > Done. -# 08:05:29 > - diff --git a/monetdb5/optimizer/Tests/emptyset01.stable.out b/monetdb5/optimizer/Tests/emptyset01.stable.out _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list