Re: [Monetdb-developers] [Monetdb-pf-checkins] pathfinder/runtime shredder.mx, , 1.149, 1.150
Shouldn't this also be done on the stable branch? Jan Flokstra wrote:
Update of /cvsroot/monetdb/pathfinder/runtime In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv15280
Modified Files: shredder.mx Log Message: - Try to fix [ monetdb-Bugs-2141012 ] XQ: unclear error
U shredder.mx Index: shredder.mx =================================================================== RCS file: /cvsroot/monetdb/pathfinder/runtime/shredder.mx,v retrieving revision 1.149 retrieving revision 1.150 diff -u -d -r1.149 -r1.150 --- shredder.mx 11 Dec 2008 13:46:47 -0000 1.149 +++ shredder.mx 15 Dec 2008 13:27:08 -0000 1.150 @@ -601,6 +601,8 @@ return GDK_SUCCEED; }
+#define INHOLE(P) (P->pageFree && (P->nnode_pre&REMAP_PAGE_MASK) == ((oid)P->pageFree)) + #define _NEXT_PRE_IMP(P) if ((P->nnode_pre++ == GDK_oid_max || P->nnode_nid++ == GDK_oid_max) ||\ (P->pageFree && (P->nnode_pre&REMAP_PAGE_MASK) == ((oid)P->pageFree) && !createHole(P)))\ { GDKerror("shredder: failed inserting RID tuple " OIDFMT " \n", (P->nnode_pre-1)); @@ -1795,6 +1797,17 @@ break; } } + /* Now check if by coincedence the shredder starts in a not yet + * created hole. If soo a proper hole has to be created after + * which the document can start. + */ + if ( INHOLE(shredCtx) ) { + if ( !createHole(shredCtx) ) { + GDKerror("shredder_create: recover from starting in a hole fails!\n"); + return shredder_free(shredCtx,-shredCtx->updatable); + + } + } } if (shredCtx->nnode_pre <= pre_min) { shredCtx->nnode_pre = pre_min; @@ -1822,6 +1835,7 @@ if (shredCtx->val == NULL || shredCtx->content_buf == NULL || shredCtx->lifo == NULL) { return shredder_free(shredCtx,-shredCtx->incremental); } + return shredCtx; }
------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Monetdb-pf-checkins mailing list Monetdb-pf-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins
-- Sjoerd Mullender
participants (1)
-
Sjoerd Mullender