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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list