From 30f5175327333dcfaaeafb02560697bcdce6166d Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Mon, 30 Apr 2007 16:24:15 +0000
Subject: [PATCH] Implement support for the virtual list view (VLV) control as defined in draft-ietf-ldapext-ldapv3-vlv. This can be used to retrieve a specified page of a search result set. Any result set that can be used with server-side sorting can also be used with VLV. The ldapsearch tool has also been updated to support this control.
---
opends/src/server/org/opends/server/protocols/ldap/LDAPResultCode.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/protocols/ldap/LDAPResultCode.java b/opends/src/server/org/opends/server/protocols/ldap/LDAPResultCode.java
index 9fc0e0f..114cb18 100644
--- a/opends/src/server/org/opends/server/protocols/ldap/LDAPResultCode.java
+++ b/opends/src/server/org/opends/server/protocols/ldap/LDAPResultCode.java
@@ -287,6 +287,22 @@
/**
+ * The LDAP result code for operations that fail because the request included
+ * a VLV request control without a server-side sort control.
+ */
+ public static final int SORT_CONTROL_MISSING = 60;
+
+
+
+ /**
+ * The LDAP result code for operations that fail because the request included
+ * a VLV request control with an invalid offset.
+ */
+ public static final int OFFSET_RANGE_ERROR = 61;
+
+
+
+ /**
* The LDAP result code for operations that fail due to a naming violation.
*/
public static final int NAMING_VIOLATION = 64;
@@ -343,6 +359,14 @@
/**
+ * The LDAP result code for operations that fail due to an error in
+ * virtual list view processing.
+ */
+ public static final int VIRTUAL_LIST_VIEW_ERROR = 76;
+
+
+
+ /**
* The LDAP result code for use in cases in which none of the other defined
* result codes are appropriate.
*/
@@ -664,6 +688,12 @@
case LOOP_DETECT:
msgID = MSGID_RESULT_LOOP_DETECT;
break;
+ case SORT_CONTROL_MISSING:
+ msgID = MSGID_RESULT_SORT_CONTROL_MISSING;
+ break;
+ case OFFSET_RANGE_ERROR:
+ msgID = MSGID_RESULT_OFFSET_RANGE_ERROR;
+ break;
case NAMING_VIOLATION:
msgID = MSGID_RESULT_NAMING_VIOLATION;
break;
@@ -685,6 +715,9 @@
case AFFECTS_MULTIPLE_DSAS:
msgID = MSGID_RESULT_AFFECTS_MULTIPLE_DSAS;
break;
+ case VIRTUAL_LIST_VIEW_ERROR:
+ msgID = MSGID_RESULT_VIRTUAL_LIST_VIEW_ERROR;
+ break;
case CLIENT_SIDE_SERVER_DOWN:
msgID = MSGID_RESULT_CLIENT_SIDE_SERVER_DOWN;
break;
--
Gitblit v1.10.0