Changeset: 8df700031602 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8df700031602
Modified Files:
monetdb5/modules/mal/batExtensions.mx
Branch: default
Log Message:
Add single to BAT conversion
diffs (46 lines):
diff --git a/monetdb5/modules/mal/batExtensions.mx
b/monetdb5/modules/mal/batExtensions.mx
--- a/monetdb5/modules/mal/batExtensions.mx
+++ b/monetdb5/modules/mal/batExtensions.mx
@@ -87,6 +87,9 @@
pattern bat.pack(h:any_1,t:any_2):bat[:any_1,:any_2]
address CMDbatpack
comment "Pack a pair of values into a BAT.";
+pattern bat.pack(v:any_1):bat[:oid,:any_1]
+address CMDbatsingleton
+comment "Create a BAT and store the value";
pattern bat.setBase(b:bat[:any_1,:any_2],c:bat[:any_1,:any_2]...):void
address CMDsetBase
@@ -131,6 +134,7 @@
be_export str CMDbatpartition(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
be_export str CMDbatpartition2(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
be_export str CMDbatpack(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
+be_export str CMDbatsingleton(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
be_export str CMDsetBase(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
@-
@@ -565,6 +569,24 @@
BBPkeepref(*ret);
return MAL_SUCCEED;
}
+str
+CMDbatsingleton(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+ int *ret = (int*) getArgReference(stk,pci,0);
+ BAT *b;
+ oid o = 0;
+ (void) cntxt;
+
+ b= BATnew(TYPE_oid, getArgType(mb,pci,1), BATTINY);
+ if ( b == NULL)
+ throw(MAL, "bat.pack", MAL_MALLOC_FAIL);
+ BATseqbase(b,o);
+ BUNins(b, &o, getArgReference(stk,pci,1), FALSE);
+
+ *ret = b->batCacheid;
+ BBPkeepref(*ret);
+ return MAL_SUCCEED;
+}
str
CMDsetBase(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list