public class org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator extends java.lang.Object implements java.util.Iterator, java.lang.AutoCloseable
{
private final java.sql.ResultSet resultSet;
private final org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config;
private final org.apache.arrow.vector.types.pojo.Schema schema;
private final java.sql.ResultSetMetaData rsmd;
private final org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers;
final org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer compositeConsumer;
private org.apache.arrow.vector.VectorSchemaRoot nextBatch;
private final int targetBatchSize;
private boolean readComplete;
private void <init>(java.sql.ResultSet, org.apache.arrow.adapter.jdbc.JdbcToArrowConfig) throws java.sql.SQLException
{
org.apache.arrow.vector.types.pojo.Schema v;
org.apache.arrow.vector.VectorSchemaRoot v;
org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer v;
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
java.sql.ResultSet v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v;
int v, v;
org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] v, v;
java.sql.ResultSetMetaData v, v, v;
boolean v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v := @parameter: java.sql.ResultSet;
v := @parameter: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: boolean readComplete> = 0;
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSet resultSet> = v;
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config> = v;
v = interfaceinvoke v.<java.sql.ResultSet: java.sql.ResultSetMetaData getMetaData()>();
v = staticinvoke <org.apache.arrow.adapter.jdbc.JdbcToArrowUtils: org.apache.arrow.vector.types.pojo.Schema jdbcToArrowSchema(java.sql.ResultSetMetaData,org.apache.arrow.adapter.jdbc.JdbcToArrowConfig)>(v, v);
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.types.pojo.Schema schema> = v;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: int getTargetBatchSize()>();
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: int targetBatchSize> = v;
v = interfaceinvoke v.<java.sql.ResultSet: java.sql.ResultSetMetaData getMetaData()>();
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSetMetaData rsmd> = v;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSetMetaData rsmd>;
v = interfaceinvoke v.<java.sql.ResultSetMetaData: int getColumnCount()>();
v = newarray (org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer)[v];
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers> = v;
v = new org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers>;
specialinvoke v.<org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer: void <init>(org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[])>(v);
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer compositeConsumer> = v;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: boolean isReuseVectorSchemaRoot()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.VectorSchemaRoot createVectorSchemaRoot()>();
goto label;
label:
v = null;
label:
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.VectorSchemaRoot nextBatch> = v;
return;
}
public static org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator create(java.sql.ResultSet, org.apache.arrow.adapter.jdbc.JdbcToArrowConfig) throws java.sql.SQLException
{
java.lang.AutoCloseable[] v;
java.lang.Throwable v;
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
java.sql.ResultSet v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v;
java.lang.RuntimeException v;
v := @parameter: java.sql.ResultSet;
v := @parameter: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig;
label:
v = new org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
specialinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: void <init>(java.sql.ResultSet,org.apache.arrow.adapter.jdbc.JdbcToArrowConfig)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.AutoCloseable)[1];
v[0] = null;
staticinvoke <org.apache.arrow.util.AutoCloseables: void close(java.lang.Throwable,java.lang.AutoCloseable[])>(v, v);
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Error occurred while creating iterator.", v);
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private void consumeData(org.apache.arrow.vector.VectorSchemaRoot)
{
java.lang.Throwable v;
org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer v, v, v;
java.sql.ResultSet v, v, v, v;
int v, v, v, v, v;
boolean v, v, v;
org.apache.arrow.vector.VectorSchemaRoot v;
java.lang.RuntimeException v;
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v := @parameter: org.apache.arrow.vector.VectorSchemaRoot;
label:
v = 0;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: int targetBatchSize>;
v = (int) -1;
if v != v goto label;
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSet resultSet>;
v = interfaceinvoke v.<java.sql.ResultSet: boolean next()>();
if v == 0 goto label;
v = v + 1;
staticinvoke <org.apache.arrow.vector.util.ValueVectorUtility: void ensureCapacity(org.apache.arrow.vector.VectorSchemaRoot,int)>(v, v);
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer compositeConsumer>;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSet resultSet>;
virtualinvoke v.<org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer: void consume(java.sql.ResultSet)>(v);
v = v + 1;
goto label;
label:
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: boolean readComplete> = 1;
goto label;
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: int targetBatchSize>;
if v >= v goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: boolean readComplete>;
if v != 0 goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSet resultSet>;
v = interfaceinvoke v.<java.sql.ResultSet: boolean next()>();
if v == 0 goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer compositeConsumer>;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSet resultSet>;
virtualinvoke v.<org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer: void consume(java.sql.ResultSet)>(v);
v = v + 1;
goto label;
label:
v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: boolean readComplete> = 1;
goto label;
label:
virtualinvoke v.<org.apache.arrow.vector.VectorSchemaRoot: void setRowCount(int)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer compositeConsumer>;
virtualinvoke v.<org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer: void close()>();
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Error occurred while consuming data.", v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private org.apache.arrow.vector.VectorSchemaRoot createVectorSchemaRoot() throws java.sql.SQLException
{
java.lang.Throwable v;
org.apache.arrow.vector.types.pojo.Schema v;
org.apache.arrow.vector.VectorSchemaRoot v;
java.lang.RuntimeException v;
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v, v, v;
int v, v, v;
org.apache.arrow.memory.BufferAllocator v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v = null;
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.types.pojo.Schema schema>;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: org.apache.arrow.memory.BufferAllocator getAllocator()>();
v = staticinvoke <org.apache.arrow.vector.VectorSchemaRoot: org.apache.arrow.vector.VectorSchemaRoot create(org.apache.arrow.vector.types.pojo.Schema,org.apache.arrow.memory.BufferAllocator)>(v, v);
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: int getTargetBatchSize()>();
v = (int) -1;
if v == v goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: int getTargetBatchSize()>();
staticinvoke <org.apache.arrow.vector.util.ValueVectorUtility: void preAllocate(org.apache.arrow.vector.VectorSchemaRoot,int)>(v, v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.arrow.vector.VectorSchemaRoot: void close()>();
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Error occurred while creating schema root.", v);
throw v;
label:
specialinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: void initialize(org.apache.arrow.vector.VectorSchemaRoot)>(v);
return v;
catch java.lang.Throwable from label to label with label;
}
private void initialize(org.apache.arrow.vector.VectorSchemaRoot) throws java.sql.SQLException
{
java.util.function.Function v;
org.apache.arrow.adapter.jdbc.JdbcFieldInfo v;
int v, v, v, v;
org.apache.arrow.vector.FieldVector v;
org.apache.arrow.vector.VectorSchemaRoot v;
org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer v;
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v, v, v;
java.lang.Object v;
org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] v, v;
java.sql.ResultSetMetaData v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v := @parameter: org.apache.arrow.vector.VectorSchemaRoot;
v = 1;
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers>;
v = lengthof v;
if v > v goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: java.sql.ResultSetMetaData rsmd>;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = staticinvoke <org.apache.arrow.adapter.jdbc.JdbcToArrowUtils: org.apache.arrow.adapter.jdbc.JdbcFieldInfo getJdbcFieldInfoForColumn(java.sql.ResultSetMetaData,int,org.apache.arrow.adapter.jdbc.JdbcToArrowConfig)>(v, v, v);
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: java.util.function.Function getJdbcToArrowTypeConverter()>();
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers>;
v = v - 1;
v = v - 1;
v = virtualinvoke v.<org.apache.arrow.vector.VectorSchemaRoot: org.apache.arrow.vector.FieldVector getVector(int)>(v);
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = staticinvoke <org.apache.arrow.adapter.jdbc.JdbcToArrowUtils: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer getConsumer(org.apache.arrow.vector.types.pojo.ArrowType,int,boolean,org.apache.arrow.vector.FieldVector,org.apache.arrow.adapter.jdbc.JdbcToArrowConfig)>(v, v, 1, v, v);
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
private void load(org.apache.arrow.vector.VectorSchemaRoot)
{
org.apache.arrow.vector.FieldVector v;
org.apache.arrow.vector.VectorSchemaRoot v;
org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer v;
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v;
int v, v;
org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] v, v;
boolean v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v := @parameter: org.apache.arrow.vector.VectorSchemaRoot;
v = 0;
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers>;
v = lengthof v;
if v >= v goto label;
v = virtualinvoke v.<org.apache.arrow.vector.VectorSchemaRoot: org.apache.arrow.vector.FieldVector getVector(int)>(v);
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: boolean isReuseVectorSchemaRoot()>();
if v == 0 goto label;
interfaceinvoke v.<org.apache.arrow.vector.FieldVector: void reset()>();
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer[] consumers>;
v = v[v];
interfaceinvoke v.<org.apache.arrow.adapter.jdbc.consumer.JdbcConsumer: void resetValueVector(org.apache.arrow.vector.ValueVector)>(v);
v = v + 1;
goto label;
label:
specialinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: void consumeData(org.apache.arrow.vector.VectorSchemaRoot)>(v);
return;
}
public boolean hasNext()
{
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
boolean v, v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: boolean readComplete>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.apache.arrow.vector.VectorSchemaRoot next()
{
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v;
org.apache.arrow.vector.VectorSchemaRoot v;
java.lang.RuntimeException v;
java.lang.Exception v;
boolean v, v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: boolean hasNext()>();
staticinvoke <org.apache.arrow.util.Preconditions: void checkArgument(boolean)>(v);
label:
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: boolean isReuseVectorSchemaRoot()>();
if v == 0 goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.VectorSchemaRoot nextBatch>;
goto label;
label:
v = specialinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.VectorSchemaRoot createVectorSchemaRoot()>();
label:
specialinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: void load(org.apache.arrow.vector.VectorSchemaRoot)>(v);
label:
return v;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: void close()>();
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Error occurred while getting next schema root.", v);
throw v;
catch java.lang.Exception from label to label with label;
}
public void close()
{
org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator v;
org.apache.arrow.adapter.jdbc.JdbcToArrowConfig v;
org.apache.arrow.vector.VectorSchemaRoot v;
org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer v;
boolean v;
v := @this: org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.JdbcToArrowConfig config>;
v = virtualinvoke v.<org.apache.arrow.adapter.jdbc.JdbcToArrowConfig: boolean isReuseVectorSchemaRoot()>();
if v == 0 goto label;
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.vector.VectorSchemaRoot nextBatch>;
virtualinvoke v.<org.apache.arrow.vector.VectorSchemaRoot: void close()>();
v = v.<org.apache.arrow.adapter.jdbc.LegendArrowVectorIterator: org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer compositeConsumer>;
virtualinvoke v.<org.apache.arrow.adapter.jdbc.consumer.CompositeJdbcConsumer: void close()>();
label:
return;
}
}