public class org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable extends org.apache.drill.exec.planner.logical.DynamicDrillTable
{
private static final org.slf4j.Logger log;
private final org.apache.drill.exec.store.openTSDB.client.Schema schema;
public void <init>(java.lang.String, org.apache.drill.exec.store.openTSDB.OpenTSDBStoragePlugin, org.apache.drill.exec.store.openTSDB.client.Schema, org.apache.drill.exec.store.openTSDB.OpenTSDBScanSpec)
{
org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable v;
org.apache.drill.exec.store.openTSDB.client.Schema v;
java.lang.String v;
org.apache.drill.exec.store.openTSDB.OpenTSDBScanSpec v;
org.apache.drill.exec.store.openTSDB.OpenTSDBStoragePlugin v;
v := @this: org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable;
v := @parameter: java.lang.String;
v := @parameter: org.apache.drill.exec.store.openTSDB.OpenTSDBStoragePlugin;
v := @parameter: org.apache.drill.exec.store.openTSDB.client.Schema;
v := @parameter: org.apache.drill.exec.store.openTSDB.OpenTSDBScanSpec;
specialinvoke v.<org.apache.drill.exec.planner.logical.DynamicDrillTable: void <init>(org.apache.drill.exec.store.StoragePlugin,java.lang.String,org.apache.drill.exec.planner.logical.DrillTableSelection)>(v, v, v);
v.<org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable: org.apache.drill.exec.store.openTSDB.client.Schema schema> = v;
return;
}
public org.apache.calcite.rel.type.RelDataType getRowType(org.apache.calcite.rel.type.RelDataTypeFactory)
{
org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable v;
org.apache.calcite.rel.type.RelDataType v;
org.apache.calcite.rel.type.RelDataTypeFactory v;
java.util.ArrayList v, v;
v := @this: org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable;
v := @parameter: org.apache.calcite.rel.type.RelDataTypeFactory;
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.collect.Lists: java.util.ArrayList newArrayList()>();
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.collect.Lists: java.util.ArrayList newArrayList()>();
specialinvoke v.<org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable: void convertToRelDataType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,java.util.List)>(v, v, v);
v = interfaceinvoke v.<org.apache.calcite.rel.type.RelDataTypeFactory: org.apache.calcite.rel.type.RelDataType createStructType(java.util.List,java.util.List)>(v, v);
return v;
}
private void convertToRelDataType(org.apache.calcite.rel.type.RelDataTypeFactory, java.util.List, java.util.List)
{
org.apache.calcite.rel.type.RelDataType v, v;
org.apache.calcite.rel.type.RelDataTypeFactory v;
org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes v;
java.util.Iterator v;
org.apache.drill.exec.store.openTSDB.client.Schema v;
org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable v;
java.util.List v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable;
v := @parameter: org.apache.calcite.rel.type.RelDataTypeFactory;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = v.<org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable: org.apache.drill.exec.store.openTSDB.client.Schema schema>;
v = virtualinvoke v.<org.apache.drill.exec.store.openTSDB.client.Schema: java.util.List getColumns()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.drill.exec.store.openTSDB.dto.ColumnDTO: java.lang.String getColumnName()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.drill.exec.store.openTSDB.dto.ColumnDTO: org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes getColumnType()>();
v = specialinvoke v.<org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable: org.apache.calcite.rel.type.RelDataType getSqlTypeFromOpenTSDBType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes)>(v, v);
v = virtualinvoke v.<org.apache.drill.exec.store.openTSDB.dto.ColumnDTO: boolean isNullable()>();
v = interfaceinvoke v.<org.apache.calcite.rel.type.RelDataTypeFactory: org.apache.calcite.rel.type.RelDataType createTypeWithNullability(org.apache.calcite.rel.type.RelDataType,boolean)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
private org.apache.calcite.rel.type.RelDataType getSqlTypeFromOpenTSDBType(org.apache.calcite.rel.type.RelDataTypeFactory, org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes)
{
org.apache.calcite.rel.type.RelDataTypeFactory v;
java.lang.Object[] v, v;
org.apache.drill.common.exceptions.UserException$Builder v, v;
org.apache.drill.common.exceptions.UserException v;
org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable v;
int[] v;
int v, v;
java.lang.String v;
org.apache.calcite.rel.type.RelDataType v, v, v;
org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes v, v, v, v;
org.slf4j.Logger v;
org.apache.calcite.sql.type.SqlTypeName v, v, v;
v := @this: org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable;
v := @parameter: org.apache.calcite.rel.type.RelDataTypeFactory;
v := @parameter: org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes;
v = <org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable$1: int[] $SwitchMap$org$apache$drill$exec$store$openTSDB$client$OpenTSDBTypes>;
v = virtualinvoke v.<org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = <org.apache.calcite.sql.type.SqlTypeName: org.apache.calcite.sql.type.SqlTypeName VARCHAR>;
v = interfaceinvoke v.<org.apache.calcite.rel.type.RelDataTypeFactory: org.apache.calcite.rel.type.RelDataType createSqlType(org.apache.calcite.sql.type.SqlTypeName,int)>(v, 2147483647);
return v;
label:
v = <org.apache.calcite.sql.type.SqlTypeName: org.apache.calcite.sql.type.SqlTypeName DOUBLE>;
v = interfaceinvoke v.<org.apache.calcite.rel.type.RelDataTypeFactory: org.apache.calcite.rel.type.RelDataType createSqlType(org.apache.calcite.sql.type.SqlTypeName)>(v);
return v;
label:
v = <org.apache.calcite.sql.type.SqlTypeName: org.apache.calcite.sql.type.SqlTypeName TIMESTAMP>;
v = interfaceinvoke v.<org.apache.calcite.rel.type.RelDataTypeFactory: org.apache.calcite.rel.type.RelDataType createSqlType(org.apache.calcite.sql.type.SqlTypeName)>(v);
return v;
label:
v = staticinvoke <org.apache.drill.common.exceptions.UserException: org.apache.drill.common.exceptions.UserException$Builder unsupportedError()>();
v = newarray (java.lang.Object)[4];
v[0] = v;
v = <org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes: org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes STRING>;
v[1] = v;
v = <org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes: org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes DOUBLE>;
v[2] = v;
v = <org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes: org.apache.drill.exec.store.openTSDB.client.OpenTSDBTypes TIMESTAMP>;
v[3] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%s is unsupported now. Currently supported types is %s, %s, %s", v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<org.apache.drill.common.exceptions.UserException$Builder: org.apache.drill.common.exceptions.UserException$Builder message(java.lang.String,java.lang.Object[])>(v, v);
v = <org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.drill.common.exceptions.UserException$Builder: org.apache.drill.common.exceptions.UserException build(org.slf4j.Logger)>(v);
throw v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/drill/exec/store/openTSDB/DrillOpenTSDBTable;");
<org.apache.drill.exec.store.openTSDB.DrillOpenTSDBTable: org.slf4j.Logger log> = v;
return;
}
}