[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: schema length specifier (noidlen)

At 12:03 PM 2001-10-08, Dan Shriver wrote:
>     On defining schemas I was wondering about the attribute
>length specifier noidlen.  It seems obvious for cis and ces
>types (max length in characters of the "string") but does it
>have meaning for other types and if so what (on binary types
>would it be number of bytes? on int would it be number of
>digits?).  Also I am confused about performance questions
>associated with it.  If one does not specify it what is the
>maximum size for the atribute- likewise are all fields not
>specified an array of max-default size or are they trimmed to
>fit the data?  Also if you specify the size (just like with none
>given) are all attributes an array of that size or is it trimmed
>to fit?

Please note the RFC 2252 description of the length (len) portion
of the noidlen field:
   A suggested minimum upper bound on the number of characters in value
   with a string-based syntax, or the number of bytes in a value for all
   other syntaxes, may be indicated by appending this bound count inside
   of curly braces following the syntax name's OBJECT IDENTIFIER in an
   Attribute Type Description.  This bound is not part of the syntax
   name itself.  For instance, "{64}" suggests that
   server implementations should allow a string to be 64 characters
   long, although they may allow longer strings.  Note that a single
   character of the Directory String syntax may be encoded in more than
   one byte since UTF-8 is a variable-length encoding.

That is, the len portion is NOT a length constraint.

In regards to suggested minimum upper bounds, OpenLDAP does not
place any upper bound on the size of attribute values.  The value
of len portion of the noidlen field does not have any impact upon
the behavior of OpenLDAP.