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

Reply via email to