public abstract class org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult extends org.finos.legend.engine.plan.execution.result.Result implements org.finos.legend.engine.plan.execution.stores.StoreExecutable
{
private static final org.slf4j.Logger LOGGER;
private final java.lang.String databaseType;
private final java.util.List temporaryTables;
private final java.sql.Connection connection;
private final java.sql.Statement statement;
private final org.finos.legend.engine.shared.core.api.request.RequestContext requestContext;
public void <init>(java.lang.String, java.sql.Connection, java.util.List, java.lang.String, java.util.List, org.finos.legend.engine.shared.core.api.request.RequestContext)
{
java.lang.Throwable v;
java.sql.Connection v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType v;
java.lang.String v, v, v;
boolean v, v, v;
java.lang.RuntimeException v;
java.util.List v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
java.sql.Statement v, v;
org.finos.legend.engine.shared.core.api.request.RequestContext v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v := @parameter: java.lang.String;
v := @parameter: java.sql.Connection;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v := @parameter: org.finos.legend.engine.shared.core.api.request.RequestContext;
specialinvoke v.<org.finos.legend.engine.plan.execution.result.Result: void <init>(java.lang.String,java.util.List)>(v, v);
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.lang.String databaseType> = v;
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.util.List temporaryTables> = v;
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.finos.legend.engine.shared.core.api.request.RequestContext requestContext> = v;
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Connection connection> = v;
label:
v = interfaceinvoke v.<java.sql.Connection: java.sql.Statement createStatement()>();
v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement statement> = v;
v = <org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType MemSQL>;
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement statement>;
interfaceinvoke v.<java.sql.Statement: void setFetchSize(int)>(100);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: void close()>();
v = v instanceof java.lang.Error;
if v == 0 goto label;
throw v;
label:
v = v instanceof java.lang.RuntimeException;
if v == 0 goto label;
throw v;
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.Object accept(org.finos.legend.engine.plan.execution.result.ResultVisitor)
{
org.finos.legend.engine.plan.execution.result.ResultVisitor v;
java.lang.Object v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v := @parameter: org.finos.legend.engine.plan.execution.result.ResultVisitor;
v = interfaceinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.RelationalResultVisitor: java.lang.Object visit(org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult)>(v);
return v;
}
public java.lang.String getDatabaseType()
{
java.lang.String v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.lang.String databaseType>;
return v;
}
public java.util.List getTemporaryTables()
{
java.util.List v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.util.List temporaryTables>;
return v;
}
public org.finos.legend.engine.shared.core.api.request.RequestContext getRequestContext()
{
org.finos.legend.engine.shared.core.api.request.RequestContext v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.finos.legend.engine.shared.core.api.request.RequestContext requestContext>;
return v;
}
public java.sql.Connection getConnection()
{
java.sql.Connection v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Connection connection>;
return v;
}
public java.sql.Statement getStatement()
{
java.sql.Statement v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v = v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement statement>;
return v;
}
public abstract java.util.List getAdditionalCloseables();
public void close()
{
org.finos.legend.engine.plan.execution.stores.relational.connection.driver.DatabaseManager v;
java.sql.Connection v;
org.eclipse.collections.api.block.procedure.Procedure v;
org.eclipse.collections.impl.list.mutable.FastList v, v;
java.util.function.Consumer v, v;
java.util.List v, v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
java.sql.Statement v, v;
java.lang.String v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.lang.String getDatabaseType()>();
v = staticinvoke <org.finos.legend.engine.plan.execution.stores.relational.connection.driver.DatabaseManager: org.finos.legend.engine.plan.execution.stores.relational.connection.driver.DatabaseManager fromString(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.util.List getTemporaryTables()>();
if v == null goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement getStatement()>();
if v == null goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.util.List getTemporaryTables()>();
v = staticinvoke <org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult$lambda_close_0__97: java.util.function.Consumer bootstrap$(org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult,org.finos.legend.engine.plan.execution.stores.relational.connection.driver.DatabaseManager)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
label:
v = staticinvoke <org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult$lambda_close_1__95: java.util.function.Consumer bootstrap$()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.util.List getAdditionalCloseables()>();
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newList(java.lang.Iterable)>(v);
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement getStatement()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Connection getConnection()>();
v = virtualinvoke v.<org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList 'with'(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult$accept__96: org.eclipse.collections.api.block.procedure.Procedure bootstrap$(java.util.function.Consumer)>(v);
virtualinvoke v.<org.eclipse.collections.impl.list.mutable.FastList: void forEach(org.eclipse.collections.api.block.procedure.Procedure)>(v);
specialinvoke v.<org.finos.legend.engine.plan.execution.result.Result: void close()>();
return;
}
public void cancel()
{
org.finos.legend.engine.shared.core.operational.logs.LoggingEventType v, v;
org.finos.legend.engine.shared.core.identity.Identity v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v;
org.slf4j.Logger v, v;
java.lang.Exception v;
org.finos.legend.engine.shared.core.operational.logs.LogInfo v, v;
org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult v;
java.sql.Statement v, v;
org.finos.legend.engine.shared.core.api.request.RequestContext v, v;
v := @this: org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement getStatement()>();
v = interfaceinvoke v.<java.sql.Statement: boolean isClosed()>();
if v != 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: java.sql.Statement getStatement()>();
interfaceinvoke v.<java.sql.Statement: void cancel()>();
v = <org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.slf4j.Logger LOGGER>;
v = new org.finos.legend.engine.shared.core.operational.logs.LogInfo;
v = staticinvoke <org.finos.legend.engine.shared.core.identity.Identity: org.finos.legend.engine.shared.core.identity.Identity getAnonymousIdentity()>();
v = virtualinvoke v.<org.finos.legend.engine.shared.core.identity.Identity: java.lang.String getName()>();
v = <org.finos.legend.engine.shared.core.operational.logs.LoggingEventType: org.finos.legend.engine.shared.core.operational.logs.LoggingEventType EXECUTABLE_CANCELLATION>;
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.finos.legend.engine.shared.core.api.request.RequestContext getRequestContext()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.shared.core.api.request.RequestContext)>(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[])>("Successful cancellation of  RelationalResult \u0001");
specialinvoke v.<org.finos.legend.engine.shared.core.operational.logs.LogInfo: void <init>(java.lang.String,org.finos.legend.engine.shared.core.operational.logs.ILoggingEventType,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.finos.legend.engine.shared.core.operational.logs.LogInfo: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.slf4j.Logger LOGGER>;
v = new org.finos.legend.engine.shared.core.operational.logs.LogInfo;
v = staticinvoke <org.finos.legend.engine.shared.core.identity.Identity: org.finos.legend.engine.shared.core.identity.Identity getAnonymousIdentity()>();
v = virtualinvoke v.<org.finos.legend.engine.shared.core.identity.Identity: java.lang.String getName()>();
v = <org.finos.legend.engine.shared.core.operational.logs.LoggingEventType: org.finos.legend.engine.shared.core.operational.logs.LoggingEventType EXECUTABLE_CANCELLATION_ERROR>;
v = virtualinvoke v.<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.finos.legend.engine.shared.core.api.request.RequestContext getRequestContext()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.shared.core.api.request.RequestContext,java.lang.String)>(v, 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[])>("Unable to cancel  RelationalResult  for session \u \u0001");
specialinvoke v.<org.finos.legend.engine.shared.core.operational.logs.LogInfo: void <init>(java.lang.String,org.finos.legend.engine.shared.core.operational.logs.ILoggingEventType,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.finos.legend.engine.shared.core.operational.logs.LogInfo: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
return;
catch java.lang.Exception from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/finos/legend/engine/plan/execution/stores/relational/result/SQLResult;");
<org.finos.legend.engine.plan.execution.stores.relational.result.SQLResult: org.slf4j.Logger LOGGER> = v;
return;
}
}