From 6f092b277fa084796db106dfe497040c38db23a7 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 02 Apr 2015 00:16:00 +0000
Subject: [PATCH] OPENDJ-1711 - re-implement VLV support for pluggable backends

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java |   22 ++++------------------
 1 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
index 06d8913..0d8543d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
@@ -180,11 +180,11 @@
     public boolean positionToIndex(int index)
     {
       // There doesn't seem to be a way to optimize this using Persistit.
+      clearCurrentKeyAndValue();
+      ex.getKey().to(Key.BEFORE);
       try
       {
-        clearCurrentKeyAndValue();
-        ex.getKey().to(Key.BEFORE);
-        for (int i = 0; i < index; i++)
+        for (int i = 0; i <= index; i++)
         {
           if (!ex.next())
           {
@@ -202,22 +202,8 @@
     @Override
     public boolean positionToLastKey()
     {
-      try
-      {
-        clearCurrentKeyAndValue();
-        ex.getKey().to(Key.AFTER);
-        return ex.previous();
-      }
-      catch (final PersistitException e)
-      {
-        throw new StorageRuntimeException(e);
-      }
-    }
-
-    @Override
-    public boolean previous()
-    {
       clearCurrentKeyAndValue();
+      ex.getKey().to(Key.AFTER);
       try
       {
         return ex.previous();

--
Gitblit v1.10.0