Changeset: 345fde431df6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=345fde431df6
Added Files:
        sql/ChangeLog.timetrails
        sql/backends/monet5/50_basket.mal
Removed Files:
        sql/backends/monet5/51_basket.mal
        sql/backends/monet5/Tests/cqstream08.sql
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/optimizer/opt_cquery.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        sql/backends/monet5/50_cquery.mal
        sql/backends/monet5/Makefile.ag
        sql/backends/monet5/Tests/basket00.malC
        sql/backends/monet5/Tests/cqstream00.sql
        sql/backends/monet5/Tests/cqstream01.sql
        sql/backends/monet5/Tests/cqstream02.sql
        sql/backends/monet5/Tests/cqstream03.sql
        sql/backends/monet5/sql_basket.c
        sql/backends/monet5/sql_cquery.c
        sql/backends/monet5/sql_cquery.h
        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
Branch: timetrails
Log Message:

First round of new cquery and baskets
The IOT branch code has been cleaned and reorganized.
The continuous queries and basket processing has been refined.


diffs (truncated from 1848 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
@@ -7445,9 +7445,7 @@ Ready.
 [ "cquery",    "resume",       "pattern cquery.resume(mod:str, fcn:str):void 
",        "CQresume;",    "Activate a specific continuous query"  ]
 [ "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]) ",      
"CQstatus;",    "Status of all registered continuous queries"   ]
-[ "cquery",    "tumble",       "pattern cquery.tumble(sch:str, tbl:str, 
elm:int):void ",       "CQtumble;",    "Number of tuples to shift forward"     ]
 [ "cquery",    "wait", "pattern cquery.wait(cnt:int):void ",   "CQwait;",      
"Sleep for some time"   ]
-[ "cquery",    "window",       "pattern cquery.window(sch:str, tbl:str, 
maximal:int):void ",   "CQwindow;",    "Set the input window size constraints" ]
 [ "date",      "!=",   "pattern date.!=(v:date, w:date):bit ", "CMDvarNE;",    
"Equality of two dates" ]
 [ "date",      "#fromstr",     "command date.#fromstr():void ",        
"date_fromstr;",        ""      ]
 [ "date",      "#tostr",       "command date.#tostr():void ",  "date_tostr;",  
""      ]
@@ -8740,6 +8738,69 @@ Ready.
 [ "wlc",       "transaction_release",  "pattern 
wlc.transaction_release(chain:int, name:str):void ",   "WLCgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
 [ "wlc",       "transaction_rollback", "pattern 
wlc.transaction_rollback(chain:int, name:str):void ",  "WLCgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
 [ "wlc",       "update",       "pattern wlc.update(sname:str, tname:str, 
cname:str, tid:any, val:any):int ",   "WLCupdate;",   "Keep the update in the 
workload-capture-replay list"   ]
+[ "wlr",       "action",       "pattern wlr.action(q:str):void ",      
"WLRaction;",   "A query producing updates"     ]
+[ "wlr",       "alter_add_table",      "pattern wlr.alter_add_table(sname:str, 
mtnme:str, psnme:str, ptnme:str, action:int):void ",    "WLRgeneric;",  
"Catalog operation alter_add_table"     ]
+[ "wlr",       "alter_del_table",      "pattern wlr.alter_del_table(sname:str, 
mtnme:str, psnme:str, ptnme:str, action:int):void ",    "WLRgeneric;",  
"Catalog operation alter_del_table"     ]
+[ "wlr",       "alter_seq",    "pattern wlr.alter_seq(sname:str, seqname:str, 
val:lng):void ", "WLRgeneric;",  "Catalog operation alter_seq"   ]
+[ "wlr",       "alter_set_table",      "pattern wlr.alter_set_table(sname:str, 
tnme:str, access:int):void ",   "WLRgeneric;",  "Catalog operation 
alter_set_table"     ]
+[ "wlr",       "alter_table",  "pattern wlr.alter_table(sname:str, 
action:int):void ", "WLRgeneric;",  "Catalog operation alter_table" ]
+[ "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",       "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"     
]
+[ "wlr",       "create_role",  "pattern wlr.create_role(sname:str, role:str, 
grator:int):void ",       "WLRgeneric;",  "Catalog operation create_role" ]
+[ "wlr",       "create_schema",        "pattern wlr.create_schema(sname:str, 
auth:str, action:int):void ",     "WLRgeneric;",  "Catalog operation 
create_schema"       ]
+[ "wlr",       "create_seq",   "pattern wlr.create_seq(sname:str, seqname:str, 
action:int):void ",     "WLRgeneric;",  "Catalog operation create_seq"  ]
+[ "wlr",       "create_table", "pattern wlr.create_table(sname:str, tname:str, 
temp:int):void ",       "WLRgeneric;",  "Catalog operation create_table"        
]
+[ "wlr",       "create_trigger",       "pattern wlr.create_trigger(sname:str, 
tname:str, triggername:str, time:int, orientation:int, event:int, old:str, 
new:str, cond:str, qry:str):void ",   "WLRgeneric;",  "Catalog operation 
create_trigger"      ]
+[ "wlr",       "create_type",  "pattern wlr.create_type(sname:str, nme:str, 
impl:str):void ",  "WLRgeneric;",  "Catalog operation create_type" ]
+[ "wlr",       "create_user",  "pattern wlr.create_user(sname:str, 
passwrd:str, enc:int, schema:str, fullname:str):void ",     "WLRgeneric;",  
"Catalog operation create_user" ]
+[ "wlr",       "create_view",  "pattern wlr.create_view(sname:str, tname:str, 
temp:int):void ",        "WLRgeneric;",  "Catalog operation create_view" ]
+[ "wlr",       "delete",       "pattern wlr.delete(sname:str, tname:str, 
b:oid...):int ",      "WLRdelete;",   "Apply the deletions in the 
workload-capture-replay list"       ]
+[ "wlr",       "drop_constraint",      "pattern wlr.drop_constraint(sname:str, 
name:str, action:int):void ",   "WLRgeneric;",  "Catalog operation 
drop_constraint"     ]
+[ "wlr",       "drop_function",        "pattern wlr.drop_function(sname:str, 
fname:str, fid:int, type:int, action:int):void ", "WLRgeneric;",  "Catalog 
operation drop_function"       ]
+[ "wlr",       "drop_index",   "pattern wlr.drop_index(sname:str, iname:str, 
action:int):void ",       "WLRgeneric;",  "Catalog operation drop_index"  ]
+[ "wlr",       "drop_role",    "pattern wlr.drop_role(auth:str, role:str, 
action:int):void ",  "WLRgeneric;",  "Catalog operation drop_role"   ]
+[ "wlr",       "drop_role",    "pattern wlr.drop_role(role:str, 
action:int):void ",    "WLRgeneric;",  "Catalog operation drop_role"   ]
+[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(sname:str, s:str, 
action:int):void ",  "WLRgeneric;",  "Catalog operation drop_schema" ]
+[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(sname:str, s:str, 
action:int, ifexists:int):void ",    "WLRgeneric;",  "Catalog operation 
drop_schema" ]
+[ "wlr",       "drop_seq",     "pattern wlr.drop_seq(sname:str, nme:str, 
action:int):void ",   "WLRgeneric;",  "Catalog operation drop_seq"    ]
+[ "wlr",       "drop_table",   "pattern wlr.drop_table(sname:str, name:str, 
action:int):void ",        "WLRgeneric;",  "Catalog operation drop_table"  ]
+[ "wlr",       "drop_table",   "pattern wlr.drop_table(sname:str, name:str, 
action:int, ifexists:int):void ",  "WLRgeneric;",  "Catalog operation 
drop_table"  ]
+[ "wlr",       "drop_trigger", "pattern wlr.drop_trigger(sname:str, 
nme:str):void ",   "WLRgeneric;",  "Catalog operation drop_trigger"        ]
+[ "wlr",       "drop_type",    "pattern wlr.drop_type(sname:str, nme:str, 
action:int):void ",  "WLRgeneric;",  "Catalog operation drop_type"   ]
+[ "wlr",       "drop_user",    "pattern wlr.drop_user(sname:str, 
action:int):void ",   "WLRgeneric;",  "Catalog operation drop_user"   ]
+[ "wlr",       "drop_user",    "pattern wlr.drop_user(sname:str, auth:str, 
action:int):void ", "WLRgeneric;",  "Catalog operation drop_user"   ]
+[ "wlr",       "drop_view",    "pattern wlr.drop_view(sname:str, name:str, 
action:int):void ", "WLRgeneric;",  "Catalog operation drop_view"   ]
+[ "wlr",       "drop_view",    "pattern wlr.drop_view(sname:str, name:str, 
action:int, ifexists:int):void ",   "WLRgeneric;",  "Catalog operation 
drop_view"   ]
+[ "wlr",       "getreplicaclock",      "pattern wlr.getreplicaclock():str ",   
"WLRgetreplicaclock;",  "Timestamp of last replicated transaction."     ]
+[ "wlr",       "getreplicatick",       "pattern wlr.getreplicatick():lng ",    
"WLRgetreplicatick;",   "Transaction identifier of the last replicated 
transaction."    ]
+[ "wlr",       "grant",        "pattern wlr.grant(sname:str, tbl:str, 
grantee:str, privs:int, cname:str, gr:int, grantor:int):void ",  "WLRgeneric;", 
 "Catalog operation grant"       ]
+[ "wlr",       "grant_function",       "pattern wlr.grant_function(sname:str, 
fcnid:int, grantee:str, privs:int, grant:int, grantor:int):void ",       
"WLRgeneric;",  "Catalog operation grant_function"      ]
+[ "wlr",       "grant_roles",  "pattern wlr.grant_roles(sname:str, auth:str, 
grantor:int, admin:int):void ",   "WLRgeneric;",  "Catalog operation 
grant_roles" ]
+[ "wlr",       "rename_user",  "pattern wlr.rename_user(sname:str, newnme:str, 
action:int):void ",     "WLRgeneric;",  "Catalog operation rename_user" ]
+[ "wlr",       "replicate",    "pattern wlr.replicate():void ",        
"WLRreplicate;",        "Roll the snapshot forward to an up-to-date clone"      
]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str):void ",      
"WLRreplicate;",        "Roll the snapshot forward to an up-to-date clone"      
]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:bte):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:int):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:lng):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:sht):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, 
ts:timestamp):void ",        "WLRreplicate;",        "Roll the snapshot forward 
to the time TS"      ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(ts:timestamp):void ",    
"WLRreplicate;",        "Roll the snapshot forward to an up-to-date clone"      
]
+[ "wlr",       "revoke",       "pattern wlr.revoke(sname:str, tbl:str, 
grantee:str, privs:int, cname:str, grant:int, grantor:int):void ",      
"WLRgeneric;",  "Catalog operation revoke"      ]
+[ "wlr",       "revoke_function",      "pattern wlr.revoke_function(sname:str, 
fcnid:int, grantee:str, privs:int, grant:int, grantor:int):void ",      
"WLRgeneric;",  "Catalog operation revoke_function"     ]
+[ "wlr",       "revoke_roles", "pattern wlr.revoke_roles(sname:str, auth:str, 
grantor:int, admin:int):void ",  "WLRgeneric;",  "Catalog operation 
revoke_roles"        ]
+[ "wlr",       "rollback",     "pattern wlr.rollback():void ", "WLRrollback;", 
"Mark the end of the work unit" ]
+[ "wlr",       "setreplicabeat",       "pattern 
wlr.setreplicabeat(dur:int):void ",    "WLRsetreplicabeat;",   "Threshold (in 
seconds) for re-running queries" ]
+[ "wlr",       "transaction",  "pattern wlr.transaction():void ",      
"WLRgeneric;",  "Start an autocommit transaction"       ]
+[ "wlr",       "transaction",  "pattern wlr.transaction(tid:lng, started:str, 
user:str):void ",        "WLRtransaction;",      "Mark the beginning of the 
work unit which can be a compound transaction"       ]
+[ "wlr",       "transaction_begin",    "pattern 
wlr.transaction_begin(chain:int, name:str):void ",     "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "transaction_commit",   "pattern 
wlr.transaction_commit(chain:int, name:str):void ",    "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "transaction_release",  "pattern 
wlr.transaction_release(chain:int, name:str):void ",   "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "transaction_rollback", "pattern 
wlr.transaction_rollback(chain:int, name:str):void ",  "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "update",       "pattern wlr.update(sname:str, tname:str, 
cname:str, tid:oid, val:any):int ",   "WLRupdate;",   "Apply the update in the 
workload-capture-replay list"  ]
 [ "xml",       "#fromstr",     "command xml.#fromstr():void ", 
"XMLfromString;",       "Convert a string to an xml."   ]
 [ "xml",       "#tostr",       "command xml.#tostr():void ",   "XMLtoString;", 
"Convert xml to string equivalent"      ]
 [ "xml",       "aggr", "command xml.aggr(val:bat[:xml]):xml ", "BATXMLgroup;", 
"Aggregate the XML values."     ]
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,14 +652,13 @@ Ready.
 [ "basket",    "lock", "pattern basket.lock(mvc:any, sch:str, tbl:str):int ",  
"BSKTlock;",    "Lock the basket for private use"       ]
 [ "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",    "reset",        "pattern basket.reset(mvc:int, sch:str, 
tbl:str):int ", "BSKTreset;",   "Remove a basket content"       ]
-[ "basket",    "settumble",    "pattern basket.settumble(sch:str, tbl:str, 
elm:int):int ",     "BSKTsettumble;",       "Set stride"    ]
-[ "basket",    "setwindow",    "pattern basket.setwindow(sch:str, tbl:str, 
elm:int):int ",     "BSKTsetwindow;",       "Set window size"       ]
-[ "basket",    "status",       "pattern basket.status() (seen:bat[:timestamp], 
sch:bat[:str], tbl:bat[:str], state:bat[:str], window:bat[:int], 
stride:bat[:int], events:bat[:int], cycles:bat[:int], error:bat[:str]) ",      
"BSKTstatus;",  "Show the status of the baskets"        ]
+[ "basket",    "status",       "pattern basket.status() (seen:bat[:timestamp], 
sch:bat[:str], tbl:bat[:str], window:bat[:int], stride:bat[:int], 
events:bat[:int], cycles: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" 
  ]
