Changeset: fd7aeb428c35 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fd7aeb428c35
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        monetdb5/optimizer/opt_cquery.c
        sql/backends/monet5/Tests/cqstream03.stable.out
        sql/backends/monet5/Tests/cquery.malC
        sql/backends/monet5/Tests/cquery.stable.err
        sql/backends/monet5/Tests/cquery18.sql
        sql/backends/monet5/Tests/cquery18.stable.out
        sql/backends/monet5/basket.mal
        sql/backends/monet5/cquery.mal
        sql/backends/monet5/sql_basket.c
        sql/backends/monet5/sql_basket.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_cquery.c
        sql/backends/monet5/sql_cquery.h
        sql/scripts/50_cquery.sql
Branch: trails
Log Message:

Some API cleaning. We are always using the alias to reference a CQ


diffs (truncated from 1029 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
@@ -546,6 +546,7 @@ Ready.
 [ "basket",    "delete",       "pattern basket.delete(mvc:int, sch:str, 
tbl:str, rid:bat[:oid]):int ", "BSKTdelete;",  "Remove tuples from a basket"   ]
 [ "basket",    "drop", "pattern basket.drop(mvc:int, sch:str, tbl:str):int ",  
"BSKTdrop;",    "Remove the basket"     ]
 [ "basket",    "dump", "command basket.dump():void ",  "BSKTdump;",    "Show 
the baskets table"        ]
+[ "basket",    "error",        "pattern basket.error(sch:str, tbl:str, 
msg:str):void ",        "BSKTerror;",   "Remember the error seen"       ]
 [ "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. roles:input=0, output=1" ]
@@ -7449,18 +7450,17 @@ Ready.
 [ "color",     "value",        "command color.value(c:color):flt ",    
"CLRvalue;",    "Extracts value component from a color atom"    ]
 [ "color",     "value",        "command color.value(c:color):int ",    
"CLRvalueInt;", "Extracts value component from a color atom"    ]
 [ "color",     "ycc",  "command color.ycc(y:int, cr:int, cb:int):color ",      
"CLRycc;",      "Converts an YCC triplets to a color atom"      ]
-[ "cquery",    "beginat",      "pattern cquery.beginat(mod:str, fcn:str, 
unixtime:lng):void ", "CQbeginAt;",   "Delay beginning of a continuous query, 
where unixtime is an UNIX timestamp with microsecond precision" ]
+[ "cquery",    "beginat",      "pattern cquery.beginat(alias:str, 
unixtime:lng):void ",        "CQbeginAt;",   "Delay beginning of a continuous 
query, where unixtime is an UNIX timestamp with microsecond precision" ]
 [ "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",    "cycles",       "pattern cquery.cycles(alias:str, cnt:int):void 
",      "CQcycles;",    "Limit number of petrinet steps for a single continuous 
query"  ]
+[ "cquery",    "cycles",       "pattern cquery.cycles(cnt:int):void ", 
"CQcycles;",    "Limit number of petrinet steps for 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(alias:str, 
cnt:lng):void ",   "CQheartbeat;", "Awake the query after cnt milliseconds"     
   ]
 [ "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",    "log",  "pattern cquery.log() (tick:bat[:timestamp], 
alias:bat[:str], time:bat[:lng], error:bat[:str]) ",       "CQlog;",       "The 
log of all CQ executions"  ]
 [ "cquery",    "prelude",      "command cquery.prelude():void ",       
"CQprelude;",   ""      ]
-[ "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",    "show", "pattern cquery.show(alias:str):void ", "CQshow;",      
"Debug a single continuous query"       ]
+[ "cquery",    "status",       "pattern cquery.status() (tick:bat[:timestamp], 
alias:bat[:str], state:bat[:str], error:bat[:str]) ",   "CQstatus;",    "Status 
of all registered continuous queries"   ]
 [ "cquery",    "wait", "pattern cquery.wait(cnt:int):void ",   "CQwait;",      
"Sleep for some time"   ]
 [ "date",      "!=",   "pattern date.!=(v:date, w:date):bit ", "CMDvarNE;",    
"Equality of two dates" ]
 [ "date",      "#fromstr",     "command date.#fromstr():void ",        
"date_fromstr;",        ""      ]
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
@@ -650,6 +650,7 @@ Ready.
 [ "basket",    "delete",       "pattern basket.delete(mvc:int, sch:str, 
tbl:str, rid:bat[:oid]):int ", "BSKTdelete;",  "Remove tuples from a basket"   ]
 [ "basket",    "drop", "pattern basket.drop(mvc:int, sch:str, tbl:str):int ",  
"BSKTdrop;",    "Remove the basket"     ]
 [ "basket",    "dump", "command basket.dump():void ",  "BSKTdump;",    "Show 
the baskets table"        ]
+[ "basket",    "error",        "pattern basket.error(sch:str, tbl:str, 
msg:str):void ",        "BSKTerror;",   "Remember the error seen"       ]
 [ "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. roles:input=0, output=1" ]
@@ -9795,18 +9796,17 @@ Ready.
 [ "color",     "value",        "command color.value(c:color):flt ",    
"CLRvalue;",    "Extracts value component from a color atom"    ]
 [ "color",     "value",        "command color.value(c:color):int ",    
"CLRvalueInt;", "Extracts value component from a color atom"    ]
 [ "color",     "ycc",  "command color.ycc(y:int, cr:int, cb:int):color ",      
"CLRycc;",      "Converts an YCC triplets to a color atom"      ]
-[ "cquery",    "beginat",      "pattern cquery.beginat(mod:str, fcn:str, 
unixtime:lng):void ", "CQbeginAt;",   "Delay beginning of a continuous query, 
where unixtime is an UNIX timestamp with microsecond precision" ]
+[ "cquery",    "beginat",      "pattern cquery.beginat(alias:str, 
unixtime:lng):void ",        "CQbeginAt;",   "Delay beginning of a continuous 
query, where unixtime is an UNIX timestamp with microsecond precision" ]
 [ "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",    "cycles",       "pattern cquery.cycles(alias:str, cnt:int):void 
",      "CQcycles;",    "Limit number of petrinet steps for a single continuous 
query"  ]
+[ "cquery",    "cycles",       "pattern cquery.cycles(cnt:int):void ", 
"CQcycles;",    "Limit number of petrinet steps for 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(alias:str, 
cnt:lng):void ",   "CQheartbeat;", "Awake the query after cnt milliseconds"     
   ]
 [ "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",    "log",  "pattern cquery.log() (tick:bat[:timestamp], 
alias:bat[:str], time:bat[:lng], error:bat[:str]) ",       "CQlog;",       "The 
log of all CQ executions"  ]
 [ "cquery",    "prelude",      "command cquery.prelude():void ",       
"CQprelude;",   ""      ]
-[ "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",    "show", "pattern cquery.show(alias:str):void ", "CQshow;",      
"Debug a single continuous query"       ]
+[ "cquery",    "status",       "pattern cquery.status() (tick:bat[:timestamp], 
alias:bat[:str], state:bat[:str], error:bat[:str]) ",   "CQstatus;",    "Status 
of all registered continuous queries"   ]
 [ "cquery",    "wait", "pattern cquery.wait(cnt:int):void ",   "CQwait;",      
"Sleep for some time"   ]
 [ "date",      "!=",   "pattern date.!=(v:date, w:date):bit ", "CMDvarNE;",    
"Equality of two dates" ]
 [ "date",      "#fromstr",     "command date.#fromstr():void ",        
"date_fromstr;",        ""      ]
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
@@ -257,7 +257,7 @@ OPTcqueryImplementation(Client cntxt, Ma
                                setVarUDFtype(mb, j);
                                r->barrier = CATCHsymbol;
 
-                               r = newStmt(mb,cqueryRef, errorRef);
+                               r = newStmt(mb,basketRef, errorRef);
                                r = pushStr(mb, r, getModuleId(old[0]));
                                r = pushStr(mb, r, getFunctionId(old[0]));
                                r = pushArgument(mb, r, j);
@@ -270,7 +270,7 @@ OPTcqueryImplementation(Client cntxt, Ma
                                setVarUDFtype(mb, j);
                                r->barrier = CATCHsymbol;
 
-                               r = newStmt(mb,cqueryRef, errorRef);
+                               r = newStmt(mb,basketRef, errorRef);
                                r = pushStr(mb, r, getModuleId(old[0]));
                                r = pushStr(mb, r, getFunctionId(old[0]));
                                r = pushArgument(mb, r, j);
diff --git a/sql/backends/monet5/Tests/cqstream03.stable.out 
b/sql/backends/monet5/Tests/cqstream03.stable.out
--- a/sql/backends/monet5/Tests/cqstream03.stable.out
+++ b/sql/backends/monet5/Tests/cqstream03.stable.out
@@ -36,10 +36,10 @@ Ready.
 #    end if;
 #end;
 #select * from cquery.status();
-% .L1, .L1,    .L1,    .L1,    .L1,    .L1 # table_name
-% tick,        schema, function,       alias,  state,  errors # name
-% timestamp,   clob,   clob,   clob,   clob,   clob # type
-% 26,  0,      0,      0,      0,      0 # length
+% .L1, .L1,    .L1,    .L1 # table_name
+% tick,        alias,  state,  errors # name
+% timestamp,   clob,   clob,   clob # type
+% 26,  0,      0,      0 # length
 #drop procedure cq_agenda;
 #drop table tmp13;
 #drop table agenda13;
diff --git a/sql/backends/monet5/Tests/cquery.malC 
b/sql/backends/monet5/Tests/cquery.malC
--- a/sql/backends/monet5/Tests/cquery.malC
+++ b/sql/backends/monet5/Tests/cquery.malC
@@ -2,8 +2,8 @@
 
 cquery.dump();
 
-cquery.show("unknown","query");
+cquery.show("noalias");
 
-(tick:bat[:timestamp],mod:bat[:str],fcn:bat[:str],alias:bat[:str],time:bat[:lng],error:bat[:str])
 := cquery.log();
+(tick:bat[:timestamp],alias:bat[:str],time:bat[:lng],error:bat[:str]) := 
cquery.log();
 
-io.print(tick,mod,fcn,time,error);
+io.print(tick,alias,time,error);
diff --git a/sql/backends/monet5/Tests/cquery.stable.err 
b/sql/backends/monet5/Tests/cquery.stable.err
--- a/sql/backends/monet5/Tests/cquery.stable.err
+++ b/sql/backends/monet5/Tests/cquery.stable.err
@@ -28,20 +28,19 @@ stderr of test 'cquery` in directory 'sq
 # 22:02:28 >  "mclient" "-lmal" "-ftest" "-Eutf-8" 
"--host=/var/tmp/mtest-9376" "--port=30916"
 # 22:02:28 >  
 
-MAPI  = (monetdb) /var/tmp/mtest-9376/.s.monetdb.30916
+MAPI  = (monetdb) /var/tmp/mtest-1914/.s.monetdb.39899
 QUERY = # some simple MAL tests
         
         cquery.dump();
         
-        cquery.show("unknown","query");
+        cquery.show("noalias");
         
-        
(tick:bat[:timestamp],mod:bat[:str],fcn:bat[:str],alias:bat[:str],time:bat[:lng],error:bat[:str])
 := cquery.log();
+        (tick:bat[:timestamp],alias:bat[:str],time:bat[:lng],error:bat[:str]) 
:= cquery.log();
         
-        io.print(tick,mod,fcn,time,error);
-ERROR = !SQLException:cquery.show:The continuous query unknown.query is not 
accessible
-
+        io.print(tick,alias,time,error);
+ERROR = !SQLException:cquery.show:42000!The continuous query noalias has not 
yet started
 
-# 22:02:28 >  
-# 22:02:28 >  "Done."
-# 22:02:28 >  
+# 18:08:15 >  
+# 18:08:15 >  "Done."
+# 18:08:15 >  
 
diff --git a/sql/backends/monet5/Tests/cquery18.sql 
b/sql/backends/monet5/Tests/cquery18.sql
--- a/sql/backends/monet5/Tests/cquery18.sql
+++ b/sql/backends/monet5/Tests/cquery18.sql
@@ -23,7 +23,7 @@ start continuous procedure cq_query18(1)
 
 pause continuous cq_query18; --error
 
-select "schema", "function", errors from cquery.status();
+select alias, errors from cquery.status();
 
 resume continuous cq_query18; --ok
 
@@ -35,7 +35,7 @@ call cquery.wait(3000);
 
 select aaa from testing18;
 
-select "schema", "function", "errors" from cquery.status();
+select alias, "errors" from cquery.status();
 
 drop procedure cq_query18;
 drop table testing18;
diff --git a/sql/backends/monet5/Tests/cquery18.stable.out 
b/sql/backends/monet5/Tests/cquery18.stable.out
--- a/sql/backends/monet5/Tests/cquery18.stable.out
+++ b/sql/backends/monet5/Tests/cquery18.stable.out
@@ -88,12 +88,12 @@ Ready.
 % real # type
 % 15 # length
 [ 1    ]
-#select "schema", "function", errors from cquery.status();
-% .L1, .L1,    .L1 # table_name
-% schema,      function,       errors # name
-% clob,        clob,   clob # type
-% 3,   10,     36 # length
-[ "sys",       "cq_query18",   "MALException:calc./:operation failed"  ]
+#select alias, errors from cquery.status();
+% .L1, .L1 # table_name
+% alias,       errors # name
+% clob,        clob # type
+% 10,  36 # length
+[ "cq_query18",        "MALException:calc./:operation failed"  ]
 #resume continuous cq_query18; --ok
 #stop continuous cq_query18; --ok
 #start continuous procedure cq_query18(2) with heartbeat 1000 cycles 2; --ok
@@ -105,11 +105,11 @@ Ready.
 [ 1    ]
 [ 0    ]
 [ 0    ]
-#select "schema", "function", errors from cquery.status();
-% .L1, .L1,    .L1 # table_name
-% schema,      function,       errors # name
-% clob,        clob,   clob # type
-% 0,   0,      0 # length
+#select alias, "errors" from cquery.status();
+% .L1, .L1 # table_name
+% alias,       errors # name
+% clob,        clob # type
+% 0,   0 # length
 #drop procedure cq_query18;
 #drop table testing18;
 
diff --git a/sql/backends/monet5/basket.mal b/sql/backends/monet5/basket.mal
--- a/sql/backends/monet5/basket.mal
+++ b/sql/backends/monet5/basket.mal
@@ -72,6 +72,10 @@ pattern reset(mvc:int,sch:str,tbl:str):i
 address BSKTreset
 comment "Remove a basket content";
 
+pattern error(sch:str,tbl:str,msg:str)
+address BSKTerror
+comment "Remember the error seen";
+
 pattern drop(mvc:int,sch:str,tbl:str):int
 address BSKTdrop
 comment "Remove the basket";
diff --git a/sql/backends/monet5/cquery.mal b/sql/backends/monet5/cquery.mal
--- a/sql/backends/monet5/cquery.mal
+++ b/sql/backends/monet5/cquery.mal
@@ -21,7 +21,7 @@ pattern wait(cnt:int)
 address CQwait
 comment "Sleep for some time";
 
-pattern cycles(mod:str, fcn:str,cnt:int)
+pattern cycles(alias:str,cnt:int)
 address CQcycles
 comment "Limit number of petrinet steps for a single continuous query";
 
@@ -29,7 +29,7 @@ pattern cycles(cnt:int)
 address CQcycles
 comment "Limit number of petrinet steps for all continuous queries";
 
-pattern beginat(mod:str, fcn:str,unixtime:lng)
+pattern beginat(alias:str,unixtime:lng)
 address CQbeginAt
 comment "Delay beginning of a continuous query, where unixtime is an UNIX 
timestamp with microsecond precision";
 
@@ -38,7 +38,7 @@ address CQbeginAt
 comment "Delay beginning of all continuous queries, where unixtime is an UNIX 
timestamp with microsecond precision";
 
 # scheduler heart beat for each CQ
-pattern heartbeat(mod:str, fcn:str,cnt:lng)
+pattern heartbeat(alias:str,cnt:lng)
 address CQheartbeat
 comment "Awake the query after cnt milliseconds";
 
@@ -46,20 +46,16 @@ pattern heartbeat(cnt:lng)
 address CQheartbeat
 comment "Awake all queries after cnt milliseconds";
 
-pattern error(sch:str, tbl:str, msg:str)
-address CQerror
-comment "Remember the error seen";
-
 # continuous query status analysis
-pattern status() 
(tick:bat[:timestamp],mod:bat[:str],fcn:bat[:str],alias:bat[:str],state:bat[:str],error:bat[:str])
+pattern status() 
(tick:bat[:timestamp],alias:bat[:str],state:bat[:str],error:bat[:str])
 address CQstatus
 comment "Status of all registered continuous queries";
 
-pattern log() 
(tick:bat[:timestamp],mod:bat[:str],fcn:bat[:str],alias:bat[:str],time:bat[:lng],error:bat[:str])
+pattern log() 
(tick:bat[:timestamp],alias:bat[:str],time:bat[:lng],error:bat[:str])
 address CQlog
 comment "The log of all CQ executions";
 
-pattern show(sch:str,fcn:str)
+pattern show(alias:str)
 address CQshow
 comment "Debug a single continuous query";
 
diff --git a/sql/backends/monet5/sql_basket.c b/sql/backends/monet5/sql_basket.c
--- a/sql/backends/monet5/sql_basket.c
+++ b/sql/backends/monet5/sql_basket.c
@@ -36,7 +36,7 @@
 #define _DEBUG_BASKET_ if(0)
 
 BasketRec *baskets;   /* the global timetrails catalog */
-int bsktTop = 0, bsktLimit = 0;
+static int bsktTop = 0, bsktLimit = 0;
 
 // locate the basket in the basket catalog
 int
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to