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