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

Reply via email to