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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list