Changeset: 407cf39d7d96 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=407cf39d7d96
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/optimizer/opt_pipes.c
sql/backends/monet5/sql_optimizer.c
sql/test/Tests/setoptimizer.stable.out
Branch: trails
Log Message:
Removed cquery pipeline. As the cquery optimizer is always required for
streaming tables, it is now called by all the other optimizer pipelines.
diffs (truncated from 315 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
@@ -548,7 +548,7 @@ Ready.
[ "basket", "dump", "command basket.dump():void ", "BSKTdump;", "Show
the baskets table" ]
[ "basket", "lock", "pattern basket.lock(mvc:any, sch:str, tbl:str):int ",
"BSKTlock;", "Lock the basket for private use" ]
[ "basket", "prelude", "command basket.prelude():void ",
"BSKTprelude;", "" ]
-[ "basket", "register", "pattern basket.register(mvc:int, sch:str,
tbl:str, role:int):int ", "BSKTregister;", "Initialize a new basket
based on a specific table definition.\nroles:input =0, output=2" ]
+[ "basket", "register", "pattern basket.register(mvc:int, sch:str,
tbl:str, role:int):int ", "BSKTregister;", "Initialize a new basket
based on a specific table definition. roles:input=0, output=1" ]
[ "basket", "reset", "pattern basket.reset(mvc:int, sch:str,
tbl:str):int ", "BSKTreset;", "Remove a basket content" ]
[ "basket", "status", "pattern basket.status() (seen:bat[:timestamp],
sch:bat[:str], tbl:bat[:str], window:bat[:int], stride:bat[:int],
events:bat[:int], error:bat[:str]) ", "BSKTstatus;", "Show the status of the
baskets" ]
[ "basket", "tid", "pattern basket.tid(mvc:int, sch:str,
tbl:str):bat[:oid] ", "BSKTtid;", "Collect the candidates for a basket"
]
@@ -7453,19 +7453,13 @@ Ready.
[ "cquery", "beginat", "pattern cquery.beginat(unixtime:lng):void ",
"CQbeginAt;", "Delay beginning of all continuous queries, where unixtime is
an UNIX timestamp with microsecond precision" ]
[ "cquery", "cycles", "pattern cquery.cycles(cnt:int):void ",
"CQcycles;", "Limit number of petrinet steps" ]
[ "cquery", "cycles", "pattern cquery.cycles(mod:str, fcn:str,
cnt:int):void ", "CQcycles;", "Limit number of petrinet steps" ]
-[ "cquery", "deregister", "pattern cquery.deregister(mod:str,
fcn:str):void ", "CQderegister;", "Remove a continuous query" ]
-[ "cquery", "deregister", "pattern cquery.deregister():void ",
"CQderegisterAll;", "Remove all continuous queries" ]
[ "cquery", "dump", "command cquery.dump():void ", "CQdump;", "Show
the status of the query scheduler" ]
[ "cquery", "error", "pattern cquery.error(sch:str, tbl:str,
msg:str):void ", "CQerror;", "Remember the error seen" ]
[ "cquery", "heartbeat", "pattern cquery.heartbeat(cnt:lng):void ",
"CQheartbeat;", "Awake all queries after cnt milliseconds" ]
[ "cquery", "heartbeat", "pattern cquery.heartbeat(mod:str, fcn:str,
cnt:lng):void ", "CQheartbeat;", "Awake the query after cnt milliseconds"
]
[ "cquery", "log", "pattern cquery.log() (tick:bat[:timestamp],
mod:bat[:str], fcn:bat[:str], time:bat[:lng], error:bat[:str]) ", "CQlog;",
"The log of all CQ executions" ]
-[ "cquery", "pause", "pattern cquery.pause(mod:str, fcn:str):void ",
"CQpause;", "Deactivate a continuous query" ]
-[ "cquery", "pause", "pattern cquery.pause():void ", "CQpauseAll;",
"Deactivate all continuous queries" ]
[ "cquery", "prelude", "command cquery.prelude():void ",
"CQprelude;", "" ]
[ "cquery", "register", "pattern cquery.register(mod:str, fcn:str):void
", "CQregister;", "Add a continuous SQL procedure to the Petri-net
scheduler. It will analyse\nthe MAL block to determine the input/output
dependencies and firing conditions." ]
-[ "cquery", "resume", "pattern cquery.resume(mod:str, fcn:str):void
", "CQresume;", "Activate a specific continuous query with no
changes" ]
-[ "cquery", "resume", "pattern cquery.resume():void ",
"CQresumeAll;", "Activate all continuous queries" ]
[ "cquery", "show", "pattern cquery.show(sch:str, fcn:str):void ",
"CQshow;", "Debug a single continuous query" ]
[ "cquery", "status", "pattern cquery.status() (tick:bat[:timestamp],
mod:bat[:str], fcn:bat[:str], state:bat[:str], error:bat[:str], stmt:bat[:str])
", "CQstatus;", "Status of all registered continuous queries" ]
[ "cquery", "wait", "pattern cquery.wait(cnt:int):void ", "CQwait;",
"Sleep for some time" ]
@@ -8190,7 +8184,6 @@ Ready.
[ "optimizer", "costModel", "pattern optimizer.costModel(mod:str,
fcn:str):str ", "OPTwrapper;", "Estimate the cost of a relational
expression" ]
[ "optimizer", "cquery", "pattern optimizer.cquery():str ",
"OPTwrapper;", "" ]
[ "optimizer", "cquery", "pattern optimizer.cquery(mod:str, fcn:str):str
", "OPTwrapper;", "Simulate cquery style execution" ]
-[ "optimizer", "cquery_pipe", "function optimizer.cquery_pipe():void;",
"", "" ]
[ "optimizer", "dataflow", "pattern optimizer.dataflow():str ",
"OPTwrapper;", "" ]
[ "optimizer", "dataflow", "pattern optimizer.dataflow(mod:str,
fcn:str):str ", "OPTwrapper;", "Dataflow bracket code injection" ]
[ "optimizer", "deadcode", "pattern optimizer.deadcode():str ",
"OPTwrapper;", "" ]
@@ -8501,7 +8494,8 @@ Ready.
[ "sqlcatalog", "alter_stream_table", "pattern
sqlcatalog.alter_stream_table(sname:str, tnme:str, operation:int,
value:int):void ", "SQLalter_stream_table;", "Catalog operation
alter_stream_table" ]
[ "sqlcatalog", "alter_table", "pattern
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",
"SQLalter_table;", "Catalog operation alter_table" ]
[ "sqlcatalog", "alter_user", "pattern
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str,
oldpasswrd:str):void ", "SQLalter_user;", "Catalog operation
alter_user" ]
-[ "sqlcatalog", "change_cp", "pattern
sqlcatalog.change_cp(action:int):void ", "SQLchange_cp;", "Pause,
resume or stop all continuous queries" ]
+[ "sqlcatalog", "change_all_cp", "pattern
sqlcatalog.change_all_cp(action:int):void ", "SQLchange_all_cp;", "Pause,
resume or stop all continuous queries" ]
+[ "sqlcatalog", "change_single_cp", "pattern
sqlcatalog.change_single_cp(alias:str, action:int, heartbeats:lng, startat:lng,
cycles:int):void ", "SQLchange_single_cp;", "Pause, resume or stop a single
continuous query" ]
[ "sqlcatalog", "create_function", "pattern
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr, ofcn:ptr,
replace:int):void ", "SQLcreate_function;", "Catalog operation
create_function" ]
[ "sqlcatalog", "create_role", "pattern
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",
"SQLcreate_role;", "Catalog operation create_role" ]
[ "sqlcatalog", "create_schema", "pattern
sqlcatalog.create_schema(sname:str, auth:str, action:int):void ",
"SQLcreate_schema;", "Catalog operation create_schema" ]
@@ -8682,7 +8676,6 @@ Ready.
[ "user", "main", "function user.main():void;", "", "" ]
[ "user", "main", "function user.main():void;", "", "" ]
[ "user", "main", "function user.main():void;", "", "" ]
-[ "user", "main", "function user.main():void;", "", "" ]
[ "user", "s2_1", "function user.s2_1():void;", "", "" ]
[ "user", "sql.init", "function user.sql.init():void;", "",
"" ]
[ "uuid", "#cmp", "command uuid.#cmp():void ", "UUIDcompare;", ""
]
@@ -8729,7 +8722,8 @@ Ready.
[ "wlc", "alter_user", "pattern wlc.alter_user(sname:str, passwrd:str,
enc:int, schema:str, oldpasswrd:str):void ", "WLCgeneric;", "Catalog
operation alter_user" ]
[ "wlc", "append", "pattern wlc.append(sname:str, tname:str,
cname:str, ins:any):int ", "WLCappend;", "Keep the insertions in the
workload-capture-replay list" ]
[ "wlc", "catalog", "pattern wlc.catalog(q:str):void ",
"WLCcatalog;", "Keep the catalog changing queries for replay. " ]
-[ "wlc", "change_cp", "pattern wlc.change_cp(action:int):void ",
"WLCgeneric;", "Pause, resume or stop all continuous queries" ]
+[ "wlc", "change_all_cp", "pattern
wlc.change_all_cp(action:int):void ", "WLCgeneric;", "Catalog operation
change_all_cp" ]
+[ "wlc", "change_single_cp", "pattern
wlc.change_single_cp(alias:str, action:int, heartbeats:lng, startat:lng,
cycles:int):void ", "WLCgeneric;", "Catalog operation change_single_cp" ]
[ "wlc", "clear_table", "pattern wlc.clear_table(sname:str,
tname:str):int ", "WLCclear_table;", "Keep the deletions in the
workload-capture-replay list" ]
[ "wlc", "commit", "pattern wlc.commit():void ",
"WLCcommitCmd;", "Commit the workload-capture-replay record" ]
[ "wlc", "commit", "pattern wlc.commit():void ",
"WLCcommitCmd;", "Mark the end of the work unit" ]
@@ -8793,7 +8787,8 @@ Ready.
[ "wlr", "alter_user", "pattern wlr.alter_user(sname:str, passwrd:str,
enc:int, schema:str, oldpasswrd:str):void ", "WLRgeneric;", "Catalog
operation alter_user" ]
[ "wlr", "append", "pattern wlr.append(sname:str, tname:str,
cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the
workload-capture-replay list" ]
[ "wlr", "catalog", "pattern wlr.catalog(q:str):void ",
"WLRcatalog;", "A catalog changing query" ]
-[ "wlr", "change_cp", "pattern wlr.change_cp(action:int):void ",
"WLRgeneric;", "Pause, resume or stop all continuous queries" ]
+[ "wlr", "change_all_cp", "pattern
wlr.change_all_cp(action:int):void ", "WLRgeneric;", "Catalog operation
change_all_cp" ]
+[ "wlr", "change_single_cp", "pattern
wlr.change_single_cp(alias:str, action:int, heartbeats:lng, startat:lng,
cycles:int):void ", "WLRgeneric;", "Catalog operation change_single_cp" ]
[ "wlr", "clear_table", "pattern wlr.clear_table(sname:str,
tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table"
]
[ "wlr", "commit", "pattern wlr.commit():void ", "WLRcommit;",
"Mark the end of the work unit" ]
[ "wlr", "create_function", "pattern wlr.create_function(sname:str,
fname:str):void ", "WLRgeneric;", "Catalog operation create_function"
]
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
@@ -652,7 +652,7 @@ Ready.
[ "basket", "dump", "command basket.dump():void ", "BSKTdump;", "Show
the baskets table" ]
[ "basket", "lock", "pattern basket.lock(mvc:any, sch:str, tbl:str):int ",
"BSKTlock;", "Lock the basket for private use" ]
[ "basket", "prelude", "command basket.prelude():void ",
"BSKTprelude;", "" ]
-[ "basket", "register", "pattern basket.register(mvc:int, sch:str,
tbl:str, role:int):int ", "BSKTregister;", "Initialize a new basket
based on a specific table definition.\nroles:input =0, output=2" ]
+[ "basket", "register", "pattern basket.register(mvc:int, sch:str,
tbl:str, role:int):int ", "BSKTregister;", "Initialize a new basket
based on a specific table definition. roles:input=0, output=1" ]
[ "basket", "reset", "pattern basket.reset(mvc:int, sch:str,
tbl:str):int ", "BSKTreset;", "Remove a basket content" ]
[ "basket", "status", "pattern basket.status() (seen:bat[:timestamp],
sch:bat[:str], tbl:bat[:str], window:bat[:int], stride:bat[:int],
events:bat[:int], error:bat[:str]) ", "BSKTstatus;", "Show the status of the
baskets" ]
[ "basket", "tid", "pattern basket.tid(mvc:int, sch:str,
tbl:str):bat[:oid] ", "BSKTtid;", "Collect the candidates for a basket"
]
@@ -9799,19 +9799,13 @@ Ready.
[ "cquery", "beginat", "pattern cquery.beginat(unixtime:lng):void ",
"CQbeginAt;", "Delay beginning of all continuous queries, where unixtime is
an UNIX timestamp with microsecond precision" ]
[ "cquery", "cycles", "pattern cquery.cycles(cnt:int):void ",
"CQcycles;", "Limit number of petrinet steps" ]
[ "cquery", "cycles", "pattern cquery.cycles(mod:str, fcn:str,
cnt:int):void ", "CQcycles;", "Limit number of petrinet steps" ]
-[ "cquery", "deregister", "pattern cquery.deregister(mod:str,
fcn:str):void ", "CQderegister;", "Remove a continuous query" ]
-[ "cquery", "deregister", "pattern cquery.deregister():void ",
"CQderegisterAll;", "Remove all continuous queries" ]
[ "cquery", "dump", "command cquery.dump():void ", "CQdump;", "Show
the status of the query scheduler" ]
[ "cquery", "error", "pattern cquery.error(sch:str, tbl:str,
msg:str):void ", "CQerror;", "Remember the error seen" ]
[ "cquery", "heartbeat", "pattern cquery.heartbeat(cnt:lng):void ",
"CQheartbeat;", "Awake all queries after cnt milliseconds" ]
[ "cquery", "heartbeat", "pattern cquery.heartbeat(mod:str, fcn:str,
cnt:lng):void ", "CQheartbeat;", "Awake the query after cnt milliseconds"
]
[ "cquery", "log", "pattern cquery.log() (tick:bat[:timestamp],
mod:bat[:str], fcn:bat[:str], time:bat[:lng], error:bat[:str]) ", "CQlog;",
"The log of all CQ executions" ]
-[ "cquery", "pause", "pattern cquery.pause(mod:str, fcn:str):void ",
"CQpause;", "Deactivate a continuous query" ]
-[ "cquery", "pause", "pattern cquery.pause():void ", "CQpauseAll;",
"Deactivate all continuous queries" ]
[ "cquery", "prelude", "command cquery.prelude():void ",
"CQprelude;", "" ]
[ "cquery", "register", "pattern cquery.register(mod:str, fcn:str):void
", "CQregister;", "Add a continuous SQL procedure to the Petri-net
scheduler. It will analyse\nthe MAL block to determine the input/output
dependencies and firing conditions." ]
-[ "cquery", "resume", "pattern cquery.resume(mod:str, fcn:str):void
", "CQresume;", "Activate a specific continuous query with no
changes" ]
-[ "cquery", "resume", "pattern cquery.resume():void ",
"CQresumeAll;", "Activate all continuous queries" ]
[ "cquery", "show", "pattern cquery.show(sch:str, fcn:str):void ",
"CQshow;", "Debug a single continuous query" ]
[ "cquery", "status", "pattern cquery.status() (tick:bat[:timestamp],
mod:bat[:str], fcn:bat[:str], state:bat[:str], error:bat[:str], stmt:bat[:str])
", "CQstatus;", "Status of all registered continuous queries" ]
[ "cquery", "wait", "pattern cquery.wait(cnt:int):void ", "CQwait;",
"Sleep for some time" ]
@@ -10552,7 +10546,6 @@ Ready.
[ "optimizer", "costModel", "pattern optimizer.costModel(mod:str,
fcn:str):str ", "OPTwrapper;", "Estimate the cost of a relational
expression" ]
[ "optimizer", "cquery", "pattern optimizer.cquery():str ",
"OPTwrapper;", "" ]
[ "optimizer", "cquery", "pattern optimizer.cquery(mod:str, fcn:str):str
", "OPTwrapper;", "Simulate cquery style execution" ]
-[ "optimizer", "cquery_pipe", "function optimizer.cquery_pipe():void;",
"", "" ]
[ "optimizer", "dataflow", "pattern optimizer.dataflow():str ",
"OPTwrapper;", "" ]
[ "optimizer", "dataflow", "pattern optimizer.dataflow(mod:str,
fcn:str):str ", "OPTwrapper;", "Dataflow bracket code injection" ]
[ "optimizer", "deadcode", "pattern optimizer.deadcode():str ",
"OPTwrapper;", "" ]
@@ -10865,7 +10858,8 @@ Ready.
[ "sqlcatalog", "alter_stream_table", "pattern
sqlcatalog.alter_stream_table(sname:str, tnme:str, operation:int,
value:int):void ", "SQLalter_stream_table;", "Catalog operation
alter_stream_table" ]
[ "sqlcatalog", "alter_table", "pattern
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",
"SQLalter_table;", "Catalog operation alter_table" ]
[ "sqlcatalog", "alter_user", "pattern
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str,
oldpasswrd:str):void ", "SQLalter_user;", "Catalog operation
alter_user" ]
-[ "sqlcatalog", "change_cp", "pattern
sqlcatalog.change_cp(action:int):void ", "SQLchange_cp;", "Pause,
resume or stop all continuous queries" ]
+[ "sqlcatalog", "change_all_cp", "pattern
sqlcatalog.change_all_cp(action:int):void ", "SQLchange_all_cp;", "Pause,
resume or stop all continuous queries" ]
+[ "sqlcatalog", "change_single_cp", "pattern
sqlcatalog.change_single_cp(alias:str, action:int, heartbeats:lng, startat:lng,
cycles:int):void ", "SQLchange_single_cp;", "Pause, resume or stop a single
continuous query" ]
[ "sqlcatalog", "create_function", "pattern
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr, ofcn:ptr,
replace:int):void ", "SQLcreate_function;", "Catalog operation
create_function" ]
[ "sqlcatalog", "create_role", "pattern
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",
"SQLcreate_role;", "Catalog operation create_role" ]
[ "sqlcatalog", "create_schema", "pattern
sqlcatalog.create_schema(sname:str, auth:str, action:int):void ",
"SQLcreate_schema;", "Catalog operation create_schema" ]
@@ -11047,7 +11041,6 @@ Ready.
[ "user", "main", "function user.main():void;", "", "" ]
[ "user", "main", "function user.main():void;", "", "" ]
[ "user", "main", "function user.main():void;", "", "" ]
-[ "user", "main", "function user.main():void;", "", "" ]
[ "user", "s2_1", "function user.s2_1():void;", "", "" ]
[ "user", "sql.init", "function user.sql.init():void;", "",
"" ]
[ "uuid", "#cmp", "command uuid.#cmp():void ", "UUIDcompare;", ""
]
@@ -11094,7 +11087,8 @@ Ready.
[ "wlc", "alter_user", "pattern wlc.alter_user(sname:str, passwrd:str,
enc:int, schema:str, oldpasswrd:str):void ", "WLCgeneric;", "Catalog
operation alter_user" ]
[ "wlc", "append", "pattern wlc.append(sname:str, tname:str,
cname:str, ins:any):int ", "WLCappend;", "Keep the insertions in the
workload-capture-replay list" ]
[ "wlc", "catalog", "pattern wlc.catalog(q:str):void ",
"WLCcatalog;", "Keep the catalog changing queries for replay. " ]
-[ "wlc", "change_cp", "pattern wlc.change_cp(action:int):void ",
"WLCgeneric;", "Pause, resume or stop all continuous queries" ]
+[ "wlc", "change_all_cp", "pattern
wlc.change_all_cp(action:int):void ", "WLCgeneric;", "Catalog operation
change_all_cp" ]
+[ "wlc", "change_single_cp", "pattern
wlc.change_single_cp(alias:str, action:int, heartbeats:lng, startat:lng,
cycles:int):void ", "WLCgeneric;", "Catalog operation change_single_cp" ]
[ "wlc", "clear_table", "pattern wlc.clear_table(sname:str,
tname:str):int ", "WLCclear_table;", "Keep the deletions in the
workload-capture-replay list" ]
[ "wlc", "commit", "pattern wlc.commit():void ",
"WLCcommitCmd;", "Commit the workload-capture-replay record" ]
[ "wlc", "commit", "pattern wlc.commit():void ",
"WLCcommitCmd;", "Mark the end of the work unit" ]
@@ -11158,7 +11152,8 @@ Ready.
[ "wlr", "alter_user", "pattern wlr.alter_user(sname:str, passwrd:str,
enc:int, schema:str, oldpasswrd:str):void ", "WLRgeneric;", "Catalog
operation alter_user" ]
[ "wlr", "append", "pattern wlr.append(sname:str, tname:str,
cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the
workload-capture-replay list" ]
[ "wlr", "catalog", "pattern wlr.catalog(q:str):void ",
"WLRcatalog;", "A catalog changing query" ]
-[ "wlr", "change_cp", "pattern wlr.change_cp(action:int):void ",
"WLRgeneric;", "Pause, resume or stop all continuous queries" ]
+[ "wlr", "change_all_cp", "pattern
wlr.change_all_cp(action:int):void ", "WLRgeneric;", "Catalog operation
change_all_cp" ]
+[ "wlr", "change_single_cp", "pattern
wlr.change_single_cp(alias:str, action:int, heartbeats:lng, startat:lng,
cycles:int):void ", "WLRgeneric;", "Catalog operation change_single_cp" ]
[ "wlr", "clear_table", "pattern wlr.clear_table(sname:str,
tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table"
]
[ "wlr", "commit", "pattern wlr.commit():void ", "WLRcommit;",
"Mark the end of the work unit" ]
[ "wlr", "create_function", "pattern wlr.create_function(sname:str,
fname:str):void ", "WLRgeneric;", "Catalog operation create_function"
]
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
@@ -1997,7 +1997,8 @@ str calcRef;
str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb, ValPtr argv[], char
debug);
str callString(Client c, str s, int listing);
str catalogRef;
-str change_cpRef;
+str change_all_cpRef;
+str change_single_cpRef;
void chkDeclarations(MalBlkPtr mb);
void chkFlow(MalBlkPtr mb);
int chkInstruction(Module s, MalBlkPtr mb, InstrPtr p);
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
@@ -47,6 +47,7 @@ static struct PIPELINES {
{"minimal_pipe",
"optimizer.inline();"
"optimizer.remap();"
+ "optimizer.cquery();"
"optimizer.deadcode();"
"optimizer.multiplex();"
"optimizer.generator();"
@@ -101,6 +102,7 @@ static struct PIPELINES {
{"volcano_pipe",
"optimizer.inline();"
"optimizer.remap();"
+ "optimizer.cquery();"
"optimizer.costModel();"
"optimizer.coercions();"
"optimizer.evaluate();"
@@ -211,39 +213,6 @@ static struct PIPELINES {
"optimizer.wlc();"
"optimizer.garbageCollector();",
"stable", NULL, NULL, 1},
- {"cquery_pipe",
- "optimizer.inline();"
- "optimizer.remap();"
- "optimizer.cquery();"
- "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.reduce();" deprecated
- "optimizer.matpack();"
- "optimizer.dataflow();"
- "optimizer.querylog();"
- "optimizer.multiplex();"
- "optimizer.generator();"
- "optimizer.profiler();"
- "optimizer.candidates();"
-// "optimizer.jit();" awaiting the new batcalc api
-// "optimizer.oltp();"awaiting the autocommit front-end changes
- "optimizer.wlc();"
- "optimizer.garbageCollector();",
- "stable", NULL, NULL, 1},
-
/* Experimental pipelines stressing various components under
* development. Do not use any of these pipelines in production
* settings!
diff --git a/sql/backends/monet5/sql_optimizer.c
b/sql/backends/monet5/sql_optimizer.c
--- a/sql/backends/monet5/sql_optimizer.c
+++ b/sql/backends/monet5/sql_optimizer.c
@@ -72,7 +72,7 @@ SQLgetColumnSize(sql_trans *tr, sql_colu
* caused major degration on SF100 Q3 with SSD(>6x)
*/
static lng
-SQLgetSpace(mvc *m, MalBlkPtr mb, int prepare, str *alterpipe)
+SQLgetSpace(mvc *m, MalBlkPtr mb, int prepare)
{
sql_trans *tr = m->session->tr;
lng size,space = 0, i;
@@ -92,7 +92,6 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
t = mvc_bind_table(m, s, tname);
if (t && isStream(t)) {
setModuleId(p, basketRef);
- *alterpipe= "cquery_pipe";
continue;
}
}
@@ -107,7 +106,6 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
t = mvc_bind_table(m, s, tname);
if (t && isStream(t)) {
setModuleId(p, basketRef);
- *alterpipe= "cquery_pipe";
continue;
}
}
@@ -130,7 +128,6 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
continue;
if (isStream(t)) {
setModuleId(p, basketRef);
- *alterpipe= "cquery_pipe";
p->argc =5; // ignore partition
}
c = mvc_bind_column(m, t, cname);
@@ -168,7 +165,6 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
setModuleId(p,batRef);
setFunctionId(p,newRef);
p = pushType(mb, p, getArgType(mb,p,0));
- *alterpipe= "cquery_pipe";
}
if (i && (!isRemote(i->t) &&
!isMergeTable(i->t) )) {
@@ -212,12 +208,11 @@ addOptimizers(Client c, MalBlkPtr mb, ch
InstrPtr q;
backend *be;
str msg= MAL_SUCCEED;
- str alterpipe = "default_pipe";
be = (backend *) c->sqlcontext;
assert(be && be->mvc); /* SQL clients should always have their state
set */
- (void) SQLgetSpace(be->mvc, mb, prepare, &alterpipe); // detect empty
bats.
+ (void) SQLgetSpace(be->mvc, mb, prepare); // detect empty bats.
/* The volcano optimizer seems relevant for traditional HDD settings.
* It produced about 8 % improvement onf TPCH SF 100 on a 16G machine.
* In a SSD setting it was counter productive, leading to worse
parallel behavior.
@@ -231,7 +226,7 @@ addOptimizers(Client c, MalBlkPtr mb, ch
pipe = "default_pipe";
} else
*/
- pipe = pipe? pipe: "default_pipe";
+ pipe = pipe ? pipe : "default_pipe";
msg = addOptimizerPipe(c, mb, pipe);
if (msg){
return msg;
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,13 +64,12 @@ Ready.
% .L1, .L1, .L1 # table_name
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list