Changeset: 41cc8fa13158 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=41cc8fa13158
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk_search.c
monetdb5/modules/mal/Tests/inspect05.stable.out.int128
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/orderidx.h
monetdb5/modules/mal/orderidx.mal
Branch: leftmart
Log Message:
Reinstate bat.getorderindex so tests orderidx0? can run.
diffs (249 lines):
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -31213,6 +31213,10 @@ command bat.delete(b:bat[:oid,:any_1],sr
address BKCdelete_bat_bun;
comment Delete from the first BAT all BUNs with a corresponding BUN in
the second.
+pattern bat.getorderidx(bv:bat[:oid,:any_1]):bat[:oid,:oid]
+address OIDXgetorderidx;
+comment Return the order index if it exists
+
command bat.getName(b:bat[:oid,:any_1]):str
address BKCgetBBPname;
comment Gives back the logical name of a BAT.
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -40254,6 +40254,10 @@ command bat.delete(b:bat[:oid,:any_1],sr
address BKCdelete_bat_bun;
comment Delete from the first BAT all BUNs with a corresponding BUN in
the second.
+pattern bat.getorderidx(bv:bat[:oid,:any_1]):bat[:oid,:oid]
+address OIDXgetorderidx;
+comment Return the order index if it exists
+
command bat.getName(b:bat[:oid,:any_1]):str
address BKCgetBBPname;
comment Gives back the logical name of a BAT.
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1563,6 +1563,7 @@ str MTIMEunix_epoch(timestamp *ret);
str OIDXcreate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str OIDXcreateImplementation(Client cntxt, int tpe, BAT *b, int pieces);
str OIDXdropImplementation(Client cntxt, BAT *b);
+str OIDXgetorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str OIDXhasorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str OIDXmerge(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
void OPTaliasRemap(InstrPtr p, int *alias);
diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -1051,11 +1051,11 @@ bailout:
do { \
__cur = __min; \
if (left_child(__cur) < n_ar && \
- minhp[left_child(__cur)] < minhp[(__min)]) { \
+ minhp[left_child(__cur)] < minhp[__min]) { \
__min = left_child(__cur); \
} \
if (right_child(__cur) < n_ar && \
- minhp[right_child(__cur)] < minhp[(__min)]) { \
+ minhp[right_child(__cur)] < minhp[__min]) { \
__min = right_child(__cur); \
} \
if (__min != __cur) { \
diff --git a/monetdb5/modules/mal/Tests/inspect05.stable.out.int128
b/monetdb5/modules/mal/Tests/inspect05.stable.out.int128
--- a/monetdb5/modules/mal/Tests/inspect05.stable.out.int128
+++ b/monetdb5/modules/mal/Tests/inspect05.stable.out.int128
@@ -47,71 +47,72 @@ end user.main;
[ 6@0, "delete", "command", "bat",
"(b:bat[:oid,:any_1]):bat[:oid,:any_1] ", "BKCdelete_all;" ]
[ 7@0, "delete", "command", "bat",
"(b:bat[:oid,:any_1],h:oid):bat[:oid,:any_1] ", "BKCdelete;" ]
[ 8@0, "densebat", "command", "bat",
"(b:bat[:oid,:any_1],src:bat[:oid,:any_1]):bat[:oid,:any_1] ",
"BKCdelete_bat_bun;" ]
-[ 9@0, "getAccess", "command", "bat", "(b:bat[:oid,:any_1]):str ",
"BKCgetBBPname;" ]
-[ 10@0, "getCapacity", "command", "bat",
"(b:bat[:oid,:any_1]):oid ", "BKCgetSequenceBase;" ]
-[ 11@0, "getColumnType", "command", "bat",
"(b:bat[:oid,:any_1]):str ", "BKCgetAccess;" ]
-[ 12@0, "getName", "command", "bat",
"(bid:bat[:oid,:any_1]):str ", "BKCgetRole;" ]
-[ 13@0, "getRole", "command", "bat",
"(b:bat[:oid,:any_1]):str ", "BKCgetColumnType;" ]
-[ 14@0, "getSequenceBase", "command", "bat",
"(b:bat[:oid,:any_1]):lng ", "BKCgetCapacity;" ]
-[ 15@0, "getSize", "command", "bat",
"(b:bat[:oid,:any_1]):lng ", "BKCgetSize;" ]
-[ 16@0, "hasorderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1]):bat[:oid,:oid] ", "OIDXhasorderidx;" ]
-[ 17@0, "imprints", "command", "bat", "(b:bat[:oid,:hge]):lng
", "CMDBATimprintsize;" ]
-[ 18@0, "imprints", "command", "bat",
"(b:bat[:oid,:hge]):void ", "CMDBATimprints;" ]
-[ 19@0, "imprints", "command", "bat", "(b:bat[:oid,:dbl]):lng
", "CMDBATimprintsize;" ]
-[ 20@0, "imprints", "command", "bat", "(b:bat[:oid,:flt]):lng
", "CMDBATimprintsize;" ]
-[ 21@0, "imprints", "command", "bat", "(b:bat[:oid,:lng]):lng
", "CMDBATimprintsize;" ]
-[ 22@0, "imprints", "command", "bat", "(b:bat[:oid,:int]):lng
", "CMDBATimprintsize;" ]
-[ 23@0, "imprints", "command", "bat", "(b:bat[:oid,:sht]):lng
", "CMDBATimprintsize;" ]
-[ 24@0, "imprintsize", "command", "bat", "(b:bat[:oid,:bte]):lng
", "CMDBATimprintsize;" ]
-[ 25@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:dbl]):void ", "CMDBATimprints;" ]
-[ 26@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:flt]):void ", "CMDBATimprints;" ]
-[ 27@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:lng]):void ", "CMDBATimprints;" ]
-[ 28@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:int]):void ", "CMDBATimprints;" ]
-[ 29@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:sht]):void ", "CMDBATimprints;" ]
-[ 30@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:bte]):void ", "CMDBATimprints;" ]
-[ 31@0, "info", "command", "bat",
"(a:bat[:oid,:oid],b:bat[:oid,:oid]):bat[:oid,:oid] ", "BKCintersectcand;" ]
-[ 32@0, "intersectcand", "command", "bat",
"(b1:bat[:oid,:any_1],b2:bat[:oid,:any_2]):bit ", "BKCisSynced;" ]
-[ 33@0, "isPersistent", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisPersistent;" ]
-[ 34@0, "isSorted", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisTransient;" ]
-[ 35@0, "isSortedReverse", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisSortedReverse;" ]
-[ 36@0, "isSynced", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisSorted;" ]
-[ 37@0, "isTransient", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCgetKey;" ]
-[ 38@0, "isaKey", "command", "bat", "(b:bat[:oid,:any_1])
(X_2:bat[:oid,:str],X_3:bat[:oid,:str]) ", "BKCinfo;" ]
-[ 39@0, "mergecand", "command", "bat",
"(a:bat[:oid,:oid],b:bat[:oid,:oid]):bat[:oid,:oid] ", "BKCmergecand;" ]
-[ 40@0, "mirror", "command", "bat",
"(b:bat[:oid,:any_2]):bat[:oid,:oid] ", "BKCmirror;" ]
-[ 41@0, "new", "command", "bat", "(nme:str):bat[:oid,:any_1] ",
"CMDBATderivedByName;" ]
-[ 42@0, "new", "pattern", "bat",
"(b:bat[:oid,:any_1],size:lng):bat[:oid,:any_1] ", "CMDBATnewDerived;" ]
-[ 43@0, "new", "pattern", "bat",
"(b:bat[:oid,:any_1]):bat[:oid,:any_1] ", "CMDBATnewDerived;" ]
-[ 44@0, "new", "pattern", "bat",
"(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] ", "CMDBATnew_persistent;" ]
-[ 45@0, "new", "pattern", "bat",
"(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] ", "CMDBATnew_persistent;" ]
-[ 46@0, "new", "pattern", "bat",
"(ht:oid,tt:any_1):bat[:oid,:any_1] ", "CMDBATnew_persistent;" ]
-[ 47@0, "new_persistent", "pattern", "bat",
"(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] ", "CMDBATnew;" ]
-[ 48@0, "new_persistent", "pattern", "bat",
"(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] ", "CMDBATnew;" ]
-[ 49@0, "new_persistent", "pattern", "bat",
"(ht:oid,tt:any_1):bat[:oid,:any_1] ", "CMDBATnew;" ]
-[ 50@0, "orderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1],l:bat[:oid,:oid]...):void ", "OIDXmerge;" ]
-[ 51@0, "orderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1],pieces:int):void ", "OIDXcreate;" ]
-[ 52@0, "orderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1]):void ", "OIDXcreate;" ]
-[ 53@0, "partition", "pattern", "bat",
"(b:bat[:oid,:any_1],pieces:int,n:int):bat[:oid,:any_1] ",
"CMDBATpartition2;" ]
-[ 54@0, "partition", "pattern", "bat",
"(b:bat[:oid,:any_1]):bat[:oid,:any_1]... ", "CMDBATpartition;" ]
-[ 55@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],del:bat[:oid,:oid]):bat[:oid,:oid] ",
"BKCreuseBATmap;" ]
-[ 56@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],del:bat[:oid,:oid]):bat[:oid,:any_1] ", "BKCreuseBAT;"
]
-[ 57@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],rid:bat[:oid,:oid],val:bat[:oid,:any_1],force:bit):bat[:oid,:any_1]
", "BKCbat_inplace_force;" ]
-[ 58@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],rid:bat[:oid,:oid],val:bat[:oid,:any_1]):bat[:oid,:any_1]
", "BKCbat_inplace;" ]
-[ 59@0, "reuse", "command", "bat",
"(b:bat[:oid,:any_1],h:oid,t:any_1,force:bit):bat[:oid,:any_1] ",
"BKCbun_inplace_force;" ]
-[ 60@0, "reuseMap", "command", "bat",
"(b:bat[:oid,:any_1],h:oid,t:any_1):bat[:oid,:any_1] ", "BKCbun_inplace;" ]
-[ 61@0, "save", "pattern", "bat", "(val:any_1):bat[:oid,:any_1]
", "CMDBATsingle;" ]
-[ 62@0, "save", "command", "bat", "(b:bat[:oid,:any_1]):bit ",
"BKCsetImprints;" ]
-[ 63@0, "setAccess", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCsetHash;" ]
-[ 64@0, "setColumn", "command", "bat", "(nme:str):bit ",
"BKCsave;" ]
-[ 65@0, "setColumn", "command", "bat",
"(nme:bat[:oid,:any_1]):void ", "BKCsave2;" ]
-[ 66@0, "setHash", "command", "bat",
"(b:bat[:oid,:any_1]):void ", "BKCsetPersistent;" ]
-[ 67@0, "setImprints", "command", "bat",
"(b:bat[:oid,:any_1]):void ", "BKCsetTransient;" ]
-[ 68@0, "setKey", "command", "bat",
"(b:bat[:oid,:any_1],h:str,t:str):void ", "BKCsetColumns;" ]
-[ 69@0, "setName", "command", "bat",
"(b:bat[:oid,:any_1],t:str):void ", "BKCsetColumn;" ]
-[ 70@0, "setPersistent", "command", "bat",
"(b:bat[:oid,:any_1],h:str,t:str):void ", "BKCsetRole;" ]
-[ 71@0, "setRole", "command", "bat",
"(b:bat[:oid,:any_1],s:str):void ", "BKCsetName;" ]
-[ 72@0, "setTransient", "command", "bat",
"(b:bat[:oid,:any_1],mode:str):bat[:oid,:any_1] ", "BKCsetAccess;" ]
-[ 73@0, "single", "command", "bat",
"(b:bat[:oid,:any_1],mode:bit):bat[:oid,:any_1] ", "BKCsetkey;" ]
+[ 9@0, "getAccess", "pattern", "bat",
"(bv:bat[:oid,:any_1]):bat[:oid,:oid] ", "OIDXgetorderidx;" ]
+[ 10@0, "getCapacity", "command", "bat",
"(b:bat[:oid,:any_1]):str ", "BKCgetBBPname;" ]
+[ 11@0, "getColumnType", "command", "bat",
"(b:bat[:oid,:any_1]):oid ", "BKCgetSequenceBase;" ]
+[ 12@0, "getName", "command", "bat",
"(b:bat[:oid,:any_1]):str ", "BKCgetAccess;" ]
+[ 13@0, "getRole", "command", "bat",
"(bid:bat[:oid,:any_1]):str ", "BKCgetRole;" ]
+[ 14@0, "getSequenceBase", "command", "bat",
"(b:bat[:oid,:any_1]):str ", "BKCgetColumnType;" ]
+[ 15@0, "getSize", "command", "bat",
"(b:bat[:oid,:any_1]):lng ", "BKCgetCapacity;" ]
+[ 16@0, "getorderidx", "command", "bat",
"(b:bat[:oid,:any_1]):lng ", "BKCgetSize;" ]
+[ 17@0, "hasorderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1]):bit ", "OIDXhasorderidx;" ]
+[ 18@0, "imprints", "command", "bat", "(b:bat[:oid,:hge]):lng
", "CMDBATimprintsize;" ]
+[ 19@0, "imprints", "command", "bat",
"(b:bat[:oid,:hge]):void ", "CMDBATimprints;" ]
+[ 20@0, "imprints", "command", "bat", "(b:bat[:oid,:dbl]):lng
", "CMDBATimprintsize;" ]
+[ 21@0, "imprints", "command", "bat", "(b:bat[:oid,:flt]):lng
", "CMDBATimprintsize;" ]
+[ 22@0, "imprints", "command", "bat", "(b:bat[:oid,:lng]):lng
", "CMDBATimprintsize;" ]
+[ 23@0, "imprints", "command", "bat", "(b:bat[:oid,:int]):lng
", "CMDBATimprintsize;" ]
+[ 24@0, "imprints", "command", "bat", "(b:bat[:oid,:sht]):lng
", "CMDBATimprintsize;" ]
+[ 25@0, "imprintsize", "command", "bat", "(b:bat[:oid,:bte]):lng
", "CMDBATimprintsize;" ]
+[ 26@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:dbl]):void ", "CMDBATimprints;" ]
+[ 27@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:flt]):void ", "CMDBATimprints;" ]
+[ 28@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:lng]):void ", "CMDBATimprints;" ]
+[ 29@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:int]):void ", "CMDBATimprints;" ]
+[ 30@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:sht]):void ", "CMDBATimprints;" ]
+[ 31@0, "imprintsize", "command", "bat",
"(b:bat[:oid,:bte]):void ", "CMDBATimprints;" ]
+[ 32@0, "info", "command", "bat",
"(a:bat[:oid,:oid],b:bat[:oid,:oid]):bat[:oid,:oid] ", "BKCintersectcand;" ]
+[ 33@0, "intersectcand", "command", "bat",
"(b1:bat[:oid,:any_1],b2:bat[:oid,:any_2]):bit ", "BKCisSynced;" ]
+[ 34@0, "isPersistent", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisPersistent;" ]
+[ 35@0, "isSorted", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisTransient;" ]
+[ 36@0, "isSortedReverse", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisSortedReverse;" ]
+[ 37@0, "isSynced", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCisSorted;" ]
+[ 38@0, "isTransient", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCgetKey;" ]
+[ 39@0, "isaKey", "command", "bat", "(b:bat[:oid,:any_1])
(X_2:bat[:oid,:str],X_3:bat[:oid,:str]) ", "BKCinfo;" ]
+[ 40@0, "mergecand", "command", "bat",
"(a:bat[:oid,:oid],b:bat[:oid,:oid]):bat[:oid,:oid] ", "BKCmergecand;" ]
+[ 41@0, "mirror", "command", "bat",
"(b:bat[:oid,:any_2]):bat[:oid,:oid] ", "BKCmirror;" ]
+[ 42@0, "new", "command", "bat", "(nme:str):bat[:oid,:any_1] ",
"CMDBATderivedByName;" ]
+[ 43@0, "new", "pattern", "bat",
"(b:bat[:oid,:any_1],size:lng):bat[:oid,:any_1] ", "CMDBATnewDerived;" ]
+[ 44@0, "new", "pattern", "bat",
"(b:bat[:oid,:any_1]):bat[:oid,:any_1] ", "CMDBATnewDerived;" ]
+[ 45@0, "new", "pattern", "bat",
"(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] ", "CMDBATnew_persistent;" ]
+[ 46@0, "new", "pattern", "bat",
"(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] ", "CMDBATnew_persistent;" ]
+[ 47@0, "new", "pattern", "bat",
"(ht:oid,tt:any_1):bat[:oid,:any_1] ", "CMDBATnew_persistent;" ]
+[ 48@0, "new_persistent", "pattern", "bat",
"(ht:oid,tt:any_1,size:lng):bat[:oid,:any_1] ", "CMDBATnew;" ]
+[ 49@0, "new_persistent", "pattern", "bat",
"(ht:oid,tt:any_1,size:int):bat[:oid,:any_1] ", "CMDBATnew;" ]
+[ 50@0, "new_persistent", "pattern", "bat",
"(ht:oid,tt:any_1):bat[:oid,:any_1] ", "CMDBATnew;" ]
+[ 51@0, "orderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1],l:bat[:oid,:oid]...):void ", "OIDXmerge;" ]
+[ 52@0, "orderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1],pieces:int):void ", "OIDXcreate;" ]
+[ 53@0, "orderidx", "pattern", "bat",
"(bv:bat[:oid,:any_1]):void ", "OIDXcreate;" ]
+[ 54@0, "partition", "pattern", "bat",
"(b:bat[:oid,:any_1],pieces:int,n:int):bat[:oid,:any_1] ",
"CMDBATpartition2;" ]
+[ 55@0, "partition", "pattern", "bat",
"(b:bat[:oid,:any_1]):bat[:oid,:any_1]... ", "CMDBATpartition;" ]
+[ 56@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],del:bat[:oid,:oid]):bat[:oid,:oid] ",
"BKCreuseBATmap;" ]
+[ 57@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],del:bat[:oid,:oid]):bat[:oid,:any_1] ", "BKCreuseBAT;"
]
+[ 58@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],rid:bat[:oid,:oid],val:bat[:oid,:any_1],force:bit):bat[:oid,:any_1]
", "BKCbat_inplace_force;" ]
+[ 59@0, "replace", "command", "bat",
"(b:bat[:oid,:any_1],rid:bat[:oid,:oid],val:bat[:oid,:any_1]):bat[:oid,:any_1]
", "BKCbat_inplace;" ]
+[ 60@0, "reuse", "command", "bat",
"(b:bat[:oid,:any_1],h:oid,t:any_1,force:bit):bat[:oid,:any_1] ",
"BKCbun_inplace_force;" ]
+[ 61@0, "reuseMap", "command", "bat",
"(b:bat[:oid,:any_1],h:oid,t:any_1):bat[:oid,:any_1] ", "BKCbun_inplace;" ]
+[ 62@0, "save", "pattern", "bat", "(val:any_1):bat[:oid,:any_1]
", "CMDBATsingle;" ]
+[ 63@0, "save", "command", "bat", "(b:bat[:oid,:any_1]):bit ",
"BKCsetImprints;" ]
+[ 64@0, "setAccess", "command", "bat",
"(b:bat[:oid,:any_1]):bit ", "BKCsetHash;" ]
+[ 65@0, "setColumn", "command", "bat", "(nme:str):bit ",
"BKCsave;" ]
+[ 66@0, "setColumn", "command", "bat",
"(nme:bat[:oid,:any_1]):void ", "BKCsave2;" ]
+[ 67@0, "setHash", "command", "bat",
"(b:bat[:oid,:any_1]):void ", "BKCsetPersistent;" ]
+[ 68@0, "setImprints", "command", "bat",
"(b:bat[:oid,:any_1]):void ", "BKCsetTransient;" ]
+[ 69@0, "setKey", "command", "bat",
"(b:bat[:oid,:any_1],h:str,t:str):void ", "BKCsetColumns;" ]
+[ 70@0, "setName", "command", "bat",
"(b:bat[:oid,:any_1],t:str):void ", "BKCsetColumn;" ]
+[ 71@0, "setPersistent", "command", "bat",
"(b:bat[:oid,:any_1],h:str,t:str):void ", "BKCsetRole;" ]
+[ 72@0, "setRole", "command", "bat",
"(b:bat[:oid,:any_1],s:str):void ", "BKCsetName;" ]
+[ 73@0, "setTransient", "command", "bat",
"(b:bat[:oid,:any_1],mode:str):bat[:oid,:any_1] ", "BKCsetAccess;" ]
+[ 74@0, "single", "command", "bat",
"(b:bat[:oid,:any_1],mode:bit):bat[:oid,:any_1] ", "BKCsetkey;" ]
# 08:55:30 >
# 08:55:30 > Done.
diff --git a/monetdb5/modules/mal/orderidx.c b/monetdb5/modules/mal/orderidx.c
--- a/monetdb5/modules/mal/orderidx.c
+++ b/monetdb5/modules/mal/orderidx.c
@@ -187,7 +187,6 @@ OIDXhasorderidx(Client cntxt, MalBlkPtr
return MAL_SUCCEED;
}
-#if 0
str
OIDXgetorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
@@ -212,7 +211,7 @@ OIDXgetorderidx(Client cntxt, MalBlkPtr
BBPunfix(b->batCacheid);
throw(MAL, "bat.getorderidx", MAL_MALLOC_FAIL);
}
- memcpy(Tloc(bn, BUNfirst(bn)), b->torderidx->base, BATcount(b) *
sizeof(oid));
+ memcpy(Tloc(bn, BUNfirst(bn)), (const oid *) b->torderidx->base +
ORDERIDXOFF, BATcount(b) * sizeof(oid));
BATsetcount(bn, BATcount(b));
BATseqbase(bn, 0);
bn->tkey = 1;
@@ -224,7 +223,6 @@ OIDXgetorderidx(Client cntxt, MalBlkPtr
BBPunfix(b->batCacheid);
return MAL_SUCCEED;
}
-#endif
/*
* Merge the collection of sorted OID BATs into one
diff --git a/monetdb5/modules/mal/orderidx.h b/monetdb5/modules/mal/orderidx.h
--- a/monetdb5/modules/mal/orderidx.h
+++ b/monetdb5/modules/mal/orderidx.h
@@ -31,5 +31,5 @@ orderidx_export str OIDXcreateImplementa
orderidx_export str OIDXdropImplementation(Client cntxt, BAT *b);
orderidx_export str OIDXmerge(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
orderidx_export str OIDXhasorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-/* orderidx_export str OIDXgetorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci); */
+orderidx_export str OIDXgetorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
#endif /* _OIDX_H */
diff --git a/monetdb5/modules/mal/orderidx.mal
b/monetdb5/modules/mal/orderidx.mal
--- a/monetdb5/modules/mal/orderidx.mal
+++ b/monetdb5/modules/mal/orderidx.mal
@@ -14,6 +14,10 @@ pattern bat.hasorderidx(bv:bat[:oid,:any
address OIDXhasorderidx
comment "Return true if order index exists";
+pattern bat.getorderidx(bv:bat[:oid,:any_1]):bat[:oid,:oid]
+address OIDXgetorderidx
+comment "Return the order index if it exists";
+
function algebra.orderidx(bv:bat[:oid,:any_1], reverse:bit, stable:bit
):bat[:oid,:oid];
(v,o):= algebra.subsort(bv,reverse,stable);
return sortorder:= o;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list