aboutsummaryrefslogtreecommitdiff
path: root/exec/jdbc
diff options
context:
space:
mode:
authorSteven Phillips <sphillips@maprtech.com>2014-06-24 19:21:03 -0700
committerJacques Nadeau <jacques@apache.org>2014-06-25 14:33:55 -0700
commit8a22910f2aa1ea933e122357f52e13b68801d2b6 (patch)
tree3d0b938faccc487e6deef35f175585496a0af81c /exec/jdbc
parent33c28f624df83bfc7195ad33877b3be7c963e0b5 (diff)
DRILL-1073: Include intermediate fragments when initializing remainingFragmentCount
Ignore QueryState.COMPLETED messages in jdbc. This was causing the Query Complete message to get sent before the query had actually completed.
Diffstat (limited to 'exec/jdbc')
-rw-r--r--exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
index 594e3ffa3..61fca6193 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
@@ -31,6 +31,7 @@ import net.hydromatic.avatica.AvaticaStatement;
import org.apache.drill.exec.client.DrillClient;
import org.apache.drill.exec.proto.UserBitShared.QueryId;
+import org.apache.drill.exec.proto.UserBitShared.QueryResult.QueryState;
import org.apache.drill.exec.proto.UserBitShared.QueryType;
import org.apache.drill.exec.record.RecordBatchLoader;
import org.apache.drill.exec.rpc.RpcException;
@@ -129,6 +130,11 @@ public class DrillResultSet extends AvaticaResultSet {
public void resultArrived(QueryResultBatch result, ConnectionThrottle throttle) {
logger.debug("Result arrived {}", result);
+ if (result.getHeader().hasQueryState() && result.getHeader().getQueryState() == QueryState.COMPLETED && result.getHeader().getRowCount() == 0) {
+ result.release();
+ return;
+ }
+
// if we're in a closed state, just release the message.
if (closed) {
result.release();