Hallvard B Furuseth wrote:
What representation are you planning? My thoughts about it tend
towards
DER-inspired formats, something like this:
for values small enough to keep the exact value in the index:
<0x80 + sign*(#bytes needed)> <those bytes of 2's complement value>
for larger absoulte values:
same, but for the sake of speed read the value as hex, so we only
need read the first digits (skipping initial zeros).
for huge values, something like:
(value < 0 ? 0 : 255),
<0x8000... + sign*#length octets>
<sign*length...>
<initial part of two's complement value-as-hex>
(And if there is going to be a slapd.conf-option, that could just as
well be an option with the max index-key size.)
Too complicated?
I guess you're really describing something like floating-point representation,
except our exponents are always positive. That might be the better way to go.
--
-- Howard Chu
Chief Architect, Symas Corp.
http://www.symas.com
Director, Highland Sun
http://highlandsun.com/hyc/
Chief Architect, OpenLDAP
http://www.openldap.org/project/