[Xapian-devel] GSoC xapian node binding thoughts
xapian at networkimprov.net
Wed May 30 23:34:53 BST 2012
On Tue, May 29, 2012 at 7:24 PM, Olly Betts <olly at survex.com> wrote:
> If you change sizeof(Xapian::docid) (and/or the sizes of other types)
> then that's an ABI change, so something built against xapian-core built
> with one docid size simply won't work with xapian-core built with a
> different docid size.
So what happens when our lib tries to load or invoke the incompatible
Xapian? Is it possible to prevent a crash?
> In what context are int64 doc ids necessary? What % of installations use
> > them?
> I doubt may people use them currently, quite possibly nobody does. But
> that's likely to change in the foreseeable future. We're probably near
> the point where you could conceivably build an index with this many
> documents on commodity hardware.
We can support more than 2^32 values by converting to double (JS type
Number) for 2^53. But beyond that the values stop converting correctly,
meaning we'd throw an overflow and the user would have to hack the binding
Marius can you make a note to treat docid as a Number instead of uint32,
and check the values from Xapian for overflow?
> Seriously, lazy-loading is oversold from what I've seen. If you have data
> > from real-world Xapian sites that shows a material advantage for it, I'd
> > love to read...
> Any site searching a large Xapian database is relying heavily on lazy
For an array, it's necessary, so we'll take start & count args when
building arrays. For objects, I question the value of lazy loading, save
for very large fields.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Xapian-devel