public class org.finos.legend.engine.postgres.handler.legend.LegendResultSet extends java.lang.Object implements org.finos.legend.engine.postgres.handler.PostgresResultSet
{
public static final java.time.format.DateTimeFormatter TIMESTAMP_FORMATTER;
public static final java.time.format.DateTimeFormatter DATE_FORMAT;
private org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult;
private java.util.List currentRow;
public void <init>(org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult)
{
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v := @parameter: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult> = v;
return;
}
public org.finos.legend.engine.postgres.handler.PostgresResultSetMetaData getMetaData() throws java.lang.Exception
{
java.util.List v;
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
org.finos.legend.engine.postgres.handler.legend.LegendResultSetMetaData v;
org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v = new org.finos.legend.engine.postgres.handler.legend.LegendResultSetMetaData;
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult>;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult: java.util.List getLegendColumns()>();
specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSetMetaData: void <init>(java.util.List)>(v);
return v;
}
public java.lang.Object getObject(int) throws java.lang.Exception
{
byte v;
boolean v, v, v, v, v, v, v, v, v;
com.google.common.base.Function v, v, v, v, v, v;
java.util.List v, v;
int v, v, v, v;
java.lang.String v;
org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult v;
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v := @parameter: int;
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult>;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult: java.util.List getLegendColumns()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.util.List currentRow>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendColumn: java.lang.String getType()>();
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1950496919: goto label;
case -1808118735: goto label;
case -1088050383: goto label;
case -672261858: goto label;
case 2122702: goto label;
case 67973692: goto label;
case 116986423: goto label;
case 1729365000: goto label;
case 1857393595: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("StrictDate");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Date");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("DateTime");
if v == 0 goto label;
v = 2;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Integer");
if v == 0 goto label;
v = 3;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Float");
if v == 0 goto label;
v = 4;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Number");
if v == 0 goto label;
v = 5;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Decimal");
if v == 0 goto label;
v = 6;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Boolean");
if v == 0 goto label;
v = 7;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("String");
if v == 0 goto label;
v = 8;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
v = staticinvoke <org.finos.legend.engine.postgres.handler.legend.LegendResultSet$lambda_getObject_0__20: com.google.common.base.Function bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.Object extractValue(java.lang.Object,org.finos.legend.engine.postgres.handler.legend.LegendColumn,java.lang.Class,java.lang.String,com.google.common.base.Function)>(v, v, class "Ljava/lang/String;", "Date (YYYY-MM-DD)", v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.postgres.handler.legend.LegendResultSet$lambda_getObject_1__19: com.google.common.base.Function bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.Object extractValue(java.lang.Object,org.finos.legend.engine.postgres.handler.legend.LegendColumn,java.lang.Class,java.lang.String,com.google.common.base.Function)>(v, v, class "Ljava/lang/String;", "Date (YYYY-MM-DD) or Timestamp (YYYY-MM-DDThh:mm:ss.000000000+0000)", v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.postgres.handler.legend.LegendResultSet$lambda_getObject_2__18: com.google.common.base.Function bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.Object extractValue(java.lang.Object,org.finos.legend.engine.postgres.handler.legend.LegendColumn,java.lang.Class,java.lang.String,com.google.common.base.Function)>(v, v, class "Ljava/lang/Number;", "INTEGER", v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.postgres.handler.legend.LegendResultSet$lambda_getObject_3__17: com.google.common.base.Function bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.Object extractValue(java.lang.Object,org.finos.legend.engine.postgres.handler.legend.LegendColumn,java.lang.Class,java.lang.String,com.google.common.base.Function)>(v, v, class "Ljava/lang/Number;", "DECIMAL (FLOAT/DOUBLE)", v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.postgres.handler.legend.LegendResultSet$lambda_getObject_4__16: com.google.common.base.Function bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.Object extractValue(java.lang.Object,org.finos.legend.engine.postgres.handler.legend.LegendColumn,java.lang.Class,java.lang.String,com.google.common.base.Function)>(v, v, class "Ljava/lang/Boolean;", "BOOLEAN", v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.postgres.handler.legend.LegendResultSet$lambda_getObject_5__15: com.google.common.base.Function bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.Object extractValue(java.lang.Object,org.finos.legend.engine.postgres.handler.legend.LegendColumn,java.lang.Class,java.lang.String,com.google.common.base.Function)>(v, v, class "Ljava/lang/String;", "STRING", v);
return v;
label:
return v;
}
private java.lang.Object extractValue(java.lang.Object, org.finos.legend.engine.postgres.handler.legend.LegendColumn, java.lang.Class, java.lang.String, com.google.common.base.Function)
{
java.lang.Object[] v, v;
org.finos.legend.engine.postgres.PostgresServerException v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
boolean v;
com.google.common.base.Function v;
java.lang.Exception v;
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
java.lang.Class v, v;
java.lang.Object v, v;
org.finos.legend.engine.postgres.handler.legend.LegendColumn v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.engine.postgres.handler.legend.LegendColumn;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: com.google.common.base.Function;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v != 0 goto label;
v = new org.finos.legend.engine.postgres.PostgresServerException;
v = newarray (java.lang.Object)[4];
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.String obfuscateValue(java.lang.Object)>(v);
v[0] = v;
v = virtualinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendColumn: java.lang.String getName()>();
v[1] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[2] = v;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[3] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unexpected data type for value \'%s\' in column \'%s\'. Expected data type \'%s\', actual data type \'%s\'", v);
specialinvoke v.<org.finos.legend.engine.postgres.PostgresServerException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<com.google.common.base.Function: java.lang.Object apply(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.finos.legend.engine.postgres.PostgresServerException;
v = newarray (java.lang.Object)[4];
v = specialinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.lang.String obfuscateValue(java.lang.Object)>(v);
v[0] = v;
v = virtualinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendColumn: java.lang.String getName()>();
v[1] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[2] = v;
v[3] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unexpected value \'%s\' in column \'%s\'. Expected data type \'%s\', value format \'%s\'", v);
specialinvoke v.<org.finos.legend.engine.postgres.PostgresServerException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Exception from label to label with label;
}
private java.lang.String obfuscateValue(java.lang.Object)
{
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
int v;
java.lang.Object v;
java.lang.String v, v, v, v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v := @parameter: java.lang.Object;
if v != null goto label;
return "";
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v > 5 goto label;
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[])>("\u....");
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, 5);
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[])>("\u....");
return v;
}
public boolean next() throws java.lang.Exception
{
java.util.List v;
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult v, v;
boolean v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult>;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult: boolean hasNext()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult>;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult: java.util.List next()>();
v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.util.List currentRow> = v;
return 1;
label:
return 0;
}
public void close()
{
org.finos.legend.engine.postgres.handler.legend.LegendResultSet v;
org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult v, v;
v := @this: org.finos.legend.engine.postgres.handler.legend.LegendResultSet;
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult>;
if v == null goto label;
v = v.<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult legendExecutionResult>;
interfaceinvoke v.<org.finos.legend.engine.postgres.handler.legend.LegendExecutionResult: void close()>();
label:
return;
}
static void <clinit>()
{
java.time.format.DateTimeFormatterBuilder v, v, v, v, v, v, v;
java.time.format.DateTimeFormatter v, v, v, v;
v = new java.time.format.DateTimeFormatterBuilder;
specialinvoke v.<java.time.format.DateTimeFormatterBuilder: void <init>()>();
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatterBuilder parseCaseInsensitive()>();
v = <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ISO_LOCAL_DATE>;
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatterBuilder append(java.time.format.DateTimeFormatter)>(v);
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatterBuilder optionalStart()>();
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatterBuilder appendLiteral(char)>(84);
v = <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ISO_LOCAL_TIME>;
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatterBuilder append(java.time.format.DateTimeFormatter)>(v);
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatterBuilder appendOffset(java.lang.String,java.lang.String)>("+HHMM", "+0000");
v = virtualinvoke v.<java.time.format.DateTimeFormatterBuilder: java.time.format.DateTimeFormatter toFormatter()>();
<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.time.format.DateTimeFormatter TIMESTAMP_FORMATTER> = v;
v = <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ISO_LOCAL_DATE>;
<org.finos.legend.engine.postgres.handler.legend.LegendResultSet: java.time.format.DateTimeFormatter DATE_FORMAT> = v;
return;
}
}