You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2016/02/07 03:38:26 UTC

[2/3] lucene-solr git commit: SOLR-8652: Check if second to last token is limit to test for limit clause

SOLR-8652: Check if second to last token is limit to test for limit clause


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/75a81795
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/75a81795
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/75a81795

Branch: refs/heads/master
Commit: 75a81795b8c8370cc754b60801fc33cc020efb30
Parents: ba20faa
Author: jbernste <jb...@apache.org>
Authored: Sat Feb 6 21:25:05 2016 -0500
Committer: jbernste <jb...@apache.org>
Committed: Sat Feb 6 21:25:05 2016 -0500

----------------------------------------------------------------------
 .../org/apache/solr/client/solrj/io/sql/StatementImpl.java  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/75a81795/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
index 1927029..e236c83 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Random;
@@ -59,7 +60,7 @@ class StatementImpl implements Statement {
         this.currentResultSet = null;
       }
 
-      if(maxRows > 0 && !(sql.toLowerCase()).contains("limit")) {
+      if(maxRows > 0 && !containsLimit(sql)) {
         sql = sql + " limit "+Integer.toString(maxRows);
       }
 
@@ -356,4 +357,10 @@ class StatementImpl implements Statement {
   public boolean isWrapperFor(Class<?> iface) throws SQLException {
     throw new UnsupportedOperationException();
   }
+
+  private boolean containsLimit(String sql) {
+    String[] tokens = sql.split("\\s+");
+    String secondToLastToken = tokens[tokens.length-2];
+    return ("limit").equals(secondToLastToken);
+  }
 }
\ No newline at end of file