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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list