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