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:25 UTC
[1/3] lucene-solr git commit: SOLR-8652: Implement
Statement.setMaxRows()
Repository: lucene-solr
Updated Branches:
refs/heads/master dc6b1a68d -> 3d47612b0
SOLR-8652: Implement Statement.setMaxRows()
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/ba20faa9
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ba20faa9
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ba20faa9
Branch: refs/heads/master
Commit: ba20faa9557cdd56d6a696d702fb5a62d9d43f74
Parents: dc6b1a6
Author: jbernste <jb...@apache.org>
Authored: Sat Feb 6 21:03:45 2016 -0500
Committer: jbernste <jb...@apache.org>
Committed: Sat Feb 6 21:03:45 2016 -0500
----------------------------------------------------------------------
.../org/apache/solr/client/solrj/io/sql/StatementImpl.java | 9 +++++++--
.../test/org/apache/solr/client/solrj/io/sql/JdbcTest.java | 5 +++--
2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ba20faa9/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 77cebfe..1927029 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
@@ -45,6 +45,7 @@ class StatementImpl implements Statement {
private String currentSQL;
private ResultSetImpl currentResultSet;
private SQLWarning currentWarning;
+ private int maxRows;
StatementImpl(ConnectionImpl connection) {
this.connection = connection;
@@ -58,6 +59,10 @@ class StatementImpl implements Statement {
this.currentResultSet = null;
}
+ if(maxRows > 0 && !(sql.toLowerCase()).contains("limit")) {
+ sql = sql + " limit "+Integer.toString(maxRows);
+ }
+
closed = false; // If closed reopen so Statement can be reused.
this.currentResultSet = new ResultSetImpl(this, constructStream(sql));
return this.currentResultSet;
@@ -132,12 +137,12 @@ class StatementImpl implements Statement {
@Override
public int getMaxRows() throws SQLException {
- throw new UnsupportedOperationException();
+ return this.maxRows;
}
@Override
public void setMaxRows(int max) throws SQLException {
- throw new UnsupportedOperationException();
+ this.maxRows = max;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ba20faa9/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
index ba21114..b3d7ae9 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
@@ -166,7 +166,8 @@ public class JdbcTest extends AbstractFullDistribZkTestBase {
stmt.close();
//Test statement reuse
- rs = stmt.executeQuery("select id, a_i, a_s, a_f from collection1 order by a_i asc limit 2");
+ stmt.setMaxRows(2);
+ rs = stmt.executeQuery("select id, a_i, a_s, a_f from collection1 order by a_i asc");
assert(rs.next());
assert(rs.getLong("a_i") == 0);
assert(rs.getLong(2) == 0);
@@ -176,7 +177,7 @@ public class JdbcTest extends AbstractFullDistribZkTestBase {
assert(!rs.next());
stmt.close();
- //Test simple loop
+ //Test simple loop. Since limit is set it will override the statement maxRows
rs = stmt.executeQuery("select id, a_i, a_s, a_f from collection1 order by a_i asc limit 100");
int count = 0;
while(rs.next()) {
[3/3] lucene-solr git commit: SOLR-8652: Lower case the limit clause
Posted by jb...@apache.org.
SOLR-8652: Lower case the 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/3d47612b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/3d47612b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/3d47612b
Branch: refs/heads/master
Commit: 3d47612b04dae27080a5960088aa5e7303f14874
Parents: 75a8179
Author: jbernste <jb...@apache.org>
Authored: Sat Feb 6 21:42:01 2016 -0500
Committer: jbernste <jb...@apache.org>
Committed: Sat Feb 6 21:42:01 2016 -0500
----------------------------------------------------------------------
.../java/org/apache/solr/client/solrj/io/sql/StatementImpl.java | 2 +-
.../src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3d47612b/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 e236c83..f859831 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
@@ -361,6 +361,6 @@ class StatementImpl implements Statement {
private boolean containsLimit(String sql) {
String[] tokens = sql.split("\\s+");
String secondToLastToken = tokens[tokens.length-2];
- return ("limit").equals(secondToLastToken);
+ return ("limit").equals(secondToLastToken.toLowerCase(Locale.getDefault()));
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3d47612b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
index b3d7ae9..6d9c51a 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
@@ -177,8 +177,8 @@ public class JdbcTest extends AbstractFullDistribZkTestBase {
assert(!rs.next());
stmt.close();
- //Test simple loop. Since limit is set it will override the statement maxRows
- rs = stmt.executeQuery("select id, a_i, a_s, a_f from collection1 order by a_i asc limit 100");
+ //Test simple loop. Since limit is set it will override the statement maxRows.
+ rs = stmt.executeQuery("select id, a_i, a_s, a_f from collection1 order by a_i asc LIMIT 100");
int count = 0;
while(rs.next()) {
++count;
[2/3] lucene-solr git commit: SOLR-8652: Check if second to last
token is limit to test for limit clause
Posted by jb...@apache.org.
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