Changeset: 18dd585f8710 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=18dd585f8710
Modified Files:
sql/backends/monet5/51_basket.mal
sql/backends/monet5/Tests/basket00.malC
sql/backends/monet5/sql_basket.c
sql/backends/monet5/sql_basket.h
Branch: timetrails
Log Message:
Sync
diffs (112 lines):
diff --git a/sql/backends/monet5/51_basket.mal
b/sql/backends/monet5/51_basket.mal
--- a/sql/backends/monet5/51_basket.mal
+++ b/sql/backends/monet5/51_basket.mal
@@ -17,6 +17,11 @@
module basket;
+pattern register(mvc:int,sch:str,tbl:str,role:int):int
+address BSKTregister
+comment "Initialize a new basket based on a specific table definition.
+roles:input =0, output=2";
+
pattern tid(mvc:int,sch:str,tbl:str):bat[:oid]
address BSKTtid
comment "Collect the candidates for a basket";
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,1 +1,4 @@
#simple test for basket management
+
+(seen:bat[:timestamp],sch:bat[:str],tbl:bat[:str],events:bat[:int],cycles:bat[:int],
error:bat[:str]):= baskets.status();
+io.print(seen],sch,tbl,events,cycles,error);
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
@@ -163,7 +163,7 @@ BSKTnewbasket(mvc *m, sql_schema *s, sql
// MAL/SQL interface for registration of a single table
static str
-BSKTregister(Client cntxt, MalBlkPtr mb, str sch, str tbl)
+BSKTregisterInternal(Client cntxt, MalBlkPtr mb, str sch, str tbl)
{
sql_schema *s;
sql_table *t;
@@ -192,6 +192,20 @@ BSKTregister(Client cntxt, MalBlkPtr mb,
}
str
+BSKTregister(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+ str sch, tbl;
+ str msg= MAL_SUCCEED;
+
+ (void) stk;
+ (void) pci;
+ sch = getVarConstant(mb, getArg(pci,2)).val.sval;
+ tbl = getVarConstant(mb, getArg(pci,3)).val.sval;
+ msg = BSKTregisterInternal(cntxt,mb,sch,tbl);
+ return msg;
+}
+
+str
BSKTsetwindow(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
str sch = *getArgReference_str(stk,pci,1);
@@ -205,7 +219,7 @@ BSKTsetwindow(Client cntxt, MalBlkPtr mb
(void) mb;
idx = BSKTlocate(sch, tbl);
if( idx == 0){
- msg= BSKTregister(cntxt, mb, sch, tbl);
+ msg= BSKTregisterInternal(cntxt, mb, sch, tbl);
if( msg != MAL_SUCCEED)
return msg;
idx = BSKTlocate(sch, tbl);
@@ -232,7 +246,7 @@ BSKTkeep(Client cntxt, MalBlkPtr mb, Mal
(void) mb;
idx = BSKTlocate(sch, tbl);
if( idx == 0){
- msg= BSKTregister(cntxt, mb, sch, tbl);
+ msg= BSKTregisterInternal(cntxt, mb, sch, tbl);
if( msg != MAL_SUCCEED)
return msg;
idx = BSKTlocate(sch, tbl);
@@ -256,7 +270,7 @@ BSKTrelease(Client cntxt, MalBlkPtr mb,
(void) mb;
idx = BSKTlocate(sch, tbl);
if( idx == 0){
- msg= BSKTregister(cntxt, mb, sch, tbl);
+ msg= BSKTregisterInternal(cntxt, mb, sch, tbl);
if( msg != MAL_SUCCEED)
return msg;
idx = BSKTlocate(sch, tbl);
@@ -326,7 +340,7 @@ BSKTbind(Client cntxt, MalBlkPtr mb, Mal
str msg= MAL_SUCCEED;
// first add the basket to the catalog
- msg = BSKTregister(cntxt,mb,sch,tbl);
+ msg = BSKTregisterInternal(cntxt,mb,sch,tbl);
if( msg)
return msg;
@@ -460,7 +474,7 @@ BSKTtumble(Client cntxt, MalBlkPtr mb, M
idx = BSKTlocate(sch, tbl);
if( idx == 0){
- msg = BSKTregister(cntxt, mb, sch, tbl);
+ msg = BSKTregisterInternal(cntxt, mb, sch, tbl);
if( msg != MAL_SUCCEED)
return msg;
idx = BSKTlocate(sch, tbl);
diff --git a/sql/backends/monet5/sql_basket.h b/sql/backends/monet5/sql_basket.h
--- a/sql/backends/monet5/sql_basket.h
+++ b/sql/backends/monet5/sql_basket.h
@@ -49,6 +49,7 @@ typedef struct{
MT_Id pid;
} *Basket, BasketRec;
+sql5_export str BSKTregister(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
sql5_export str BSKTtid(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
sql5_export str BSKTbind(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list