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