[Xapian-devel] Last minute feature for 1.0.0

Richard Boulton richard at lemurconsulting.com
Sat May 5 00:12:49 BST 2007


Richard Boulton wrote:
> Ah, no.  The problem is that pack_uint_last() is used for the lastdocid 
> value, instead of pack_uint(), so we don't know where the end of the 
> metadata record is.  If we made the tiny change to change 
> pack_uint_last() to pack_uint() in the set method (and the corresponding 
> change to the unpack methods), we'd be able to make the change without 
> breaking old databases.

Don't bite my head off, but I have one final request about this patch. 
Could we instead apply the minimal patch in attachment 79 (at
http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=79&action=view
) which simply changes the format used to store the lastdocid value from 
  pack_uint_last() to pack_uint(), (and changes the unpack code 
correspondingly).  This would allow the metadata patches to be applied 
in the 1.0 series without breaking existing databases, and is such a 
small patch that I think the chances of it introducing new bugs are 
pretty small.

Incidentally, I've undone the earlier patch in this direction (and put a 
copy of it in bug #143) to avoid risk of breaking 1.0.0.

Anyway, I'll shut up about this feature now.  I'll be around on-and-off 
this weekend, so will be continuing to work on blockers for 1.0.0 (but 
am going to bed shortly, so no more tonight).

-- 
Richard



More information about the Xapian-devel mailing list