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

Reply via email to