3.3 Composite Attributes

Some attributes use a syntax that contains multiple data fields. For example, the Home Directory attribute uses the Path syntax. This syntax has three fields: name space, volume, and path. The ODBC Driver for eDirectory splits such attributes into multiple columns, one for each data field in the syntax. The name of each column consists of the attribute name followed by an underscore and the field name. The Home Directory attribute is split into the following columns:

The column names may not be completely applicable to attributes which extend the schema. A syntax can be used to store data other than data specified by the label as long as the data fits the data type. For example, the name space field can contain 4 bytes of data, but eDirectory does not verify that the data contains a valid name space value. The volume field contains a distinguished name which eDirectory verifies. However, eDirectory does not verify that it contains a volume name, only that it contains a distinguished name of an object in the eDirectory tree. The path field contains a string which eDirectory stores but does not verify. Therefore, the path syntax can be used to store the distinguished name of any object in the eDirectory tree with a string value (perhaps a description) and 4-byte value (perhaps a integer level).

When specifying a composite attribute in an SQL select statement, each column that you want must be included in the statement. For example, to select only one of the columns for the Home Directory attribute, you would use the following:

 select "Home Directory_NameSpace" from UserNDS
 

To select all columns, you would use the following:

 select "Home Directory_NameSpace", "Home Directory_VolName", "Home Directory_Path"      from UserNDS
 

Notice, you cannot just specify the attribute name for composite attributes. You must specify each column.

For more information, see Section 3.5, Data Type Mappings.