directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kayyag...@apache.org
Subject svn commit: r652572 - /directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
Date Thu, 01 May 2008 16:42:33 GMT
Author: kayyagari
Date: Thu May  1 09:42:32 2008
New Revision: 652572

URL: http://svn.apache.org/viewvc?rev=652572&view=rev
Log:
fixed an issue if the last matched tuple is also the last record present in the index. In
this case the wrapped cursor is positioning on the last tuple instead of positioning after
that

Modified:
    directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java

Modified: directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java?rev=652572&r1=652571&r2=652572&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
(original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
Thu May  1 09:42:32 2008
@@ -123,28 +123,10 @@
 
     public void afterLast() throws Exception
     {
-        if ( evaluator.getExpression().getInitial() != null && hasIndex )
-        {
-            ForwardIndexEntry<String,Attributes> indexEntry = new ForwardIndexEntry<String,Attributes>();
-            indexEntry.setValue( evaluator.getExpression().getInitial() );
-            wrapped.after( indexEntry );
-
-            /*
-             * The above operation advances us past the first index entry
-             * matching the initial value.  Lexographically there may still be
-             * entries with values ahead that match and are greater than the
-             * initial string. So we advance until we cannot match anymore.
-             */
-            while ( evaluateCandidate( indexEntry ) && wrapped.next() )
-            {
-                // do nothing but advance
-            }
-        }
-        else
-        {
-            wrapped.afterLast();
-        }
-
+        // to keep the cursor always *after* the last matched tuple
+        // This fixes an issue if the last matched tuple is also the last record present
in the 
+        // index. In this case the wrapped cursor is positioning on the last tuple instead
of positioning after that
+        wrapped.afterLast();
         clear();
     }
 



Mime
View raw message