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/