Changeset: 98dd19184f5d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=98dd19184f5d Modified Files: monetdb5/modules/mal/Makefile.ag monetdb5/modules/mal/mal_init.mal monetdb5/optimizer/Makefile.ag monetdb5/optimizer/Tests/All monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.mal sql/test/Tests/setoptimizer.stable.out Branch: compressedcandidates Log Message:
A new branch diffs (204 lines): diff --git a/monetdb5/modules/mal/Makefile.ag b/monetdb5/modules/mal/Makefile.ag --- a/monetdb5/modules/mal/Makefile.ag +++ b/monetdb5/modules/mal/Makefile.ag @@ -20,6 +20,7 @@ lib_mal = { SOURCES = \ batExtensions.c batExtensions.h \ bbp.c bbp.h \ + bitcandidates.c bitcandidates.h \ clients.c clients.h \ factories.c factories.h \ groupby.c groupby.h \ @@ -55,7 +56,7 @@ lib_mal = { headers_mal = { HEADERS = mal DIR = libdir/monetdb5 - SOURCES = language.mal mal_init.mal bbp.mal \ + SOURCES = language.mal mal_init.mal bbp.mal bitcandidates.mal \ profiler.mal batExtensions.mal orderidx.mal \ inspect.mal manual.mal mal_io.mal mkey.mal manifold.mal \ iterator.mal clients.mal \ diff --git a/monetdb5/modules/mal/mal_init.mal b/monetdb5/modules/mal/mal_init.mal --- a/monetdb5/modules/mal/mal_init.mal +++ b/monetdb5/modules/mal/mal_init.mal @@ -88,6 +88,7 @@ include txtsim; include tokenizer; include mal_mapi; +include bitcandidates; include oltp; include wlc; diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag --- a/monetdb5/optimizer/Makefile.ag +++ b/monetdb5/optimizer/Makefile.ag @@ -21,6 +21,7 @@ lib_optimizer = { opt_aliases.c opt_aliases.h \ opt_coercion.c opt_coercion.h \ opt_commonTerms.c opt_commonTerms.h \ + opt_bitcandidates.c opt_bitcandidates.h \ opt_candidates.c opt_candidates.h \ opt_constants.c opt_constants.h \ opt_costModel.c opt_costModel.h \ diff --git a/monetdb5/optimizer/Tests/All b/monetdb5/optimizer/Tests/All --- a/monetdb5/optimizer/Tests/All +++ b/monetdb5/optimizer/Tests/All @@ -70,6 +70,7 @@ GCexample01 CXexample JPexample Mexample +BCLexample THREADS>=2?dataflow THREADS>=2?dataflow3 diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c --- a/monetdb5/optimizer/opt_pipes.c +++ b/monetdb5/optimizer/opt_pipes.c @@ -89,6 +89,7 @@ static struct PIPELINES { "optimizer.generator();" "optimizer.profiler();" "optimizer.candidates();" + "optimizer.bitcandidates();" // "optimizer.jit();" awaiting the new batcalc api // "optimizer.oltp();"awaiting the autocommit front-end changes "optimizer.wlc();" diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c --- a/monetdb5/optimizer/opt_prelude.c +++ b/monetdb5/optimizer/opt_prelude.c @@ -69,6 +69,7 @@ str emptybindidxRef; str bpmRef; str bstreamRef; str calcRef; +str candidatesRef; str catalogRef; str clear_tableRef; str closeRef; @@ -76,6 +77,7 @@ str columnRef; str columnBindRef; str commitRef; str connectRef; +str compressRef; str countRef; str subcountRef; str copyRef; @@ -98,6 +100,7 @@ str create_functionRef; str create_triggerRef; str dataflowRef; str dblRef; +str decompressRef; str defineRef; str deleteRef; str differenceRef; @@ -358,6 +361,7 @@ void optimizerInit(void) bpmRef = putName("bpm"); bstreamRef = putName("bstream"); calcRef = putName("calc"); + candidatesRef = putName("candidates"); catalogRef = putName("catalog"); clear_tableRef = putName("clear_table"); closeRef = putName("close"); @@ -365,6 +369,7 @@ void optimizerInit(void) columnBindRef = putName("columnBind"); commitRef = putName("commit"); connectRef = putName("connect"); + compressRef = putName("compress"); countRef = putName("count"); subcountRef = putName("subcount"); copyRef = putName("copy"); @@ -388,6 +393,7 @@ void optimizerInit(void) dateRef = putName("date"); dataflowRef = putName("dataflow"); dblRef = putName("dbl"); + decompressRef = putName("decompress"); defineRef = putName("define"); deleteRef = putName("delete"); differenceRef = putName("difference"); diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h --- a/monetdb5/optimizer/opt_prelude.h +++ b/monetdb5/optimizer/opt_prelude.h @@ -67,6 +67,7 @@ mal_export str emptybindidxRef; mal_export str bpmRef; mal_export str bstreamRef; mal_export str calcRef; +mal_export str candidatesRef; mal_export str catalogRef; mal_export str clear_tableRef; mal_export str closeRef; @@ -74,6 +75,7 @@ mal_export str columnRef; mal_export str commitRef; mal_export str columnBindRef; mal_export str connectRef; +mal_export str compressRef; mal_export str countRef; mal_export str subcountRef; mal_export str copyRef; @@ -96,6 +98,7 @@ mal_export str create_functionRef; mal_export str create_triggerRef; mal_export str dataflowRef; mal_export str dblRef; +mal_export str decompressRef; mal_export str defineRef; mal_export str deleteRef; mal_export str differenceRef; diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c --- a/monetdb5/optimizer/opt_wrapper.c +++ b/monetdb5/optimizer/opt_wrapper.c @@ -21,6 +21,7 @@ * The optimizer used so far */ #include "opt_aliases.h" +#include "opt_bitcandidates.h" #include "opt_coercion.h" #include "opt_commonTerms.h" #include "opt_candidates.h" @@ -58,6 +59,7 @@ struct{ lng timing; } codes[] = { {"aliases", &OPTaliasesImplementation,0,0}, + {"bitcandidates", &OPTbitcandidatesImplementation,0,0}, {"candidates", &OPTcandidatesImplementation,0,0}, {"coercions", &OPTcoercionImplementation,0,0}, {"commonTerms", &OPTcommonTermsImplementation,0,0}, @@ -157,7 +159,7 @@ str OPTwrapper (Client cntxt, MalBlkPtr fprintFunction(stderr,mb,0,LIST_MAL_DEBUG ); } if ( mb->errors) - throw(MAL, optimizer, PROGRAM_GENERAL ":%s.%s", modnme, fcnnme); + throw(MAL, optimizer, PROGRAM_GENERAL ":%s.%s %s", modnme, fcnnme, mb->errors); return MAL_SUCCEED; } diff --git a/monetdb5/optimizer/optimizer.mal b/monetdb5/optimizer/optimizer.mal --- a/monetdb5/optimizer/optimizer.mal +++ b/monetdb5/optimizer/optimizer.mal @@ -14,6 +14,15 @@ pattern optimizer.aliases(mod:str, fcn:s address OPTwrapper comment "Alias removal optimizer"; +#opt_bitcandidates.mal + +pattern optimizer.bitcandidates():str +address OPTwrapper; +pattern optimizer.bitcandidates(mod:str, fcn:str):str +address OPTwrapper +comment "Handle bitcompressed candidate lists"; + +# #opt_coercions.mal pattern optimizer.coercions():str diff --git a/sql/test/Tests/setoptimizer.stable.out b/sql/test/Tests/setoptimizer.stable.out --- a/sql/test/Tests/setoptimizer.stable.out +++ b/sql/test/Tests/setoptimizer.stable.out @@ -64,9 +64,9 @@ Ready. % .L1, .L1, .L1 # table_name % name, def, status # name % clob, clob, clob # type -% 15, 580, 6 # length +% 15, 586, 6 # length [ "minimal_pipe", "optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.garbageCollector();", "stable" ] -[ "default_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.wlc();optimizer.garbageCollector();", "stable" ] +[ "default_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.bitcandidates();optimizer.wlc();optimizer.garbageCollector();", "stable" ] [ "volcano_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.volcano();optimizer.profiler();optimizer.candidates();optimizer.wlc();optimizer.garbageCollector();", "stable" ] [ "no_mitosis_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.wlc();optimizer.garbageCollector();", "stable" ] [ "sequential_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.wlc();optimizer.garbageCollector();", "stable" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list