Update of /cvsroot/monetdb/pathfinder/runtime
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv4825/runtime
Modified Files:
pf_support.mx
Log Message:
in merged_union:
in the rare(?) case that we need to merged two idential BATs that both have
(non-nil) void tails,
we might encounter the "concurrent void access problem";
hence, we avoid it, by replace one instance of the identical BAT by a view on
itself
(the new BATdescriptor allows "exclusive void access")
Index: pf_support.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pf_support.mx,v
retrieving revision 1.253
retrieving revision 1.254
diff -u -d -r1.253 -r1.254
--- pf_support.mx 25 Jul 2007 13:13:52 -0000 1.253
+++ pf_support.mx 25 Jul 2007 13:17:16 -0000 1.254
@@ -5063,7 +5063,7 @@
oid hsqb[ntabs];
size_t Bcnt[ntabs], inc[2];
int t, c, any, non_empty[ntabs+1];
- bit concat01 = FALSE, concat10 = FALSE;
+ bit concat01 = FALSE, concat10 = FALSE, void_fix = FALSE;
bte *w = NULL, *ww[2], *wt, *ws[2];
size_t res_count = 0, h = 0;
@@ -5255,6 +5255,10 @@
break;
@
@= merged_union_3
+ if ((void_fix = (src[0] == src[1] && src[0]->ttype==TYPE_void
&& src[1]->ttype==TYPE_void))) {
+ /* create an artifical view (i.e., new BATdescriptor)
to avoid concurrent void access problem */
+ src[0] = VIEWcreate(src[0]);
+ }
sze[0] = BUNsize(src[0]);
sze[1] = BUNsize(src[1]);
csr[0] = BUNfirst(src[0]);
@@ -5310,6 +5314,9 @@
BATkey(BATmirror(tgt),FALSE);
tgt->tsorted = GDK_SORTED;
tgt->tdense = FALSE;
+ if (void_fix) {
+ BBPunfix(src[0]->batCacheid);
+ }
@
@c
tgt = bn[0];
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins