[
https://issues.apache.org/jira/browse/DRILL-2288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14994683#comment-14994683
]
ASF GitHub Bot commented on DRILL-2288:
---------------------------------------
Github user hnfgns commented on a diff in the pull request:
https://github.com/apache/drill/pull/245#discussion_r44199009
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/validate/IteratorValidatorBatchIterator.java
---
@@ -33,36 +33,113 @@
import org.apache.drill.exec.util.BatchPrinter;
import org.apache.drill.exec.vector.VectorValidator;
+import static org.apache.drill.exec.record.RecordBatch.IterOutcome.*;
+
+
public class IteratorValidatorBatchIterator implements
CloseableRecordBatch {
- static final org.slf4j.Logger logger =
org.slf4j.LoggerFactory.getLogger(IteratorValidatorBatchIterator.class);
+ private static final org.slf4j.Logger logger =
+
org.slf4j.LoggerFactory.getLogger(IteratorValidatorBatchIterator.class);
static final boolean VALIDATE_VECTORS = false;
- private IterOutcome state = IterOutcome.NOT_YET;
+ /** For logging/debuggability only. */
+ private static volatile int instanceCount;
+
+ /** For logging/debuggability only. */
+ private final int instNum;
+ {
+ instNum = ++instanceCount;
+ }
+
+ /**
+ * The upstream batch, calls to which and return values from which are
+ * checked by this validator.
+ */
private final RecordBatch incoming;
- private boolean first = true;
+
+ /** Incoming batch's type (simple class name); for logging/debuggability
+ * only. */
+ private final String batchTypeName;
+
+ /** Exception state of incoming batch; last value thrown by its next()
+ * method. */
+ private Throwable exceptionState = null;
+
+ /** Main state of incoming batch; last value returned by its next()
method. */
+ private IterOutcome batchState = null;
+
+ /** Last schema retrieved after OK_NEW_SCHEMA or OK from next(). Null
if none
+ * yet. Currently for logging/debuggability only. */
+ private BatchSchema lastSchema = null;
+
+ /** Last schema retrieved after OK_NEW_SCHEMA from next(). Null if none
yet.
+ * Currently for logging/debuggability only. */
--- End diff --
pretty good doc here :100:
> ScanBatch violates IterOutcome protocol for zero-row sources [was: missing
> JDBC metadata (schema) for 0-row results...]
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: DRILL-2288
> URL: https://issues.apache.org/jira/browse/DRILL-2288
> Project: Apache Drill
> Issue Type: Bug
> Components: Storage - Information Schema
> Reporter: Daniel Barclay (Drill)
> Assignee: Daniel Barclay (Drill)
> Fix For: 1.4.0
>
> Attachments: Drill2288NoResultSetMetadataWhenZeroRowsTest.java
>
>
> The ResultSetMetaData object from getMetadata() of a ResultSet is not set up
> (getColumnCount() returns zero, and trying to access any other metadata
> throws IndexOutOfBoundsException) for a result set with zero rows, at least
> for one from DatabaseMetaData.getColumns(...).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)