Tweak split positions code to avoid any size bloat
commit585a17a0117c7d3e370ce49f4c1efbb16eddb596
authorOlly Betts <olly@survex.com>
Tue, 7 Aug 2018 22:46:23 +0000 (8 10:46 +1200)
committerOlly Betts <olly@survex.com>
Tue, 7 Aug 2018 22:46:23 +0000 (8 10:46 +1200)
tree82f1027e94322929099c6a52c45473edbbd75be1
parentbf6045da8c4dc17e21dd5caa2cecf8be72a56d7d
Tweak split positions code to avoid any size bloat

Make the split point an unsigned int instead of a size_t so the
structure is the same size as before this change.  It's possible
with 64-bit termpos for the split point to not be representable,
but only when there are more than 4 billion postings for the same
term in a single document, which isn't realistically going to
happen in non-pathological data.  If we can't store the split
point, we fall back to inserting into the vector like we did
before the split positions optimisation.
xapian-core/api/terminfo.cc
xapian-core/api/terminfo.h