Virtual list view control
The Virtual list view control explains its use with the server and provides the results.
- Description
- The Virtual list view control extends the regular LDAP search
operation and includes a server-side sorting control. With this control,
the server returns a contiguous subset of entries that are taken from
an ordered result set that match a criteria of a target entry, rather
than returning the complete set of
searchResultEntrymessages. - Request
-
- OID
- 2.16.840.1.113730.3.4.9
- Syntax
-
where,VirtualListViewRequest ::= SEQUENCE { beforeCount INTEGER (0..maxInt), afterCount INTEGER (0..maxInt), target CHOICE { byOffset [0] SEQUENCE { offset INTEGER (1 .. maxInt), contentCount INTEGER (0 .. maxInt) }, greaterThanOrEqual [1] AssertionValue }, contextID OCTET STRING OPTIONAL }beforeCount- Indicates the number of entries before the target entry that the client wants the server to send.afterCount- Indicates the number of entries after the target entry that the client wants the server to send.offset- Used to identify the target entry in the Virtual list view request control by determining the target entry that is offset within the list. The server examines thecontentCountand offset given by the client and computes the corresponding offset within the list by using following formula:
where,Si = Sc * (Ci / Cc)Siis the actual list offset that is used by the serverScis the server estimate for content count- Ci is the client submitted offset
Ccis the client submitted content count
contentCount- Used to identify the target entry.greaterThanOrEqual- Indicates a matching rule assertion value. If present, its value is used to determine the target entry by comparing with the attribute values specified as the primary sort key.contextID- Contains a value for the most recently received contextID field for the same list view from the Virtual list view response control.
- Response
-
- OID
- 2.16.840.1.113730.3.4.10
- Syntax
-
where,VirtualListViewResponse ::= SEQUENCE { targetPosition INTEGER (0 .. maxInt), contentCount INTEGER (0 .. maxInt), virtualListViewResult ENUMERATED { success (0), operationsError (1), protocolError (2), unwillingToPerform (53), insufficientAccessRights (50), timeLimitExceeded (3), adminLimitExceeded (11), innapropriateMatching (18), sortControlMissing (60), offsetRangeError (61), other(80), ... }, contextID OCTET STRING OPTIONAL }targetPosition- Indicates the offset list for the target entry.contentCount- Indicates the number of entries in the list that is based on the server estimate. The value of the count depends on the access rights over all the entries for the user who is bound to the directory server.contextID- Server defined octet string.virtualListViewResult- Contains error messages that are related to the Virtual list view operation. For example,insufficientAccessRightsindicates that the server denies the client the permission to run the Virtual list view operation.
- Behavior
-
The Virtual list view control extends the regular LDAP Search operation and includes a server-side sorting control. In this operation, the server returns a contiguous subset of entries that are taken from an ordered result set that match a criteria of a target entry, rather than returning the complete set of
searchResultEntrymessages.When you send this control, it must have an accompanying server-side sorting control. If server-side sorting control is not specified, the request is rejected with the LDAP_SORT_CONTROL_MISSING error.
IBM® Verify Directory, version 6.2 or later server versions recognize the Virtual list view request control that is sent along with a search request. The search request is then passed to the RDBM back-end from which the result set is fetched. Then, the cursor is positioned at the required offset in the search result set.
All users are authorized to use this control. This control can be enabled or disabled on a server by using a configuration option.
This control has the following possible return codes:- LDAP_SUCCESS
- LDAP_OPERATIONS_ERROR
- LDAP_PROTOCOL_ERROR
- LDAP_UNWILLING_TO_PERFORM
- LDAP_INSUFFICIENT_ACCESS
- LDAP_TIMELIMIT_EXCEEDED
- LDAP_ADMINLIMIT_EXCEEDED
- LDAP_INAPPROPRIATE_MATCHING
- LDAP_SORT_CONTROL_MISSING
- LDAP_INDEX_RANGE_ERROR
- LDAP_OTHER
- Scope
- This control lasts only for one search operation.