[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    MonetDB: default - Create a hash on the parent bat (and use it) ...
From:       Sjoerd_Mullender <commits+sjoerd=acm.org () monetdb ! org>
Date:       2021-03-31 11:29:50
Message-ID: hg.98f9241a1823.1617190190.-32848301821088729 () monetdb-vm0 ! spin-off ! cwi ! nl
[Download RAW message or body]

Changeset: 98f9241a1823 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/98f9241a1823
Modified Files:
	gdk/gdk_select.c
Branch: default
Log Message:

Create a hash on the parent bat (and use it) if it is the same size as the view and \
it is persistent.


diffs (17 lines):

diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1333,6 +1333,13 @@ BATselect(BAT *b, BAT *s, const void *tl
 			(BATcount(tmp) == BATcount(b) ||
 			 BATcount(tmp) / tmp->thash->nheads * (ci.tpe != cand_dense ? ilog2(BATcount(s)) \
                : 1) < (s ? BATcount(s) : BATcount(b)) ||
 			 HASHget(tmp->thash, HASHprobe(tmp->thash, tl)) == HASHnil(tmp->thash));
+		/* create a hash on the parent bat (and use it) if it is
+		 * the same size as the view and it is persistent */
+		if (!phash &&
+		    !tmp->batTransient &&
+		    BATcount(tmp) == BATcount(b) &&
+		    BAThash(tmp) == GDK_SUCCEED)
+			hash = phash = true;
 	}
 
 	/* make sure tsorted and trevsorted flags are set */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic