Changeset: 803f276e9aa6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=803f276e9aa6
Modified Files:
gdk/gdk_group.c
Branch: Feb2013
Log Message:
assert backward linking of hash table wherever we exploit it
diffs (40 lines):
diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c
--- a/gdk/gdk_group.c
+++ b/gdk/gdk_group.c
@@ -106,6 +106,8 @@
hb != BUN_NONE && \
grps[hb - r] == grps[p - r]; \
hb = hs->link[hb]) { \
+ assert(hs->link[hb] == BUN_NONE \
+ || hs->link[hb] < hb); \
if (w[p] == w[hb]) { \
ngrps[p - r] = ngrps[hb - r]; \
if (histo) \
@@ -459,12 +461,17 @@ BATgroup_internal(BAT **groups, BAT **ex
* backwards through BAT */
for (hb = hs->hash[HASHprobe(hs, v)];
hb != BUN_NONE && hb >= p;
- hb = hs->link[hb])
+ hb = hs->link[hb]) {
+ assert(hs->link[hb] == BUN_NONE
+ || hs->link[hb] < hb);
+ }
;
if (gc) {
for (;
hb != BUN_NONE && grps[hb - r] == grps[p -
r];
hb = hs->link[hb]) {
+ assert(hs->link[hb] == BUN_NONE
+ || hs->link[hb] < hb);
if (cmp(v, BUNtail(bi, hb)) == 0) {
ngrps[p - r] = ngrps[hb - r];
if (histo)
@@ -582,6 +589,8 @@ BATgroup_internal(BAT **groups, BAT **ex
for (hb = hs->hash[prb];
hb != BUN_NONE && grps[hb - r] ==
grps[p - r];
hb = hs->link[hb]) {
+ assert(hs->link[hb] == BUN_NONE
+ || hs->link[hb] < hb);
if (cmp(v, BUNtail(bi, hb)) ==
0) {
ngrps[p - r] = ngrps[hb
- r];
if (histo)
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list