You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2016/02/07 20:45:46 UTC
[09/21] lucene-solr git commit: SOLR-8652: Implement
Statement.setMaxRows()
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/jira/lucene-5438-nrt-replication
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()) {