Changeset: f6719d8cfc7f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f6719d8cfc7f
Removed Files:
monetdb5/optimizer/opt_statistics.c
monetdb5/optimizer/opt_statistics.h
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/extras/mal_optimizer_template/opt_sql_append.c
monetdb5/mal/mal.c
monetdb5/optimizer/Makefile.ag
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_candidates.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_jit.c
monetdb5/optimizer/opt_json.c
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_matpack.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_oltp.c
monetdb5/optimizer/opt_profiler.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_querylog.c
monetdb5/optimizer/opt_reduce.c
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_volcano.c
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.mal
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_upgrades.c
sql/benchmarks/tpch/01.sql
sql/benchmarks/tpch/02.sql
sql/benchmarks/tpch/03.sql
sql/benchmarks/tpch/04.sql
sql/benchmarks/tpch/05.sql
sql/benchmarks/tpch/06.sql
sql/benchmarks/tpch/07.sql
sql/benchmarks/tpch/08.sql
sql/benchmarks/tpch/09.sql
sql/benchmarks/tpch/10.sql
sql/benchmarks/tpch/11.sql
sql/benchmarks/tpch/12.sql
sql/benchmarks/tpch/13.sql
sql/benchmarks/tpch/14.sql
sql/benchmarks/tpch/15.sql
sql/benchmarks/tpch/16.sql
sql/benchmarks/tpch/17.sql
sql/benchmarks/tpch/18.sql
sql/benchmarks/tpch/19.sql
sql/benchmarks/tpch/20.sql
sql/benchmarks/tpch/21.sql
sql/benchmarks/tpch/22.sql
sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/01.stable.out
sql/benchmarks/tpch/LOCKED/Tests/01.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
sql/benchmarks/tpch/LOCKED/Tests/03.stable.out
sql/benchmarks/tpch/LOCKED/Tests/03.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
sql/benchmarks/tpch/LOCKED/Tests/05.stable.out
sql/benchmarks/tpch/LOCKED/Tests/05.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/06.stable.out
sql/benchmarks/tpch/LOCKED/Tests/06.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/07.stable.out
sql/benchmarks/tpch/LOCKED/Tests/07.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/08.stable.out
sql/benchmarks/tpch/LOCKED/Tests/08.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/09.stable.out
sql/benchmarks/tpch/LOCKED/Tests/09.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/10.stable.out
sql/benchmarks/tpch/LOCKED/Tests/10.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/11.stable.out
sql/benchmarks/tpch/LOCKED/Tests/11.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/12.stable.out
sql/benchmarks/tpch/LOCKED/Tests/12.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/13.stable.out
sql/benchmarks/tpch/LOCKED/Tests/14.stable.out
sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/15.stable.out
sql/benchmarks/tpch/LOCKED/Tests/15.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/16.stable.out
sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
sql/benchmarks/tpch/LOCKED/Tests/17.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
sql/benchmarks/tpch/LOCKED/Tests/18.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/19.stable.out
sql/benchmarks/tpch/LOCKED/Tests/19.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/20.stable.out
sql/benchmarks/tpch/LOCKED/Tests/21.stable.out
sql/benchmarks/tpch/LOCKED/Tests/21.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/22.stable.out
sql/benchmarks/tpch/LOCKED/Tests/22.stable.out.int128
sql/benchmarks/tpch/Tests/01-22.stable.out
sql/benchmarks/tpch/Tests/01-22.stable.out.int128
sql/benchmarks/tpch/Tests/01.stable.out
sql/benchmarks/tpch/Tests/01.stable.out.int128
sql/benchmarks/tpch/Tests/02.stable.out
sql/benchmarks/tpch/Tests/03.stable.out
sql/benchmarks/tpch/Tests/03.stable.out.int128
sql/benchmarks/tpch/Tests/04.stable.out
sql/benchmarks/tpch/Tests/05.stable.out
sql/benchmarks/tpch/Tests/05.stable.out.int128
sql/benchmarks/tpch/Tests/06.stable.out
sql/benchmarks/tpch/Tests/06.stable.out.int128
sql/benchmarks/tpch/Tests/07.stable.out
sql/benchmarks/tpch/Tests/07.stable.out.int128
sql/benchmarks/tpch/Tests/08.stable.out
sql/benchmarks/tpch/Tests/08.stable.out.int128
sql/benchmarks/tpch/Tests/09.stable.out
sql/benchmarks/tpch/Tests/09.stable.out.int128
sql/benchmarks/tpch/Tests/10.stable.out
sql/benchmarks/tpch/Tests/10.stable.out.int128
sql/benchmarks/tpch/Tests/11.stable.out
sql/benchmarks/tpch/Tests/11.stable.out.int128
sql/benchmarks/tpch/Tests/12.stable.out
sql/benchmarks/tpch/Tests/12.stable.out.int128
sql/benchmarks/tpch/Tests/13.stable.out
sql/benchmarks/tpch/Tests/14.stable.out
sql/benchmarks/tpch/Tests/14.stable.out.int128
sql/benchmarks/tpch/Tests/15.stable.out
sql/benchmarks/tpch/Tests/15.stable.out.int128
sql/benchmarks/tpch/Tests/16.stable.out
sql/benchmarks/tpch/Tests/17.stable.out
sql/benchmarks/tpch/Tests/17.stable.out.int128
sql/benchmarks/tpch/Tests/18.stable.out
sql/benchmarks/tpch/Tests/18.stable.out.int128
sql/benchmarks/tpch/Tests/19.stable.out
sql/benchmarks/tpch/Tests/19.stable.out.int128
sql/benchmarks/tpch/Tests/20.stable.out
sql/benchmarks/tpch/Tests/21.stable.out
sql/benchmarks/tpch/Tests/22.stable.out
sql/benchmarks/tpch/Tests/22.stable.out.int128
sql/scripts/25_debug.sql
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/leaks/Tests/check2.stable.out.int128
sql/test/leaks/Tests/check3.stable.out.int128
sql/test/leaks/Tests/check4.stable.out.int128
sql/test/leaks/Tests/check5.stable.out.int128
Branch: default
Log Message:
Cleanup query optimizer statistics
Reduce the global optimizer statistics to simple counters
in the optimizer wrapper.
This removes the more expensive manipulation using (global) BATs.
diffs (truncated from 3989 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
@@ -7745,8 +7745,8 @@ Ready.
[ "inspect", "getSize", "pattern inspect.getSize(mod:str, fcn:str):lng
", "INSPECTgetFunctionSize;", "Return the storage size for a
function (in bytes)." ]
[ "inspect", "getSize", "pattern inspect.getSize():lng ",
"INSPECTgetSize;", "Return the storage size for the current function (in
bytes)." ]
[ "inspect", "getSource", "pattern inspect.getSource(mod:str,
fcn:str):str ", "INSPECTgetSource;", "Return the original input for a
function." ]
-[ "inspect", "getStatistics", "command
inspect.getStatistics(nme:str):bat[:any_2] ", "QOTgetStatistics;", "Get
optimizer property statistics \nsuch as #calls, #total actions, #total time"
]
[ "inspect", "getType", "pattern inspect.getType(v:any_1):str ",
"INSPECTtypeName;", "Return the concrete type of a variable (expression)."
]
+[ "inspect", "optimizer_stats", "command inspect.optimizer_stats()
(X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) ", "QOTstatistics;",
"Get optimizer use statistics, i.e. calls and total time" ]
[ "io", "export", "command io.export(b:bat[:any_2],
filepath:str):void ", "IOexport;", "Export a BAT as ASCII to a file. If the
'filepath' is not absolute, it\n is put into the $DBPATH directory. Success of
failure is indicated." ]
[ "io", "import", "command io.import(b:bat[:any_2],
filepath:str):void ", "IOimport;", "Import a BAT from an ASCII dump. The
tuples are appended to the\n first argument. Its signature must match the
dump,\n else parsing errors will occur as an exception." ]
[ "io", "print", "pattern io.print(val:any_1):void ",
"IOprint_val;", "Print a MAL value." ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -10101,8 +10101,8 @@ Ready.
[ "inspect", "getSize", "pattern inspect.getSize(mod:str, fcn:str):lng
", "INSPECTgetFunctionSize;", "Return the storage size for a
function (in bytes)." ]
[ "inspect", "getSize", "pattern inspect.getSize():lng ",
"INSPECTgetSize;", "Return the storage size for the current function (in
bytes)." ]
[ "inspect", "getSource", "pattern inspect.getSource(mod:str,
fcn:str):str ", "INSPECTgetSource;", "Return the original input for a
function." ]
-[ "inspect", "getStatistics", "command
inspect.getStatistics(nme:str):bat[:any_2] ", "QOTgetStatistics;", "Get
optimizer property statistics \nsuch as #calls, #total actions, #total time"
]
[ "inspect", "getType", "pattern inspect.getType(v:any_1):str ",
"INSPECTtypeName;", "Return the concrete type of a variable (expression)."
]
+[ "inspect", "optimizer_stats", "command inspect.optimizer_stats()
(X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) ", "QOTstatistics;",
"Get optimizer use statistics, i.e. calls and total time" ]
[ "io", "export", "command io.export(b:bat[:any_2],
filepath:str):void ", "IOexport;", "Export a BAT as ASCII to a file. If the
'filepath' is not absolute, it\n is put into the $DBPATH directory. Success of
failure is indicated." ]
[ "io", "import", "command io.import(b:bat[:any_2],
filepath:str):void ", "IOimport;", "Import a BAT from an ASCII dump. The
tuples are appended to the\n first argument. Its signature must match the
dump,\n else parsing errors will occur as an exception." ]
[ "io", "print", "pattern io.print(val:any_1):void ",
"IOprint_val;", "Print a MAL value." ]
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
@@ -1573,6 +1573,7 @@ str OPTreduceImplementation(Client cntxt
str OPTremapImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
str OPTremoteQueriesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
str OPTreorderImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTstatistics(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str OPTvolcanoImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTwrapper(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str PCREilike2(bit *ret, const str *s, const str *pat);
@@ -1609,10 +1610,7 @@ str QLOGenable(void *ret);
str QLOGenableThreshold(void *ret, int *threshold);
int QLOGisset(void);
str QLOGissetFcn(int *ret);
-str QOTgetStatistics(bat *ret, str *nme);
str QOToptimize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-void QOTstatisticsExit(void);
-void QOTupdateStatistics(str nme, int prop, lng val);
QueryQueue QRYqueue;
str RMTbatload(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str RMTbincopyfrom(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
diff --git a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
--- a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
+++ b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
@@ -71,7 +71,6 @@
#include "monetdb_config.h"
#include "opt_sql_append.h"
#include "mal_interpreter.h"
-#include "opt_statistics.h"
/* focus initially on persistent tables. */
diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -35,7 +35,6 @@ int have_hge;
#include "mal_private.h"
#include "mal_runtime.h"
#include "mal_resource.h"
-#include "opt_statistics.h"
MT_Lock mal_contextLock MT_LOCK_INITIALIZER("mal_contextLock");
MT_Lock mal_namespaceLock MT_LOCK_INITIALIZER("mal_namespaceLock");
diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag
--- a/monetdb5/optimizer/Makefile.ag
+++ b/monetdb5/optimizer/Makefile.ag
@@ -47,7 +47,6 @@ lib_optimizer = {
opt_remap.c opt_remap.h \
opt_remoteQueries.c opt_remoteQueries.h \
opt_reorder.c opt_reorder.h \
- opt_statistics.c opt_statistics.h \
opt_support.c opt_support.h \
opt_pushselect.c opt_pushselect.h \
opt_profiler.c opt_profiler.h \
diff --git a/monetdb5/optimizer/opt_aliases.c b/monetdb5/optimizer/opt_aliases.c
--- a/monetdb5/optimizer/opt_aliases.c
+++ b/monetdb5/optimizer/opt_aliases.c
@@ -9,7 +9,6 @@
#include "monetdb_config.h"
#include "mal_instruction.h"
#include "opt_aliases.h"
-#include "opt_statistics.h"
/* an alias is recognized by a simple assignment */
#define OPTisAlias(X) (X->token == ASSIGNsymbol && X->barrier == 0 && X->argc
== 2)
diff --git a/monetdb5/optimizer/opt_candidates.c
b/monetdb5/optimizer/opt_candidates.c
--- a/monetdb5/optimizer/opt_candidates.c
+++ b/monetdb5/optimizer/opt_candidates.c
@@ -13,7 +13,6 @@
#include "monetdb_config.h"
#include "mal_instruction.h"
#include "opt_candidates.h"
-#include "opt_statistics.h"
str
OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci)
diff --git a/monetdb5/optimizer/opt_coercion.c
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -12,7 +12,6 @@
#include "monetdb_config.h"
#include "opt_coercion.h"
-#include "opt_statistics.h"
typedef struct{
int pc;
diff --git a/monetdb5/optimizer/opt_commonTerms.c
b/monetdb5/optimizer/opt_commonTerms.c
--- a/monetdb5/optimizer/opt_commonTerms.c
+++ b/monetdb5/optimizer/opt_commonTerms.c
@@ -8,7 +8,6 @@
#include "monetdb_config.h"
#include "opt_commonTerms.h"
-#include "opt_statistics.h"
#include "mal_exception.h"
/*
* Caveat. A lot of time was lost due to constants that are indistinguisable
diff --git a/monetdb5/optimizer/opt_constants.c
b/monetdb5/optimizer/opt_constants.c
--- a/monetdb5/optimizer/opt_constants.c
+++ b/monetdb5/optimizer/opt_constants.c
@@ -20,7 +20,6 @@
*/
#include "monetdb_config.h"
#include "mal_instruction.h"
-#include "opt_statistics.h"
#include "opt_constants.h"
str
diff --git a/monetdb5/optimizer/opt_costModel.c
b/monetdb5/optimizer/opt_costModel.c
--- a/monetdb5/optimizer/opt_costModel.c
+++ b/monetdb5/optimizer/opt_costModel.c
@@ -7,7 +7,6 @@
*/
#include "monetdb_config.h"
-#include "opt_statistics.h"
#include "opt_costModel.h"
/*
diff --git a/monetdb5/optimizer/opt_dataflow.c
b/monetdb5/optimizer/opt_dataflow.c
--- a/monetdb5/optimizer/opt_dataflow.c
+++ b/monetdb5/optimizer/opt_dataflow.c
@@ -11,7 +11,6 @@
*/
#include "monetdb_config.h"
#include "opt_dataflow.h"
-#include "opt_statistics.h"
#include "mal_instruction.h"
#include "mal_interpreter.h"
#include "manifold.h"
diff --git a/monetdb5/optimizer/opt_deadcode.c
b/monetdb5/optimizer/opt_deadcode.c
--- a/monetdb5/optimizer/opt_deadcode.c
+++ b/monetdb5/optimizer/opt_deadcode.c
@@ -9,7 +9,6 @@
/* (c) Martin Kersten
*/
#include "monetdb_config.h"
-#include "opt_statistics.h"
#include "opt_deadcode.h"
str
diff --git a/monetdb5/optimizer/opt_emptybind.c
b/monetdb5/optimizer/opt_emptybind.c
--- a/monetdb5/optimizer/opt_emptybind.c
+++ b/monetdb5/optimizer/opt_emptybind.c
@@ -18,7 +18,6 @@
#include "opt_emptybind.h"
#include "opt_aliases.h"
#include "opt_deadcode.h"
-#include "opt_statistics.h"
#include "mal_builder.h"
#define addresult(I)
\
diff --git a/monetdb5/optimizer/opt_evaluate.c
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -9,7 +9,6 @@
#include "monetdb_config.h"
#include "opt_evaluate.h"
#include "opt_aliases.h"
-#include "opt_statistics.h"
static int
OPTallConstant(Client cntxt, MalBlkPtr mb, InstrPtr p)
diff --git a/monetdb5/optimizer/opt_garbageCollector.c
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -8,7 +8,6 @@
#include "monetdb_config.h"
#include "opt_garbageCollector.h"
-#include "opt_statistics.h"
#include "mal_interpreter.h" /* for showErrors() */
#include "mal_builder.h"
#include "mal_function.h"
diff --git a/monetdb5/optimizer/opt_generator.c
b/monetdb5/optimizer/opt_generator.c
--- a/monetdb5/optimizer/opt_generator.c
+++ b/monetdb5/optimizer/opt_generator.c
@@ -8,7 +8,6 @@
#include "monetdb_config.h"
#include "opt_generator.h"
-#include "opt_statistics.h"
#include "mal_builder.h"
/*
diff --git a/monetdb5/optimizer/opt_inline.c b/monetdb5/optimizer/opt_inline.c
--- a/monetdb5/optimizer/opt_inline.c
+++ b/monetdb5/optimizer/opt_inline.c
@@ -7,7 +7,6 @@
*/
#include "monetdb_config.h"
-#include "opt_statistics.h"
#include "opt_inline.h"
static int
diff --git a/monetdb5/optimizer/opt_jit.c b/monetdb5/optimizer/opt_jit.c
--- a/monetdb5/optimizer/opt_jit.c
+++ b/monetdb5/optimizer/opt_jit.c
@@ -20,7 +20,6 @@
*/
#include "monetdb_config.h"
#include "mal_builder.h"
-#include "opt_statistics.h"
#include "opt_jit.h"
str
diff --git a/monetdb5/optimizer/opt_json.c b/monetdb5/optimizer/opt_json.c
--- a/monetdb5/optimizer/opt_json.c
+++ b/monetdb5/optimizer/opt_json.c
@@ -13,7 +13,6 @@
*/
#include "monetdb_config.h"
#include "mal_builder.h"
-#include "opt_statistics.h"
#include "opt_json.h"
str
diff --git a/monetdb5/optimizer/opt_macro.c b/monetdb5/optimizer/opt_macro.c
--- a/monetdb5/optimizer/opt_macro.c
+++ b/monetdb5/optimizer/opt_macro.c
@@ -9,7 +9,6 @@
#include "monetdb_config.h"
#include "opt_prelude.h"
#include "opt_macro.h"
-#include "opt_statistics.h"
#include "mal_interpreter.h"
#include "mal_instruction.h"
@@ -501,7 +500,6 @@ str OPTmacro(Client cntxt, MalBlkPtr mb,
/* keep all actions taken as a post block comment */
snprintf(buf,256,"%-20s actions=1 time=" LLFMT " usec","macro",usec);
newComment(mb,buf);
- QOTupdateStatistics("macro",1,usec);
addtoMalBlkHistory(mb);
if (mb->errors)
throw(MAL, "optimizer.macro", PROGRAM_GENERAL);
diff --git a/monetdb5/optimizer/opt_matpack.c b/monetdb5/optimizer/opt_matpack.c
--- a/monetdb5/optimizer/opt_matpack.c
+++ b/monetdb5/optimizer/opt_matpack.c
@@ -11,7 +11,6 @@
* This could speedup parallel processing and releases resources faster.
*/
#include "monetdb_config.h"
-#include "opt_statistics.h"
#include "opt_matpack.h"
str
diff --git a/monetdb5/optimizer/opt_mergetable.c
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -7,7 +7,6 @@
*/
#include "monetdb_config.h"
-#include "opt_statistics.h"
#include "opt_mergetable.h"
typedef enum mat_type_t {
diff --git a/monetdb5/optimizer/opt_mitosis.c b/monetdb5/optimizer/opt_mitosis.c
--- a/monetdb5/optimizer/opt_mitosis.c
+++ b/monetdb5/optimizer/opt_mitosis.c
@@ -8,7 +8,6 @@
#include "monetdb_config.h"
#include "opt_mitosis.h"
-#include "opt_statistics.h"
#include "mal_interpreter.h"
#include <gdk_utils.h>
diff --git a/monetdb5/optimizer/opt_multiplex.c
b/monetdb5/optimizer/opt_multiplex.c
--- a/monetdb5/optimizer/opt_multiplex.c
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list