incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <>
Subject Re: Problematic platforms
Date Wed, 21 Jun 2006 07:48:58 GMT

On Jun 20, 2006, at 11:44 PM, David Balmain wrote:

> If someone needs Lucy to work on one of those
> boxes, it will just be a simple matter of them supplying us with
> float2byte and byte2float methods.

And tests, which we won't be able to run ourselves.

>> I'm inclined to require both large file support and 64-bit integers
>> for Lucy.  What say?
> I'm not sure about large file support. You've looked into it more than
> I have but I do think 64 bit integers are a must.

I thought about replacing what would have been lucy_i64_t with  
lucy_off_t.  One problem is how to fail reliably.  I actually think  
we could pull it off without data corruption, since failure would  
first occur either when the compound file was written (and before the  
segments file gets altered), or at search-time, when the index first  
gets loaded.

However, I just didn't think it would be a common enough case that it  
was worth coding and testing special versions of write_vlong, etc.

> [aside:What I'm doing in Ferret is storing all file pointers as off_t.
> As well as read/write_vint methods I have read/write_voff_t. The only
> time I use 64-bit integers (ie always 64-bit unlike off_t which could
> be 32-bit) is when I need to write a fixed byte size pointer like in
> the fields and term_vectors index files. I've only just implemented
> this but it seems to be working.]

This is one of the main things we need Configurator for.  We need to  
figure out whether off_t is 32-bit or 64-bit.  We need to figure out  
whether the OS is supplying ftello64, whether ftello returns a 64-bit  
off_t, etc.

Marvin Humphrey
Rectangular Research

View raw message