public class org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData extends java.lang.Object
{
private final java.util.List sqlResultColumns;
private final java.util.List dbMetaDataType;
private final boolean[] timeStampColumns;
private final boolean[] dateColumns;
void <init>(java.util.List, java.sql.ResultSetMetaData) throws java.sql.SQLException
{
java.lang.Integer v;
org.eclipse.collections.api.factory.list.MultiReaderListFactory v;
int v, v, v, v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData v;
boolean v, v;
boolean[] v, v, v, v;
org.eclipse.collections.api.list.MultiReaderList v;
java.util.List v, v;
java.sql.ResultSetMetaData v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData;
v := @parameter: java.util.List;
v := @parameter: java.sql.ResultSetMetaData;
specialinvoke v.<java.lang.Object: void <init>()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: java.util.List sqlResultColumns> = v;
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.MultiReaderListFactory multiReader>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MultiReaderListFactory: org.eclipse.collections.api.list.MultiReaderList ofInitialCapacity(int)>(v);
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: java.util.List dbMetaDataType> = v;
v = newarray (boolean)[v];
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean[] timeStampColumns> = v;
v = newarray (boolean)[v];
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean[] dateColumns> = v;
v = 1;
label:
if v > v goto label;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: java.util.List dbMetaDataType>;
v = interfaceinvoke v.<java.sql.ResultSetMetaData: int getColumnType(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean columnIsOfType(int,int,java.lang.String)>(v, 93, "TIMESTAMP");
if v == 0 goto label;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean[] timeStampColumns>;
v = v - 1;
v[v] = 1;
goto label;
label:
v = specialinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean columnIsOfType(int,int,java.lang.String)>(v, 91, "DATE");
if v == 0 goto label;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean[] dateColumns>;
v = v - 1;
v[v] = 1;
label:
v = v + 1;
goto label;
label:
return;
}
boolean isTimestampColumn(int)
{
boolean[] v;
int v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData v;
boolean v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData;
v := @parameter: int;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean[] timeStampColumns>;
v = v - 1;
v = v[v];
return v;
}
boolean isDateColumn(int)
{
boolean[] v;
int v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData v;
boolean v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData;
v := @parameter: int;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: boolean[] dateColumns>;
v = v - 1;
v = v[v];
return v;
}
private boolean columnIsOfType(int, int, java.lang.String)
{
java.util.List v, v;
int v, v, v, v;
java.lang.Object v, v;
java.lang.String v, v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData v;
boolean v, v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.lang.String;
v = v - 1;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: java.util.List sqlResultColumns>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResultDBColumnsMetaData: java.util.List dbMetaDataType>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v == v goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.model.result.SQLResultColumn: java.lang.String dataType>;
if v == null goto label;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.model.result.SQLResultColumn: java.lang.String dataType>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
}