Changeset: 96ef0096a04e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=96ef0096a04e
Modified Files:
        sql/backends/monet5/iot/basket.c
        sql/backends/monet5/iot/basket.h
        sql/backends/monet5/iot/iot.c
Branch: iot
Log Message:

Add missing routine implementation


diffs (77 lines):

diff --git a/sql/backends/monet5/iot/basket.c b/sql/backends/monet5/iot/basket.c
--- a/sql/backends/monet5/iot/basket.c
+++ b/sql/backends/monet5/iot/basket.c
@@ -751,6 +751,48 @@ BSKTcommit(Client cntxt, MalBlkPtr mb, M
        return MAL_SUCCEED;
 }
 
+static str
+BSKTerrorInternal(bat *ret, str sname, str tname, str err)
+{
+       int idx;
+       idx = BSKTlocate(sname,tname);
+       if( idx == 0)
+               throw(SQL,"basket.error","Stream table %s.%s not accessible for 
commit\n",sname,tname);
+
+       if( baskets[idx].errors == NULL)
+               baskets[idx].errors = BATnew(TYPE_void, TYPE_str, 0, TRANSIENT);
+               
+       if( baskets[idx].errors == NULL)
+               throw(SQL,"basket.error",MAL_MALLOC_FAIL);
+
+       BUNappend(baskets[idx].errors, err, FALSE);
+       
+       BBPkeepref(*ret = baskets[idx].errors->batCacheid);
+       return MAL_SUCCEED;
+}
+
+str
+BSKTerror(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+       bat *ret  = getArgReference_bat(stk,pci,0);
+    str sname = *getArgReference_str(stk, pci, 1);
+    str tname = *getArgReference_str(stk, pci, 2);
+    str err = *getArgReference_str(stk, pci, 3);
+       int idx;
+       str msg = MAL_SUCCEED;
+       (void) cntxt;
+       (void) mb;
+
+       idx = BSKTlocate(sname,tname);
+       if( idx == 0)
+               throw(SQL,"basket.error","Stream table %s.%s not accessible for 
commit\n",sname,tname);
+
+       MT_lock_set(&iotLock);
+       msg = BSKTerrorInternal(ret,sname,tname,err);
+       MT_lock_unset(&iotLock);
+       return msg;
+}
+
 str
 BSKTupdate (Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
diff --git a/sql/backends/monet5/iot/basket.h b/sql/backends/monet5/iot/basket.h
--- a/sql/backends/monet5/iot/basket.h
+++ b/sql/backends/monet5/iot/basket.h
@@ -98,5 +98,6 @@ iot_export str BSKTclear(Client cntxt, M
 iot_export str BSKTcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 iot_export str BSKTpushBasket(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 iot_export str BSKTupdate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+iot_export str BSKTerror(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 
 #endif
diff --git a/sql/backends/monet5/iot/iot.c b/sql/backends/monet5/iot/iot.c
--- a/sql/backends/monet5/iot/iot.c
+++ b/sql/backends/monet5/iot/iot.c
@@ -185,11 +185,3 @@ IOTcycles(Client cntxt, MalBlkPtr mb, Ma
 {
        return PNcycles(cntxt,mb,stk,pci);
 }
-
-str
-BSKTerror(void *ret, str *sch, str *fcn, str *msg)
-{
-       (void) ret;
-       _DEBUG_IOT_ mnstr_printf(IOTout,"#IOTerror: %s.%s:%s\n",*sch, 
*fcn,*msg);
-       return MAL_SUCCEED;
-}
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to