public class org.apache.drill.jdbc.impl.DrillCursor extends java.lang.Object implements oadd.org.apache.calcite.avatica.util.Cursor
{
private static final org.slf4j.Logger logger;
private static final java.lang.String UNKNOWN_NAME_STRING;
private final org.apache.drill.jdbc.impl.DrillConnectionImpl connection;
private final oadd.org.apache.calcite.avatica.AvaticaStatement statement;
private final oadd.org.apache.calcite.avatica.Meta$Signature signature;
private final oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder;
private final oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener;
private org.apache.drill.jdbc.SchemaChangeListener changeListener;
private final org.apache.drill.jdbc.impl.DrillAccessorList accessors;
private oadd.org.apache.drill.exec.record.BatchSchema schema;
private org.apache.drill.jdbc.impl.DrillColumnMetaDataList columnMetaDataList;
private boolean initialSchemaLoaded;
private boolean afterFirstBatch;
private boolean returnTrueForNextCallToNext;
private boolean afterLastRow;
private int currentRowNumber;
private int currentRecordNumber;
private long timeoutInMilliseconds;
private org.apache.drill.shaded.guava.com.google.common.base.Stopwatch elapsedTimer;
static final boolean $assertionsDisabled;
void <init>(org.apache.drill.jdbc.impl.DrillConnectionImpl, oadd.org.apache.calcite.avatica.AvaticaStatement, oadd.org.apache.calcite.avatica.Meta$Signature) throws java.sql.SQLException
{
oadd.org.apache.drill.common.config.DrillConfig v;
org.apache.drill.jdbc.impl.DrillAccessorList v;
java.lang.Integer v;
java.util.function.Supplier v, v;
oadd.org.apache.calcite.avatica.Meta$Signature v;
oadd.org.apache.drill.exec.record.RecordBatchLoader v;
int v, v, v, v, v;
org.apache.drill.jdbc.impl.DrillConnectionImpl v;
org.apache.drill.jdbc.impl.DrillCursor v;
org.slf4j.Logger v;
oadd.org.apache.calcite.avatica.AvaticaStatement v, v, v;
oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener v;
oadd.org.apache.drill.exec.memory.BufferAllocator v;
oadd.org.apache.drill.exec.client.DrillClient v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v := @parameter: org.apache.drill.jdbc.impl.DrillConnectionImpl;
v := @parameter: oadd.org.apache.calcite.avatica.AvaticaStatement;
v := @parameter: oadd.org.apache.calcite.avatica.Meta$Signature;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.drill.jdbc.impl.DrillAccessorList;
specialinvoke v.<org.apache.drill.jdbc.impl.DrillAccessorList: void <init>()>();
v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors> = v;
v = (int) -1;
v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRowNumber> = v;
v = (int) -1;
v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber> = v;
v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillConnectionImpl connection> = v;
v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement> = v;
v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.Meta$Signature signature> = v;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillConnectionImpl: oadd.org.apache.drill.exec.client.DrillClient getClient()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.client.DrillClient: oadd.org.apache.drill.common.config.DrillConfig getConfig()>();
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillConfig: int getInt(java.lang.String)>("drill.jdbc.batch_queue_throttling_threshold");
v = new oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener;
v = staticinvoke <org.apache.drill.jdbc.impl.DrillCursor$getElapsedTimer__1082: java.util.function.Supplier bootstrap$(org.apache.drill.jdbc.impl.DrillCursor)>(v);
v = staticinvoke <org.apache.drill.jdbc.impl.DrillCursor$getTimeoutInMilliseconds__1083: java.util.function.Supplier bootstrap$(org.apache.drill.jdbc.impl.DrillCursor)>(v);
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: void <init>(java.util.function.Supplier,java.util.function.Supplier,int)>(v, v, v);
v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener> = v;
v = new oadd.org.apache.drill.exec.record.RecordBatchLoader;
v = virtualinvoke v.<oadd.org.apache.drill.exec.client.DrillClient: oadd.org.apache.drill.exec.memory.BufferAllocator getAllocator()>();
specialinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: void <init>(oadd.org.apache.drill.exec.memory.BufferAllocator)>(v);
v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder> = v;
v = <org.apache.drill.jdbc.impl.DrillCursor: org.slf4j.Logger logger>;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.AvaticaStatement: int getQueryTimeout()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Setting timeout as {}", v);
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.AvaticaStatement: int getQueryTimeout()>();
virtualinvoke v.<org.apache.drill.jdbc.impl.DrillCursor: void setTimeout(int)>(v);
return;
}
protected int getCurrentRecordNumber()
{
int v;
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber>;
return v;
}
public java.lang.String getQueryId()
{
oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener v, v;
java.lang.String v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryId v, v;
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: oadd.org.apache.drill.exec.proto.UserBitShared$QueryId getQueryId()>();
if v == null goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: oadd.org.apache.drill.exec.proto.UserBitShared$QueryId getQueryId()>();
v = staticinvoke <oadd.org.apache.drill.exec.proto.helper.QueryIdHelper: java.lang.String getQueryId(oadd.org.apache.drill.exec.proto.UserBitShared$QueryId)>(v);
return v;
label:
return null;
}
public boolean isBeforeFirst()
{
int v;
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRowNumber>;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isAfterLast()
{
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterLastRow>;
return v;
}
public java.util.List createAccessors(java.util.List, java.util.Calendar, oadd.org.apache.calcite.avatica.util.ArrayImpl$Factory)
{
java.util.List v;
java.util.Calendar v;
org.apache.drill.jdbc.impl.DrillAccessorList v;
oadd.org.apache.calcite.avatica.util.ArrayImpl$Factory v;
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v := @parameter: java.util.List;
v := @parameter: java.util.Calendar;
v := @parameter: oadd.org.apache.calcite.avatica.util.ArrayImpl$Factory;
v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillColumnMetaDataList columnMetaDataList> = v;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors>;
return v;
}
synchronized void cleanup()
{
oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener v, v, v, v;
oadd.org.apache.drill.exec.record.RecordBatchLoader v;
oadd.org.apache.drill.exec.client.DrillClient v;
org.apache.drill.jdbc.impl.DrillConnectionImpl v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryId v, v;
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: oadd.org.apache.drill.exec.proto.UserBitShared$QueryId getQueryId()>();
if v == null goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: boolean isCompleted()>();
if v != 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillConnectionImpl connection>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillConnectionImpl: oadd.org.apache.drill.exec.client.DrillClient getClient()>();
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: oadd.org.apache.drill.exec.proto.UserBitShared$QueryId getQueryId()>();
virtualinvoke v.<oadd.org.apache.drill.exec.client.DrillClient: oadd.org.apache.drill.exec.rpc.DrillRpcFuture cancelQuery(oadd.org.apache.drill.exec.proto.UserBitShared$QueryId)>(v);
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: void close()>();
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: void clear()>();
return;
}
long getTimeoutInMilliseconds()
{
long v;
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: long timeoutInMilliseconds>;
return v;
}
void setTimeout(int)
{
java.util.concurrent.TimeUnit v;
byte v;
int v;
org.apache.drill.shaded.guava.com.google.common.base.Stopwatch v;
long v, v;
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v := @parameter: int;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
v.<org.apache.drill.jdbc.impl.DrillCursor: long timeoutInMilliseconds> = v;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: long timeoutInMilliseconds>;
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.base.Stopwatch: org.apache.drill.shaded.guava.com.google.common.base.Stopwatch createStarted()>();
v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.shaded.guava.com.google.common.base.Stopwatch elapsedTimer> = v;
label:
return;
}
private void updateColumns()
{
org.apache.drill.jdbc.impl.DrillAccessorList v, v, v;
java.util.ArrayList v;
org.apache.drill.jdbc.impl.DrillColumnMetaDataList v;
oadd.org.apache.drill.exec.record.RecordBatchLoader v;
int v, v;
java.lang.Class v;
org.apache.drill.jdbc.SchemaChangeListener v, v;
oadd.org.apache.drill.exec.record.BatchSchema v, v;
org.apache.drill.jdbc.impl.DrillCursor v;
org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors>;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
virtualinvoke v.<org.apache.drill.jdbc.impl.DrillAccessorList: void generateAccessors(org.apache.drill.jdbc.impl.DrillCursor,oadd.org.apache.drill.exec.record.RecordBatchLoader)>(v, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = 0;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillAccessorList: int size()>();
if v >= v goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillAccessorList: org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor get(int)>(v);
v = virtualinvoke v.<org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor: java.lang.Class getObjectClass()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillColumnMetaDataList columnMetaDataList>;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.BatchSchema schema>;
virtualinvoke v.<org.apache.drill.jdbc.impl.DrillColumnMetaDataList: void updateColumnMetaData(java.lang.String,java.lang.String,java.lang.String,oadd.org.apache.drill.exec.record.BatchSchema,java.util.List)>("DRILL", "", "", v, v);
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.SchemaChangeListener changeListener>;
if v == null goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.SchemaChangeListener changeListener>;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.BatchSchema schema>;
interfaceinvoke v.<org.apache.drill.jdbc.SchemaChangeListener: void schemaChanged(oadd.org.apache.drill.exec.record.BatchSchema)>(v);
label:
return;
}
private boolean nextRowInternally() throws java.sql.SQLException
{
oadd.org.apache.drill.exec.proto.UserBitShared$QueryData v, v, v, v;
oadd.org.apache.drill.exec.record.BatchSchema v;
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v, v, v, v;
oadd.io.netty.buffer.DrillBuf v, v;
oadd.org.apache.drill.exec.proto.UserBitShared$RecordBatchDef v;
oadd.org.apache.drill.exec.rpc.user.QueryDataBatch v;
java.lang.Throwable v;
java.sql.SQLException v, v, v;
oadd.org.apache.drill.exec.record.RecordBatchLoader v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
oadd.org.apache.drill.common.exceptions.UserException v;
org.slf4j.Logger v;
oadd.org.apache.calcite.avatica.AvaticaStatement v, v, v, v;
java.lang.RuntimeException v;
oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener v, v;
java.lang.InterruptedException v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber>;
v = v + 1;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: int getRecordCount()>();
if v >= v goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber>;
v = v + 1;
v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber> = v;
return 1;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: oadd.org.apache.drill.exec.rpc.user.QueryDataBatch getNext()>();
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterFirstBatch>;
if v == 0 goto label;
label:
if v == null goto label;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: oadd.org.apache.drill.exec.proto.UserBitShared$QueryData getHeader()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserBitShared$QueryData: int getRowCount()>();
if v != 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: oadd.io.netty.buffer.DrillBuf getData()>();
if v != null goto label;
v = <org.apache.drill.jdbc.impl.DrillCursor: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Spurious batch read: {}", v);
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: void release()>();
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: oadd.org.apache.drill.exec.rpc.user.QueryDataBatch getNext()>();
goto label;
label:
v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterFirstBatch> = 1;
if v != null goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: void clear()>();
v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterLastRow> = 1;
label:
return 0;
label:
v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber> = 0;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: oadd.org.apache.drill.exec.proto.UserBitShared$QueryData getHeader()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserBitShared$QueryData: boolean hasAffectedRowsCount()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: oadd.org.apache.drill.exec.proto.UserBitShared$QueryData getHeader()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserBitShared$QueryData: int getAffectedRowsCount()>();
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.AvaticaStatement: int getUpdateCount()>();
v = (int) -1;
if v != v goto label;
v = 0;
goto label;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.AvaticaStatement: int getUpdateCount()>();
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = v + v;
interfaceinvoke v.<org.apache.drill.jdbc.DrillStatement: void setUpdateCount(int)>(v);
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
interfaceinvoke v.<org.apache.drill.jdbc.DrillStatement: void setResultSet(oadd.org.apache.calcite.avatica.AvaticaResultSet)>(null);
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: oadd.org.apache.drill.exec.proto.UserBitShared$QueryData getHeader()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserBitShared$QueryData: oadd.org.apache.drill.exec.proto.UserBitShared$RecordBatchDef getDef()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: oadd.io.netty.buffer.DrillBuf getData()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: boolean load(oadd.org.apache.drill.exec.proto.UserBitShared$RecordBatchDef,oadd.io.netty.buffer.DrillBuf)>(v, v);
label:
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: void release()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryDataBatch: void release()>();
throw v;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: oadd.org.apache.drill.exec.record.BatchSchema getSchema()>();
v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.BatchSchema schema> = v;
if v == 0 goto label;
specialinvoke v.<org.apache.drill.jdbc.impl.DrillCursor: void updateColumns()>();
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean returnTrueForNextCallToNext>;
if v == 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: int getRecordCount()>();
if v != 0 goto label;
v.<org.apache.drill.jdbc.impl.DrillCursor: boolean returnTrueForNextCallToNext> = 0;
label:
return 1;
label:
v := @caughtexception;
v = new java.sql.SQLException;
v = virtualinvoke v.<oadd.org.apache.drill.common.exceptions.UserException: java.lang.String getMessage()>();
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new java.sql.SQLException;
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String,java.lang.Throwable)>("Interrupted.", v);
throw v;
label:
v := @caughtexception;
v = new java.sql.SQLException;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unexpected RuntimeException: \u0001");
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Throwable from label to label with label;
catch oadd.org.apache.drill.common.exceptions.UserException from label to label with label;
catch oadd.org.apache.drill.common.exceptions.UserException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
}
void loadInitialSchema() throws java.sql.SQLException
{
java.lang.IllegalStateException v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryType v;
java.lang.Thread v;
org.apache.drill.jdbc.impl.DrillConnectionImpl v, v;
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v, v, v, v, v, v, v, v;
java.lang.AssertionError v, v, v, v;
oadd.org.apache.calcite.avatica.Meta$Signature v;
java.sql.SQLException v;
oadd.org.apache.drill.exec.proto.UserProtos$PreparedStatementHandle v;
oadd.org.apache.drill.exec.record.RecordBatchLoader v, v;
int v, v, v, v, v;
java.lang.String v, v, v;
oadd.org.apache.calcite.avatica.AvaticaStatement v, v;
oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener v, v, v;
oadd.org.apache.drill.exec.proto.UserProtos$PreparedStatement v;
java.lang.InterruptedException v;
oadd.org.apache.drill.exec.client.DrillClient v, v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean initialSchemaLoaded>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("loadInitialSchema() called a second time");
throw v;
label:
v = <org.apache.drill.jdbc.impl.DrillCursor: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterLastRow>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("afterLastRow already true in loadInitialSchema()");
throw v;
label:
v = <org.apache.drill.jdbc.impl.DrillCursor: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterFirstBatch>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("afterLastRow already true in loadInitialSchema()");
throw v;
label:
v = <org.apache.drill.jdbc.impl.DrillCursor: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber>;
v = (int) -1;
if v == v goto label;
v = new java.lang.AssertionError;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRecordNumber>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("currentRecordNumber not -1 (is \u) in loadInitialSchema()");
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
label:
v = <org.apache.drill.jdbc.impl.DrillCursor: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: int getRecordCount()>();
if 0 == v goto label;
v = new java.lang.AssertionError;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.record.RecordBatchLoader currentBatchHolder>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.record.RecordBatchLoader: int getRecordCount()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("currentBatchHolder.getRecordCount() not 0 (is \u in loadInitialSchema()");
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = v instanceof org.apache.drill.jdbc.impl.DrillPreparedStatementImpl;
if v == 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.AvaticaStatement statement>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillPreparedStatementImpl: oadd.org.apache.drill.exec.proto.UserProtos$PreparedStatement getPreparedStatementHandle()>();
goto label;
label:
v = null;
label:
if v == null goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillConnectionImpl connection>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillConnectionImpl: oadd.org.apache.drill.exec.client.DrillClient getClient()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$PreparedStatement: oadd.org.apache.drill.exec.proto.UserProtos$PreparedStatementHandle getServerHandle()>();
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
virtualinvoke v.<oadd.org.apache.drill.exec.client.DrillClient: void executePreparedStatement(oadd.org.apache.drill.exec.proto.UserProtos$PreparedStatementHandle,oadd.org.apache.drill.exec.rpc.user.UserResultsListener)>(v, v);
goto label;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillConnectionImpl connection>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillConnectionImpl: oadd.org.apache.drill.exec.client.DrillClient getClient()>();
v = <oadd.org.apache.drill.exec.proto.UserBitShared$QueryType: oadd.org.apache.drill.exec.proto.UserBitShared$QueryType SQL>;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.calcite.avatica.Meta$Signature signature>;
v = v.<oadd.org.apache.calcite.avatica.Meta$Signature: java.lang.String sql>;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
virtualinvoke v.<oadd.org.apache.drill.exec.client.DrillClient: void runQuery(oadd.org.apache.drill.exec.proto.UserBitShared$QueryType,java.lang.String,oadd.org.apache.drill.exec.rpc.user.UserResultsListener)>(v, v, v);
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener resultsListener>;
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.BlockingResultsListener: void awaitFirstMessage()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
v = new java.sql.SQLException;
specialinvoke v.<java.sql.SQLException: void <init>(java.lang.String,java.lang.Throwable)>("Interrupted", v);
throw v;
label:
v.<org.apache.drill.jdbc.impl.DrillCursor: boolean returnTrueForNextCallToNext> = 1;
specialinvoke v.<org.apache.drill.jdbc.impl.DrillCursor: boolean nextRowInternally()>();
v.<org.apache.drill.jdbc.impl.DrillCursor: boolean initialSchemaLoaded> = 1;
return;
catch java.lang.InterruptedException from label to label with label;
}
public boolean next() throws java.sql.SQLException
{
java.lang.IllegalStateException v;
org.apache.drill.jdbc.impl.DrillAccessorList v;
java.lang.AssertionError v;
int v, v, v, v;
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v, v, v, v, v, v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean initialSchemaLoaded>;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("next() called but loadInitialSchema() was not called");
throw v;
label:
v = <org.apache.drill.jdbc.impl.DrillCursor: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterFirstBatch>;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("afterFirstBatch still false in next()");
throw v;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean afterLastRow>;
if v == 0 goto label;
return 0;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: boolean returnTrueForNextCallToNext>;
if v == 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRowNumber>;
v = v + 1;
v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRowNumber> = v;
v.<org.apache.drill.jdbc.impl.DrillCursor: boolean returnTrueForNextCallToNext> = 0;
return 1;
label:
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors>;
virtualinvoke v.<org.apache.drill.jdbc.impl.DrillAccessorList: void clearLastColumnIndexedInRow()>();
v = specialinvoke v.<org.apache.drill.jdbc.impl.DrillCursor: boolean nextRowInternally()>();
if v == 0 goto label;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRowNumber>;
v = v + 1;
v.<org.apache.drill.jdbc.impl.DrillCursor: int currentRowNumber> = v;
label:
return v;
}
public void cancel()
{
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
virtualinvoke v.<org.apache.drill.jdbc.impl.DrillCursor: void close()>();
return;
}
public void close()
{
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
virtualinvoke v.<org.apache.drill.jdbc.impl.DrillCursor: void cleanup()>();
return;
}
public boolean wasNull() throws java.sql.SQLException
{
org.apache.drill.jdbc.impl.DrillAccessorList v;
org.apache.drill.jdbc.impl.DrillCursor v;
boolean v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.jdbc.impl.DrillAccessorList accessors>;
v = virtualinvoke v.<org.apache.drill.jdbc.impl.DrillAccessorList: boolean wasNull()>();
return v;
}
public org.apache.drill.shaded.guava.com.google.common.base.Stopwatch getElapsedTimer()
{
org.apache.drill.shaded.guava.com.google.common.base.Stopwatch v;
org.apache.drill.jdbc.impl.DrillCursor v;
v := @this: org.apache.drill.jdbc.impl.DrillCursor;
v = v.<org.apache.drill.jdbc.impl.DrillCursor: org.apache.drill.shaded.guava.com.google.common.base.Stopwatch elapsedTimer>;
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.lang.Class v;
boolean v, v;
v = class "Lorg/apache/drill/jdbc/impl/DrillCursor;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.drill.jdbc.impl.DrillCursor: boolean $assertionsDisabled> = v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/drill/jdbc/impl/DrillCursor;");
<org.apache.drill.jdbc.impl.DrillCursor: org.slf4j.Logger logger> = v;
return;
}
}