Changeset: a2ac2cbb0723 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a2ac2cbb0723
Modified Files:
gdk/gdk_group.c
Branch: Jul2021
Log Message:
Merge with Oct2020 branch.
diffs (43 lines):
diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c
--- a/gdk/gdk_group.c
+++ b/gdk/gdk_group.c
@@ -670,6 +670,8 @@ BATgroup_internal(BAT **groups, BAT **ex
maxgrp = g->tseqbase + BATcount(g);
else if (BATtordered(g))
maxgrp = * (oid *) Tloc(g, BATcount(g) - 1);
+ else if (BATtrevordered(g))
+ maxgrp = * (oid *) Tloc(g, 0);
else {
prop = BATgetprop(g, GDK_MAX_VALUE);
if (prop)
@@ -1118,15 +1120,21 @@ BATgroup_internal(BAT **groups, BAT **ex
} else {
nbucket = MAX(HASHmask(cnt), 1 << 16);
}
- switch (t) {
- case TYPE_bte:
- nbucket = 256;
- break;
- case TYPE_sht:
- nbucket = 65536;
- break;
- default:
- break;
+ if (grps == NULL || is_oid_nil(maxgrp)
+#if SIZEOF_OID == SIZEOF_LNG
+ || maxgrp >= ((oid) 1 << (SIZEOF_LNG * 8 - 8))
+#endif
+ ) {
+ switch (t) {
+ case TYPE_bte:
+ nbucket = 256;
+ break;
+ case TYPE_sht:
+ nbucket = 65536;
+ break;
+ default:
+ break;
+ }
}
if ((hs = GDKzalloc(sizeof(Hash))) == NULL ||
(hs->heaplink.farmid = BBPselectfarm(TRANSIENT, b->ttype,
hashheap)) < 0 ||
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list