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
http://www.rectangular.com/

Reply via email to