-[ "basket",    "tumble",       "pattern basket.tumble(mvc:any, sch:str, 
tbl:str):int ",        "BSKTtumble;",  "Apply tumbling to the basket"  ]
+[ "basket",    "tumble",       "pattern basket.tumble(mvc:any, sch:str, 
tbl:str):int ",        "BSKTtumble;",  "Eat away and slide forward"    ]
 [ "basket",    "unlock",       "pattern basket.unlock(mvc:any, sch:str, 
tbl:str):int ",        "BSKTunlock;",  "Lock the basket for private use"       ]
 [ "basket",    "update",       "pattern basket.update(mvc:int, sch:str, 
tbl:str, col:str, rid:bat[:oid], val:bat[:any]):int ", "BSKTupdate;",  "Update 
tuples in a basket"     ]
-[ "basket",    "window",       "pattern basket.window(mvc:any, sch:str, 
tbl:str):int ",        "BSKTwindow;",  "Apply window selection"        ]
+[ "basket",    "window",       "pattern basket.window(sch:str, tbl:str, 
elm:int):int ",        "BSKTwindow;",  "Set window size"       ]
+[ "basket",    "window",       "pattern basket.window(sch:str, tbl:str, 
elm:int, stride:int):int ",    "BSKTwindow;",  "Set window size and stride"    ]
 [ "bat",       "append",       "command bat.append(i:bat[:any_1], 
u:bat[:any_1], s:bat[:oid], force:bit):bat[:any_1] ",        
"BKCappend_cand_force_wrap;",   "append the content of u with candidate list s 
to i"    ]
 [ "bat",       "append",       "command bat.append(i:bat[:any_1], 
u:bat[:any_1], s:bat[:oid]):bat[:any_1] ",   "BKCappend_cand_wrap;", "append 
the content of u with candidate list s to i"    ]
 [ "bat",       "append",       "command bat.append(i:bat[:any_1], 
u:bat[:any_1], force:bit):bat[:any_1] ",     "BKCappend_force_wrap;",        
"append the content of u to i"  ]
@@ -9810,9 +9809,7 @@ Ready.
 [ "cquery",    "resume",       "pattern cquery.resume(mod:str, fcn:str):void 
",        "CQresume;",    "Activate a specific continuous query"  ]
 [ "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]) ",      
"CQstatus;",    "Status of all registered continuous queries"   ]
-[ "cquery",    "tumble",       "pattern cquery.tumble(sch:str, tbl:str, 
elm:int):void ",       "CQtumble;",    "Number of tuples to shift forward"     ]
 [ "cquery",    "wait", "pattern cquery.wait(cnt:int):void ",   "CQwait;",      
"Sleep for some time"   ]
-[ "cquery",    "window",       "pattern cquery.window(sch:str, tbl:str, 
maximal:int):void ",   "CQwindow;",    "Set the input window size constraints" ]
 [ "date",      "!=",   "pattern date.!=(v:date, w:date):bit ", "CMDvarNE;",    
"Equality of two dates" ]
 [ "date",      "#fromstr",     "command date.#fromstr():void ",        
"date_fromstr;",        ""      ]
 [ "date",      "#tostr",       "command date.#tostr():void ",  "date_tostr;",  
""      ]
@@ -11124,6 +11121,69 @@ Ready.
 [ "wlc",       "transaction_release",  "pattern 
wlc.transaction_release(chain:int, name:str):void ",   "WLCgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
 [ "wlc",       "transaction_rollback", "pattern 
wlc.transaction_rollback(chain:int, name:str):void ",  "WLCgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
 [ "wlc",       "update",       "pattern wlc.update(sname:str, tname:str, 
cname:str, tid:any, val:any):int ",   "WLCupdate;",   "Keep the update in the 
workload-capture-replay list"   ]
+[ "wlr",       "action",       "pattern wlr.action(q:str):void ",      
"WLRaction;",   "A query producing updates"     ]
+[ "wlr",       "alter_add_table",      "pattern wlr.alter_add_table(sname:str, 
mtnme:str, psnme:str, ptnme:str, action:int):void ",    "WLRgeneric;",  
"Catalog operation alter_add_table"     ]
+[ "wlr",       "alter_del_table",      "pattern wlr.alter_del_table(sname:str, 
mtnme:str, psnme:str, ptnme:str, action:int):void ",    "WLRgeneric;",  
"Catalog operation alter_del_table"     ]
+[ "wlr",       "alter_seq",    "pattern wlr.alter_seq(sname:str, seqname:str, 
val:lng):void ", "WLRgeneric;",  "Catalog operation alter_seq"   ]
+[ "wlr",       "alter_set_table",      "pattern wlr.alter_set_table(sname:str, 
tnme:str, access:int):void ",   "WLRgeneric;",  "Catalog operation 
alter_set_table"     ]
+[ "wlr",       "alter_table",  "pattern wlr.alter_table(sname:str, 
action:int):void ", "WLRgeneric;",  "Catalog operation alter_table" ]
+[ "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",       "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"     
]
+[ "wlr",       "create_role",  "pattern wlr.create_role(sname:str, role:str, 
grator:int):void ",       "WLRgeneric;",  "Catalog operation create_role" ]
+[ "wlr",       "create_schema",        "pattern wlr.create_schema(sname:str, 
auth:str, action:int):void ",     "WLRgeneric;",  "Catalog operation 
create_schema"       ]
+[ "wlr",       "create_seq",   "pattern wlr.create_seq(sname:str, seqname:str, 
action:int):void ",     "WLRgeneric;",  "Catalog operation create_seq"  ]
+[ "wlr",       "create_table", "pattern wlr.create_table(sname:str, tname:str, 
temp:int):void ",       "WLRgeneric;",  "Catalog operation create_table"        
]
+[ "wlr",       "create_trigger",       "pattern wlr.create_trigger(sname:str, 
tname:str, triggername:str, time:int, orientation:int, event:int, old:str, 
new:str, cond:str, qry:str):void ",   "WLRgeneric;",  "Catalog operation 
create_trigger"      ]
+[ "wlr",       "create_type",  "pattern wlr.create_type(sname:str, nme:str, 
impl:str):void ",  "WLRgeneric;",  "Catalog operation create_type" ]
+[ "wlr",       "create_user",  "pattern wlr.create_user(sname:str, 
passwrd:str, enc:int, schema:str, fullname:str):void ",     "WLRgeneric;",  
"Catalog operation create_user" ]
+[ "wlr",       "create_view",  "pattern wlr.create_view(sname:str, tname:str, 
temp:int):void ",        "WLRgeneric;",  "Catalog operation create_view" ]
+[ "wlr",       "delete",       "pattern wlr.delete(sname:str, tname:str, 
b:oid...):int ",      "WLRdelete;",   "Apply the deletions in the 
workload-capture-replay list"       ]
+[ "wlr",       "drop_constraint",      "pattern wlr.drop_constraint(sname:str, 
name:str, action:int):void ",   "WLRgeneric;",  "Catalog operation 
drop_constraint"     ]
+[ "wlr",       "drop_function",        "pattern wlr.drop_function(sname:str, 
fname:str, fid:int, type:int, action:int):void ", "WLRgeneric;",  "Catalog 
operation drop_function"       ]
+[ "wlr",       "drop_index",   "pattern wlr.drop_index(sname:str, iname:str, 
action:int):void ",       "WLRgeneric;",  "Catalog operation drop_index"  ]
+[ "wlr",       "drop_role",    "pattern wlr.drop_role(auth:str, role:str, 
action:int):void ",  "WLRgeneric;",  "Catalog operation drop_role"   ]
+[ "wlr",       "drop_role",    "pattern wlr.drop_role(role:str, 
action:int):void ",    "WLRgeneric;",  "Catalog operation drop_role"   ]
+[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(sname:str, s:str, 
action:int):void ",  "WLRgeneric;",  "Catalog operation drop_schema" ]
+[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(sname:str, s:str, 
action:int, ifexists:int):void ",    "WLRgeneric;",  "Catalog operation 
drop_schema" ]
+[ "wlr",       "drop_seq",     "pattern wlr.drop_seq(sname:str, nme:str, 
action:int):void ",   "WLRgeneric;",  "Catalog operation drop_seq"    ]
+[ "wlr",       "drop_table",   "pattern wlr.drop_table(sname:str, name:str, 
action:int):void ",        "WLRgeneric;",  "Catalog operation drop_table"  ]
+[ "wlr",       "drop_table",   "pattern wlr.drop_table(sname:str, name:str, 
action:int, ifexists:int):void ",  "WLRgeneric;",  "Catalog operation 
drop_table"  ]
+[ "wlr",       "drop_trigger", "pattern wlr.drop_trigger(sname:str, 
nme:str):void ",   "WLRgeneric;",  "Catalog operation drop_trigger"        ]
+[ "wlr",       "drop_type",    "pattern wlr.drop_type(sname:str, nme:str, 
action:int):void ",  "WLRgeneric;",  "Catalog operation drop_type"   ]
+[ "wlr",       "drop_user",    "pattern wlr.drop_user(sname:str, 
action:int):void ",   "WLRgeneric;",  "Catalog operation drop_user"   ]
+[ "wlr",       "drop_user",    "pattern wlr.drop_user(sname:str, auth:str, 
action:int):void ", "WLRgeneric;",  "Catalog operation drop_user"   ]
+[ "wlr",       "drop_view",    "pattern wlr.drop_view(sname:str, name:str, 
action:int):void ", "WLRgeneric;",  "Catalog operation drop_view"   ]
+[ "wlr",       "drop_view",    "pattern wlr.drop_view(sname:str, name:str, 
action:int, ifexists:int):void ",   "WLRgeneric;",  "Catalog operation 
drop_view"   ]
+[ "wlr",       "getreplicaclock",      "pattern wlr.getreplicaclock():str ",   
"WLRgetreplicaclock;",  "Timestamp of last replicated transaction."     ]
+[ "wlr",       "getreplicatick",       "pattern wlr.getreplicatick():lng ",    
"WLRgetreplicatick;",   "Transaction identifier of the last replicated 
transaction."    ]
+[ "wlr",       "grant",        "pattern wlr.grant(sname:str, tbl:str, 
grantee:str, privs:int, cname:str, gr:int, grantor:int):void ",  "WLRgeneric;", 
 "Catalog operation grant"       ]
+[ "wlr",       "grant_function",       "pattern wlr.grant_function(sname:str, 
fcnid:int, grantee:str, privs:int, grant:int, grantor:int):void ",       
"WLRgeneric;",  "Catalog operation grant_function"      ]
+[ "wlr",       "grant_roles",  "pattern wlr.grant_roles(sname:str, auth:str, 
grantor:int, admin:int):void ",   "WLRgeneric;",  "Catalog operation 
grant_roles" ]
+[ "wlr",       "rename_user",  "pattern wlr.rename_user(sname:str, newnme:str, 
action:int):void ",     "WLRgeneric;",  "Catalog operation rename_user" ]
+[ "wlr",       "replicate",    "pattern wlr.replicate():void ",        
"WLRreplicate;",        "Roll the snapshot forward to an up-to-date clone"      
]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str):void ",      
"WLRreplicate;",        "Roll the snapshot forward to an up-to-date clone"      
]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:bte):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:int):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:lng):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, id:sht):void 
",      "WLRreplicate;",        "Roll the snapshot forward to a specific 
transaction id"        ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(dbname:str, 
ts:timestamp):void ",        "WLRreplicate;",        "Roll the snapshot forward 
to the time TS"      ]
+[ "wlr",       "replicate",    "pattern wlr.replicate(ts:timestamp):void ",    
"WLRreplicate;",        "Roll the snapshot forward to an up-to-date clone"      
]
+[ "wlr",       "revoke",       "pattern wlr.revoke(sname:str, tbl:str, 
grantee:str, privs:int, cname:str, grant:int, grantor:int):void ",      
"WLRgeneric;",  "Catalog operation revoke"      ]
+[ "wlr",       "revoke_function",      "pattern wlr.revoke_function(sname:str, 
fcnid:int, grantee:str, privs:int, grant:int, grantor:int):void ",      
"WLRgeneric;",  "Catalog operation revoke_function"     ]
+[ "wlr",       "revoke_roles", "pattern wlr.revoke_roles(sname:str, auth:str, 
grantor:int, admin:int):void ",  "WLRgeneric;",  "Catalog operation 
revoke_roles"        ]
+[ "wlr",       "rollback",     "pattern wlr.rollback():void ", "WLRrollback;", 
"Mark the end of the work unit" ]
+[ "wlr",       "setreplicabeat",       "pattern 
wlr.setreplicabeat(dur:int):void ",    "WLRsetreplicabeat;",   "Threshold (in 
seconds) for re-running queries" ]
+[ "wlr",       "transaction",  "pattern wlr.transaction():void ",      
"WLRgeneric;",  "Start an autocommit transaction"       ]
+[ "wlr",       "transaction",  "pattern wlr.transaction(tid:lng, started:str, 
user:str):void ",        "WLRtransaction;",      "Mark the beginning of the 
work unit which can be a compound transaction"       ]
+[ "wlr",       "transaction_begin",    "pattern 
wlr.transaction_begin(chain:int, name:str):void ",     "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "transaction_commit",   "pattern 
wlr.transaction_commit(chain:int, name:str):void ",    "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "transaction_release",  "pattern 
wlr.transaction_release(chain:int, name:str):void ",   "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "transaction_rollback", "pattern 
wlr.transaction_rollback(chain:int, name:str):void ",  "WLRgeneric;",  "A 
transaction statement (type can be commit,release,rollback or start)"        ]
+[ "wlr",       "update",       "pattern wlr.update(sname:str, tname:str, 
cname:str, tid:oid, val:any):int ",   "WLRupdate;",   "Apply the update in the 
workload-capture-replay list"  ]
 [ "xml",       "#fromstr",     "command xml.#fromstr():void ", 
"XMLfromString;",       "Convert a string to an xml."   ]
 [ "xml",       "#tostr",       "command xml.#tostr():void ",   "XMLtoString;", 
"Convert xml to string equivalent"      ]
 [ "xml",       "aggr", "command xml.aggr(val:bat[:xml]):xml ", "BATXMLgroup;", 
"Aggregate the XML values."     ]
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
@@ -2587,6 +2587,7 @@ str updateRef;
 void updateScenario(str scen, str nme, MALfcn fcn);
 str userRef;
 str vectorRef;
+str windowRef;
 str wlcRef;
 int wlc_batches;
 int wlc_beat;
diff --git a/monetdb5/optimizer/opt_cquery.c b/monetdb5/optimizer/opt_cquery.c
--- a/monetdb5/optimizer/opt_cquery.c
+++ b/monetdb5/optimizer/opt_cquery.c
@@ -38,7 +38,7 @@
                fnd= 1; break;\
        }
 
-#define DEBUG_OPT_CQUERY
+//#define DEBUG_OPT_CQUERY
 
 str
 OPTcqueryImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -300,6 +300,7 @@ str unpinRef;
 str updateRef;
 str wlcRef;
 str wlrRef;
+str windowRef;
 str timestampRef;
 str thetaselectRef;
 str likeselectRef;
@@ -593,6 +594,7 @@ void optimizerInit(void)
        userRef = putName("user");
        wlcRef = putName("wlc");
        wlrRef = putName("wlr");
+       windowRef = putName("window");
        selectRef = putName("select");
        thetaselectRef = putName("thetaselect");
        vectorRef = putName("vector");
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -304,6 +304,7 @@ mal_export  str not_ilikeRef;
 mal_export  str userRef;
 mal_export  str wlcRef;
 mal_export  str wlrRef;
+mal_export  str windowRef;
 mal_export  str vectorRef;
 mal_export  str zero_or_oneRef;
 #endif
diff --git a/sql/ChangeLog.timetrails b/sql/ChangeLog.timetrails
new file mode 100644
--- /dev/null
+++ b/sql/ChangeLog.timetrails
@@ -0,0 +1,7 @@
+# ChangeLog file for sql
+# This file is updated with Maddlog
+
+* Fri May  5 2017 Martin Kersten <[email protected]>
+- The timetrails branch is a cleanup of the iot branch.  To be further
+  enhanced to support timetrails for iot.
+
diff --git a/sql/backends/monet5/51_basket.mal 
b/sql/backends/monet5/50_basket.mal
rename from sql/backends/monet5/51_basket.mal
rename to sql/backends/monet5/50_basket.mal
diff --git a/sql/backends/monet5/50_cquery.mal 
b/sql/backends/monet5/50_cquery.mal
--- a/sql/backends/monet5/50_cquery.mal
+++ b/sql/backends/monet5/50_cquery.mal
@@ -62,16 +62,6 @@ pattern heartbeat(cnt:int)
 address CQheartbeat
 comment "Awake all queries after cnt milliseconds";
 
-# continuous query window size for stream
-pattern tumble(sch:str, tbl:str, elm:int)
-address CQtumble
-comment "Number of tuples to shift forward";
-
-# stream window constraints
-pattern window(sch:str,tbl:str,maximal:int)
-address CQwindow
-comment "Set the input window size constraints";
-
 pattern error(sch:str, tbl:str, msg:str)
 address CQerror
 comment "Remember the error seen";
diff --git a/sql/backends/monet5/Makefile.ag b/sql/backends/monet5/Makefile.ag
--- a/sql/backends/monet5/Makefile.ag
+++ b/sql/backends/monet5/Makefile.ag
@@ -79,7 +79,7 @@ headers_mal_hge = {
 headers_autoload = {
        HEADERS = mal
        DIR = libdir/monetdb5/autoload
-       SOURCES = 40_sql.mal 51_basket.mal 50_cquery.mal
+       SOURCES = 40_sql.mal 50_basket.mal 50_cquery.mal
 }
 
 headers_autoload_hge = {
diff --git a/sql/backends/monet5/Tests/basket00.malC 
b/sql/backends/monet5/Tests/basket00.malC
--- a/sql/backends/monet5/Tests/basket00.malC
+++ b/sql/backends/monet5/Tests/basket00.malC
@@ -1,9 +1,7 @@
 #simple test for basket management
 
-(seen:bat[:timestamp],sch:bat[:str],tbl:bat[:str],state:bat[:str], 
window:bat[:int], stride:bat[:int],events:bat[:int],cycles:bat[:int], 
error:bat[:str]) := basket.status();
+(seen:bat[:timestamp],sch:bat[:str],tbl:bat[:str],window:bat[:int], 
stride:bat[:int],events:bat[:int],cycles:bat[:int], error:bat[:str]) := 
basket.status();
 
-io.print(seen,sch,tbl,state,window,stride,events,cycles,error);
-
-basket.window("sys","tables",2,1);
+io.print(seen,sch,tbl,window,stride,events,cycles,error);
 
 basket.dump();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to