On 5/12/11 9:45 AM, Rajesh Akkineni wrote:
> Hi,
>
> I was going trough the source of ApacheDS and trying to understand its
> functionality.
> I have the following question..along with some assumptions which I
> want to confirm.
>
> 1) Each Entry is saved as key-value pair where key is Long and value
> is serialized form of Entry. Is it correct?
Yes.
>
> 2) All attribute values are stored along with serialized entry as
> StringValue, BinayValue. Right?
Right.
>
> 3) Why these two Values save wrappedValues where they can only save
> normalziedValue?
because we have to return the value has the user provided it.
For instance, if you created an entry with a givename = Rasjesh, you
want to get it as 'Rajesh', not 'rajesh'
>
> 4) When do Normalizers get called? LDAP v3 RFC is not talking anything
> about normalization.
Normalizers are used because we need to compare values, and some AT are
case insensitive, or spaces aren't meaningful, so we have to 'normalize'
those values to ease the comparison task.
>
> 5) Numeric, Boolean values are stored as strings in store? If Yes,
> Why? Will it not be optimal to store them in more compact form?
The Boolean value is supposed o be TRUE or FALSE, nothing else (upper
case). Numeric values are not defined as bounded values.
In general, LDAP is about manipulating Strings, so such an optimization
would be totally useless.
>
> 6) Which syntaxes are stored as String and which are stored as Byte[]?
Human-readable (HR) values are stored as String, others are stored as
byte[]. HR ATs are defined in the RFC or by adding a ;binary option in
the attribute name. We default to String.
Hope it helps.
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com