public class org.finos.legend.engine.postgres.PostgresWireProtocol extends java.lang.Object
{
private static final org.slf4j.Logger LOGGER;
public static int SERVER_VERSION_NUM;
public static java.lang.String PG_SERVER_VERSION;
final org.finos.legend.engine.postgres.PgDecoder decoder;
final org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler handler;
private final org.finos.legend.engine.postgres.SessionsFactory sessions;
private final org.finos.legend.engine.postgres.auth.AuthenticationProvider authService;
private final org.finos.legend.engine.postgres.config.GSSConfig gssConfig;
private org.finos.legend.engine.postgres.DelayableWriteChannel channel;
org.finos.legend.engine.postgres.Session session;
private boolean ignoreTillSync;
private org.finos.legend.engine.postgres.AuthenticationContext authContext;
private java.util.Properties properties;
private org.finos.legend.engine.postgres.Messages messages;
public void <init>(org.finos.legend.engine.postgres.SessionsFactory, org.finos.legend.engine.postgres.auth.AuthenticationProvider, org.finos.legend.engine.postgres.config.GSSConfig, java.util.function.Supplier, org.finos.legend.engine.postgres.Messages)
{
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.util.function.Supplier v;
org.finos.legend.engine.postgres.SessionsFactory v;
org.finos.legend.engine.postgres.Messages v;
org.finos.legend.engine.postgres.PgDecoder v;
org.finos.legend.engine.postgres.auth.AuthenticationProvider v;
org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler v;
org.finos.legend.engine.postgres.config.GSSConfig v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: org.finos.legend.engine.postgres.SessionsFactory;
v := @parameter: org.finos.legend.engine.postgres.auth.AuthenticationProvider;
v := @parameter: org.finos.legend.engine.postgres.config.GSSConfig;
v := @parameter: java.util.function.Supplier;
v := @parameter: org.finos.legend.engine.postgres.Messages;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: boolean ignoreTillSync> = 0;
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.SessionsFactory sessions> = v;
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.auth.AuthenticationProvider authService> = v;
v = new org.finos.legend.engine.postgres.PgDecoder;
specialinvoke v.<org.finos.legend.engine.postgres.PgDecoder: void <init>(java.util.function.Supplier)>(v);
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.PgDecoder decoder> = v;
v = new org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler;
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler: void <init>(org.finos.legend.engine.postgres.PostgresWireProtocol)>(v);
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler handler> = v;
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.config.GSSConfig gssConfig> = v;
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages> = v;
return;
}
static java.lang.String readCString(io.netty.buffer.ByteBuf)
{
byte[] v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
int v, v, v, v, v;
java.lang.String v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int bytesBefore(byte)>(0);
v = v + 1;
v = newarray (byte)[v];
v = lengthof v;
if v != 0 goto label;
return null;
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(byte[])>(v);
v = new java.lang.String;
v = lengthof v;
v = v - 1;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],int,int,java.nio.charset.Charset)>(v, 0, v, v);
return v;
}
private static char[] readCharArray(io.netty.buffer.ByteBuf)
{
byte[] v;
java.nio.CharBuffer v;
java.nio.ByteBuffer v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
int v, v, v;
char[] v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int bytesBefore(byte)>(0);
v = v + 1;
v = newarray (byte)[v];
v = lengthof v;
if v != 0 goto label;
return null;
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(byte[])>(v);
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = virtualinvoke v.<java.nio.charset.Charset: java.nio.CharBuffer decode(java.nio.ByteBuffer)>(v);
v = virtualinvoke v.<java.nio.CharBuffer: char[] array()>();
return v;
}
private static byte[] readByteArray(io.netty.buffer.ByteBuf, int)
{
int v;
byte[] v;
io.netty.buffer.ByteBuf v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
if v != 0 goto label;
return null;
label:
v = newarray (byte)[v];
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(byte[])>(v);
return v;
}
private java.util.Properties readStartupMessage(io.netty.buffer.ByteBuf)
{
java.util.Properties v;
org.slf4j.Logger v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
io.netty.buffer.ByteBuf v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = <org.finos.legend.engine.postgres.PostgresWireProtocol: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("payload: key={} value={}", v, v);
v = "";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<java.util.Properties: java.lang.Object setProperty(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
return v;
}
private void handleStartupBody(io.netty.buffer.ByteBuf, io.netty.channel.Channel)
{
io.netty.channel.Channel v;
java.util.Properties v;
io.netty.buffer.ByteBuf v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v = specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: java.util.Properties readStartupMessage(io.netty.buffer.ByteBuf)>(v);
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: java.util.Properties properties> = v;
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: void initAuthentication(io.netty.channel.Channel)>(v);
return;
}
public static java.net.InetAddress getRemoteAddress(io.netty.channel.Channel)
{
io.netty.channel.Channel v;
java.net.InetAddress v, v;
java.net.SocketAddress v, v;
boolean v;
v := @parameter: io.netty.channel.Channel;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = v instanceof java.net.InetSocketAddress;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
return v;
label:
v = staticinvoke <com.google.common.net.InetAddresses: java.net.InetAddress forString(java.lang.String)>("127.0.0.1");
return v;
}
public static javax.net.ssl.SSLSession getSession(io.netty.channel.Channel)
{
io.netty.channel.Channel v;
javax.net.ssl.SSLSession v;
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
javax.net.ssl.SSLEngine v;
v := @parameter: io.netty.channel.Channel;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPipeline pipeline()>();
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelHandler get(java.lang.Class)>(class "Lio/netty/handler/ssl/SslHandler;");
if v == null goto label;
v = virtualinvoke v.<io.netty.handler.ssl.SslHandler: javax.net.ssl.SSLEngine engine()>();
v = virtualinvoke v.<javax.net.ssl.SSLEngine: javax.net.ssl.SSLSession getSession()>();
return v;
label:
return null;
}
private void initAuthentication(io.netty.channel.Channel)
{
java.lang.Object[] v;
org.finos.legend.engine.postgres.AuthenticationContext v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.net.InetAddress v;
javax.net.ssl.SSLSession v;
org.finos.legend.engine.postgres.Messages v, v, v, v;
java.util.Locale v;
java.lang.String v, v, v;
java.util.Properties v;
org.slf4j.Logger v;
org.finos.legend.engine.postgres.ConnectionProperties v;
org.finos.legend.engine.postgres.auth.AuthenticationMethodType v, v, v, v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.auth.AuthenticationProvider v;
org.finos.legend.engine.postgres.auth.AuthenticationMethod v;
org.finos.legend.engine.postgres.config.GSSConfig v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.channel.Channel;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: java.util.Properties properties>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("user");
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.net.InetAddress getRemoteAddress(io.netty.channel.Channel)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: javax.net.ssl.SSLSession getSession(io.netty.channel.Channel)>(v);
v = new org.finos.legend.engine.postgres.ConnectionProperties;
specialinvoke v.<org.finos.legend.engine.postgres.ConnectionProperties: void <init>(java.net.InetAddress,javax.net.ssl.SSLSession)>(v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.auth.AuthenticationProvider authService>;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.auth.AuthenticationProvider: org.finos.legend.engine.postgres.auth.AuthenticationMethod resolveAuthenticationType(java.lang.String,org.finos.legend.engine.postgres.ConnectionProperties)>(v, v);
if v != null goto label;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostAddress()>();
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, "No valid auth.host_based entry found for host \"%s\", user \"%s\". Did you enable TLS in your client?", v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendAuthenticationError(io.netty.channel.Channel,java.lang.String)>(v, v);
goto label;
label:
v = new org.finos.legend.engine.postgres.AuthenticationContext;
v = <org.finos.legend.engine.postgres.PostgresWireProtocol: org.slf4j.Logger LOGGER>;
specialinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void <init>(org.finos.legend.engine.postgres.auth.AuthenticationMethod,org.finos.legend.engine.postgres.ConnectionProperties,java.lang.String,org.slf4j.Logger)>(v, v, v, v);
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = v;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.auth.AuthenticationMethod: org.finos.legend.engine.postgres.auth.AuthenticationMethodType name()>();
v = <org.finos.legend.engine.postgres.auth.AuthenticationMethodType: org.finos.legend.engine.postgres.auth.AuthenticationMethodType PASSWORD>;
if v != v goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendAuthenticationCleartextPassword(io.netty.channel.Channel)>(v);
return;
label:
v = interfaceinvoke v.<org.finos.legend.engine.postgres.auth.AuthenticationMethod: org.finos.legend.engine.postgres.auth.AuthenticationMethodType name()>();
v = <org.finos.legend.engine.postgres.auth.AuthenticationMethodType: org.finos.legend.engine.postgres.auth.AuthenticationMethodType GSS>;
if v != v goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.config.GSSConfig gssConfig>;
if v != null goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendAuthenticationError(io.netty.channel.Channel,java.lang.String)>(v, "GSS Auth not configured in this server");
return;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendAuthenticationKerberos(io.netty.channel.Channel)>(v);
return;
label:
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: void finishAuthentication(io.netty.channel.Channel)>(v);
label:
return;
}
private void finishAuthentication(io.netty.channel.Channel)
{
java.lang.Throwable v;
org.finos.legend.engine.shared.core.identity.Identity v;
org.slf4j.Logger v;
org.finos.legend.engine.postgres.AuthenticationContext v, v, v, v, v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.lang.Exception v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.Messages v;
org.eclipse.collections.api.block.function.Function v;
java.lang.String v;
boolean v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.channel.Channel;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol$lambda_finishAuthentication_7629b6c8_1__3: org.eclipse.collections.api.block.function.Function bootstrap$()>();
staticinvoke <org.finos.legend.engine.shared.core.operational.Assert: void assertTrue(boolean,org.eclipse.collections.api.block.function.Function)>(v, v);
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: org.finos.legend.engine.shared.core.identity.Identity authenticate()>();
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: void handleAuthSuccess(io.netty.channel.Channel,org.finos.legend.engine.shared.core.identity.Identity)>(v, v);
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void close()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendAuthenticationError(io.netty.channel.Channel,java.lang.String)>(v, v);
v = <org.finos.legend.engine.postgres.PostgresWireProtocol: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Auth Error", v);
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void close()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void close()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = null;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void finishAuthentication(io.netty.channel.Channel, javax.security.auth.Subject)
{
java.lang.Throwable v;
org.finos.legend.engine.shared.core.identity.Identity v;
org.slf4j.Logger v;
org.finos.legend.engine.postgres.AuthenticationContext v, v, v, v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.lang.Exception v;
javax.security.auth.Subject v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.Messages v;
org.eclipse.collections.api.block.function.Function v;
java.lang.String v;
boolean v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.channel.Channel;
v := @parameter: javax.security.auth.Subject;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol$lambda_finishAuthentication_193f7aa8_1__4: org.eclipse.collections.api.block.function.Function bootstrap$()>();
staticinvoke <org.finos.legend.engine.shared.core.operational.Assert: void assertTrue(boolean,org.eclipse.collections.api.block.function.Function)>(v, v);
label:
v = staticinvoke <org.finos.legend.engine.postgres.auth.KerberosIdentityProvider: org.finos.legend.engine.shared.core.identity.Identity getIdentityForSubject(javax.security.auth.Subject)>(v);
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: void handleAuthSuccess(io.netty.channel.Channel,org.finos.legend.engine.shared.core.identity.Identity)>(v, v);
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void close()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendAuthenticationError(io.netty.channel.Channel,java.lang.String)>(v, v);
v = <org.finos.legend.engine.postgres.PostgresWireProtocol: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Auth Error", v);
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void close()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void close()>();
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext> = null;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void handleAuthSuccess(io.netty.channel.Channel, org.finos.legend.engine.shared.core.identity.Identity) throws java.lang.Exception
{
org.finos.legend.engine.shared.core.identity.Identity v;
java.util.Properties v;
io.netty.util.concurrent.GenericFutureListener v, v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
org.finos.legend.engine.postgres.SessionsFactory v;
io.netty.channel.ChannelFuture v, v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.Messages v;
java.lang.String v, v;
org.finos.legend.engine.postgres.Session v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.channel.Channel;
v := @parameter: org.finos.legend.engine.shared.core.identity.Identity;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: java.util.Properties properties>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("database");
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.SessionsFactory sessions>;
v = interfaceinvoke v.<org.finos.legend.engine.postgres.SessionsFactory: org.finos.legend.engine.postgres.Session createSession(java.lang.String,org.finos.legend.engine.shared.core.identity.Identity)>(v, v);
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session> = v;
v = virtualinvoke v.<org.finos.legend.engine.shared.core.identity.Identity: java.lang.String getName()>();
staticinvoke <org.slf4j.MDC: void put(java.lang.String,java.lang.String)>("user", v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendAuthenticationOK(io.netty.channel.Channel)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol$lambda_handleAuthSuccess_0__5: io.netty.util.concurrent.GenericFutureListener bootstrap$(org.finos.legend.engine.postgres.PostgresWireProtocol,io.netty.channel.Channel)>(v, v);
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol$lambda_handleAuthSuccess_1__6: io.netty.util.concurrent.GenericFutureListener bootstrap$(org.finos.legend.engine.postgres.PostgresWireProtocol,io.netty.channel.Channel)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
private void sendParams(io.netty.channel.Channel)
{
org.finos.legend.engine.postgres.PostgresWireProtocol v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.Messages v, v, v, v, v, v;
java.lang.String v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.channel.Channel;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
v = <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String PG_SERVER_VERSION>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterStatus(io.netty.channel.Channel,java.lang.String,java.lang.String)>(v, "server_version", v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterStatus(io.netty.channel.Channel,java.lang.String,java.lang.String)>(v, "server_encoding", "UTF8");
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterStatus(io.netty.channel.Channel,java.lang.String,java.lang.String)>(v, "client_encoding", "UTF8");
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterStatus(io.netty.channel.Channel,java.lang.String,java.lang.String)>(v, "datestyle", "ISO");
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterStatus(io.netty.channel.Channel,java.lang.String,java.lang.String)>(v, "TimeZone", "UTC");
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterStatus(io.netty.channel.Channel,java.lang.String,java.lang.String)>(v, "integer_datetimes", "on");
return;
}
private void handleFlush(io.netty.channel.Channel)
{
io.netty.channel.Channel v;
java.lang.Throwable v;
org.finos.legend.engine.postgres.Messages v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
org.finos.legend.engine.postgres.Session v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.channel.Channel;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: java.util.concurrent.CompletableFuture sync()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendErrorResponse(io.netty.channel.Channel,java.lang.Throwable)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void handleParseMessage(io.netty.buffer.ByteBuf, io.netty.channel.Channel)
{
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.lang.Integer v;
java.util.ArrayList v;
io.netty.channel.Channel v;
short v;
org.finos.legend.engine.postgres.Messages v;
io.netty.buffer.ByteBuf v;
int v, v, v;
java.lang.String v, v;
org.finos.legend.engine.postgres.Session v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short readShort()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readInt()>();
v = staticinvoke <org.finos.legend.engine.postgres.types.PGTypes: int fromOID(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 = v + 1;
goto label;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: void parse(java.lang.String,java.lang.String,java.util.List)>(v, v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParseComplete(io.netty.channel.Channel)>(v);
return;
}
private void handlePassword(io.netty.buffer.ByteBuf, io.netty.channel.Channel, int)
{
byte[] v, v;
java.lang.IllegalStateException v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
int[] v;
boolean v;
org.ietf.jgss.GSSContext v;
org.ietf.jgss.GSSCredential v;
org.finos.legend.engine.postgres.auth.AuthenticationMethodType v;
java.lang.Exception v;
org.finos.legend.engine.postgres.config.GSSConfig v, v, v;
org.finos.legend.engine.postgres.AuthenticationContext v, v;
org.finos.legend.engine.postgres.Messages v, v;
io.netty.buffer.ByteBuf v;
int v, v, v, v;
java.lang.String v, v, v;
java.lang.RuntimeException v;
javax.security.auth.Subject v, v;
org.ietf.jgss.GSSManager v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.PostgresWireProtocol$AcceptorCreator v;
char[] v;
java.lang.Object v;
org.ietf.jgss.GSSName v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v := @parameter: int;
v = <org.finos.legend.engine.postgres.PostgresWireProtocol$1: int[] $SwitchMap$org$finos$legend$engine$postgres$auth$AuthenticationMethodType>;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: org.finos.legend.engine.postgres.auth.AuthenticationMethodType getAuthenticationMethodType()>();
v = virtualinvoke v.<org.finos.legend.engine.postgres.auth.AuthenticationMethodType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: byte[] readByteArray(io.netty.buffer.ByteBuf,int)>(v, v);
if v != null goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("GSS Token cannot be empty");
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendErrorResponse(io.netty.channel.Channel,java.lang.Throwable)>(v, v);
return;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.config.GSSConfig gssConfig>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.config.GSSConfig: java.lang.String getKerberosKeytabFile()>();
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.config.GSSConfig gssConfig>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.config.GSSConfig: java.lang.String getKerberosUserPrincipal()>();
v = staticinvoke <org.finos.legend.engine.shared.core.kerberos.SubjectTools: javax.security.auth.Subject getSubjectFromKeytab(java.lang.String,java.lang.String,boolean)>(v, v, 0);
v = staticinvoke <org.ietf.jgss.GSSManager: org.ietf.jgss.GSSManager getInstance()>();
label:
v = new org.finos.legend.engine.postgres.PostgresWireProtocol$AcceptorCreator;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.config.GSSConfig gssConfig>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.config.GSSConfig: java.lang.String getKerberosUserPrincipal()>();
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol$AcceptorCreator: void <init>(org.ietf.jgss.GSSManager,java.lang.String)>(v, v);
v = staticinvoke <javax.security.auth.Subject: java.lang.Object doAs(javax.security.auth.Subject,java.security.PrivilegedExceptionAction)>(v, v);
v = virtualinvoke v.<org.ietf.jgss.GSSManager: org.ietf.jgss.GSSContext createContext(org.ietf.jgss.GSSCredential)>(v);
interfaceinvoke v.<org.ietf.jgss.GSSContext: void requestCredDeleg(boolean)>(1);
interfaceinvoke v.<org.ietf.jgss.GSSContext: void requestMutualAuth(boolean)>(1);
v = interfaceinvoke v.<org.ietf.jgss.GSSContext: boolean isEstablished()>();
if v != 0 goto label;
v = lengthof v;
v = interfaceinvoke v.<org.ietf.jgss.GSSContext: byte[] acceptSecContext(byte[],int,int)>(v, 0, v);
if v == null goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendGssOutToken(io.netty.channel.Channel,byte[])>(v, v);
label:
v = interfaceinvoke v.<org.ietf.jgss.GSSContext: org.ietf.jgss.GSSName getSrcName()>();
v = interfaceinvoke v.<org.ietf.jgss.GSSContext: org.ietf.jgss.GSSCredential getDelegCred()>();
v = staticinvoke <com.sun.security.jgss.GSSUtil: javax.security.auth.Subject createSubject(org.ietf.jgss.GSSName,org.ietf.jgss.GSSCredential)>(v, v);
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: void finishAuthentication(io.netty.channel.Channel,javax.security.auth.Subject)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: char[] readCharArray(io.netty.buffer.ByteBuf)>(v);
if v == null goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.AuthenticationContext authContext>;
virtualinvoke v.<org.finos.legend.engine.postgres.AuthenticationContext: void setSecurePassword(char[])>(v);
label:
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: void finishAuthentication(io.netty.channel.Channel)>(v);
label:
return;
catch java.security.PrivilegedActionException from label to label with label;
catch org.ietf.jgss.GSSException from label to label with label;
}
private void handleBindMessage(io.netty.buffer.ByteBuf, io.netty.channel.Channel)
{
java.lang.Object[] v;
org.finos.legend.engine.postgres.FormatCodes$FormatCode[] v, v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.lang.Integer v, v;
short v;
org.finos.legend.engine.postgres.Messages v, v;
io.netty.buffer.ByteBuf v;
int[] v;
java.util.Locale v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v;
java.lang.UnsupportedOperationException v;
org.finos.legend.engine.postgres.types.PGType v;
io.netty.channel.Channel v;
java.util.List v;
org.finos.legend.engine.postgres.FormatCodes$FormatCode v;
java.lang.Object v, v;
org.finos.legend.engine.postgres.Session v, v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.FormatCodes: org.finos.legend.engine.postgres.FormatCodes$FormatCode[] fromBuffer(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short readShort()>();
v = specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol: java.util.List createList(short)>(v);
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readInt()>();
v = (int) -1;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(null);
goto label;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: int getParamType(java.lang.String,int)>(v, v);
v = staticinvoke <org.finos.legend.engine.postgres.types.PGTypes: org.finos.legend.engine.postgres.types.PGType get(int,int)>(v, 0);
v = staticinvoke <org.finos.legend.engine.postgres.FormatCodes: org.finos.legend.engine.postgres.FormatCodes$FormatCode getFormatCode(org.finos.legend.engine.postgres.FormatCodes$FormatCode[],int)>(v, v);
v = <org.finos.legend.engine.postgres.PostgresWireProtocol$1: int[] $SwitchMap$org$finos$legend$engine$postgres$FormatCodes$FormatCode>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.FormatCodes$FormatCode: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<org.finos.legend.engine.postgres.types.PGType: java.lang.Object readTextValue(io.netty.buffer.ByteBuf,int)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.postgres.types.PGType: java.lang.Object readBinaryValue(io.netty.buffer.ByteBuf,int)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
v = new java.lang.UnsupportedOperationException;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<org.finos.legend.engine.postgres.FormatCodes$FormatCode: int ordinal()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, "Unsupported format code \'%d\' for param \'%s\'", v);
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendErrorResponse(io.netty.channel.Channel,java.lang.Throwable)>(v, v);
return;
label:
v = v + 1;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.postgres.FormatCodes: org.finos.legend.engine.postgres.FormatCodes$FormatCode[] fromBuffer(io.netty.buffer.ByteBuf)>(v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: void bind(java.lang.String,java.lang.String,java.util.List,org.finos.legend.engine.postgres.FormatCodes$FormatCode[])>(v, v, v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendBindComplete(io.netty.channel.Channel)>(v);
return;
}
private java.util.List createList(short)
{
java.util.List v;
short v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.util.ArrayList v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: short;
if v != 0 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
goto label;
label:
v = new java.util.ArrayList;
v = v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
label:
return v;
}
private void handleDescribeMessage(io.netty.buffer.ByteBuf, io.netty.channel.Channel) throws java.lang.Exception
{
io.opentelemetry.api.trace.StatusCode v;
org.finos.legend.engine.postgres.FormatCodes$FormatCode[] v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
byte v;
java.sql.ParameterMetaData v;
io.opentelemetry.api.trace.SpanBuilder v;
io.opentelemetry.api.metrics.LongUpDownCounter v, v, v;
io.opentelemetry.api.metrics.LongCounter v, v, v;
io.opentelemetry.api.trace.Span v;
java.lang.Exception v;
org.finos.legend.engine.postgres.DescribeResult v;
java.lang.Throwable v, v;
long v, v, v;
io.opentelemetry.api.trace.Tracer v;
org.finos.legend.engine.postgres.Messages v, v, v;
io.netty.buffer.ByteBuf v;
org.finos.legend.engine.postgres.handler.PostgresResultSetMetaData v;
java.lang.String v;
io.opentelemetry.context.Scope v;
io.opentelemetry.api.metrics.DoubleHistogram v;
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.Session v, v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.LongCounter TOTAL_METADATA>;
interfaceinvoke v.<io.opentelemetry.api.metrics.LongCounter: void add(long)>(1L);
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.LongUpDownCounter ACTIVE_METADATA>;
interfaceinvoke v.<io.opentelemetry.api.metrics.LongUpDownCounter: void add(long)>(1L);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = staticinvoke <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.trace.Tracer getTracer()>();
v = interfaceinvoke v.<io.opentelemetry.api.trace.Tracer: io.opentelemetry.api.trace.SpanBuilder spanBuilder(java.lang.String)>("WireProtocol Handle Describe Message");
v = interfaceinvoke v.<io.opentelemetry.api.trace.SpanBuilder: io.opentelemetry.api.trace.Span startSpan()>();
label:
v = interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.context.Scope makeCurrent()>();
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte readByte()>();
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: org.finos.legend.engine.postgres.DescribeResult describe(char,java.lang.String)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.postgres.DescribeResult: org.finos.legend.engine.postgres.handler.PostgresResultSetMetaData getFields()>();
if v != 83 goto label;
v = virtualinvoke v.<org.finos.legend.engine.postgres.DescribeResult: java.sql.ParameterMetaData getParameters()>();
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendParameterDescription(io.netty.channel.Channel,java.sql.ParameterMetaData)>(v, v);
label:
if v != null goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendNoData(io.netty.channel.Channel)>(v);
goto label;
label:
if v != 80 goto label;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: org.finos.legend.engine.postgres.FormatCodes$FormatCode[] getResultFormatCodes(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendRowDescription(io.netty.channel.Channel,org.finos.legend.engine.postgres.handler.PostgresResultSetMetaData,org.finos.legend.engine.postgres.FormatCodes$FormatCode[])>(v, v, v);
label:
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.LongCounter TOTAL_SUCCESS_METADATA>;
interfaceinvoke v.<io.opentelemetry.api.metrics.LongCounter: void add(long)>(1L);
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.DoubleHistogram METADATA_DURATION>;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
interfaceinvoke v.<io.opentelemetry.api.metrics.DoubleHistogram: void record(double)>(v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.LongUpDownCounter ACTIVE_METADATA>;
interfaceinvoke v.<io.opentelemetry.api.metrics.LongUpDownCounter: void add(long)>(-1L);
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
goto label;
label:
v := @caughtexception;
v = <io.opentelemetry.api.trace.StatusCode: io.opentelemetry.api.trace.StatusCode ERROR>;
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setStatus(io.opentelemetry.api.trace.StatusCode,java.lang.String)>(v, "Failed to handle describe message");
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span recordException(java.lang.Throwable)>(v);
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.LongCounter TOTAL_FAILURE_METADATA>;
interfaceinvoke v.<io.opentelemetry.api.metrics.LongCounter: void add(long)>(1L);
throw v;
label:
v := @caughtexception;
v = <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.metrics.LongUpDownCounter ACTIVE_METADATA>;
interfaceinvoke v.<io.opentelemetry.api.metrics.LongUpDownCounter: void add(long)>(-1L);
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void handleExecute(io.netty.buffer.ByteBuf, org.finos.legend.engine.postgres.DelayableWriteChannel)
{
java.lang.Throwable v, v;
org.finos.legend.engine.shared.core.identity.Identity v;
io.opentelemetry.api.trace.StatusCode v;
io.opentelemetry.api.trace.Tracer v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
org.finos.legend.engine.postgres.PostgresServerException v;
org.finos.legend.engine.postgres.Messages v;
io.netty.buffer.ByteBuf v;
int v;
io.opentelemetry.api.trace.SpanBuilder v;
java.lang.String v, v, v;
org.finos.legend.engine.postgres.ResultSetReceiver v;
org.finos.legend.engine.postgres.DelayableWriteChannel$DelayedWrites v;
io.opentelemetry.api.trace.Span v;
io.opentelemetry.context.Scope v;
org.finos.legend.engine.postgres.DelayableWriteChannel v;
java.lang.Exception v;
org.finos.legend.engine.postgres.Session v, v, v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: org.finos.legend.engine.postgres.DelayableWriteChannel;
v = staticinvoke <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.trace.Tracer getTracer()>();
v = interfaceinvoke v.<io.opentelemetry.api.trace.Tracer: io.opentelemetry.api.trace.SpanBuilder spanBuilder(java.lang.String)>("WireProtocol Handle Execute");
v = interfaceinvoke v.<io.opentelemetry.api.trace.SpanBuilder: io.opentelemetry.api.trace.Span startSpan()>();
label:
v = interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.context.Scope makeCurrent()>();
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readInt()>();
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: java.lang.String getQuery(java.lang.String)>(v);
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setAttribute(java.lang.String,java.lang.String)>("portal.name", v);
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setAttribute(java.lang.String,java.lang.String)>("query", v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: org.finos.legend.engine.shared.core.identity.Identity getIdentity()>();
v = virtualinvoke v.<org.finos.legend.engine.shared.core.identity.Identity: java.lang.String getName()>();
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setAttribute(java.lang.String,java.lang.String)>("user", v);
v = virtualinvoke v.<org.finos.legend.engine.postgres.DelayableWriteChannel: org.finos.legend.engine.postgres.DelayableWriteChannel$DelayedWrites delayWrites()>();
v = new org.finos.legend.engine.postgres.ResultSetReceiver;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
specialinvoke v.<org.finos.legend.engine.postgres.ResultSetReceiver: void <init>(java.lang.String,org.finos.legend.engine.postgres.DelayableWriteChannel,org.finos.legend.engine.postgres.DelayableWriteChannel$DelayedWrites,boolean,org.finos.legend.engine.postgres.FormatCodes$FormatCode[],org.finos.legend.engine.postgres.Messages)>(v, v, v, 0, null, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: java.util.concurrent.CompletableFuture execute(java.lang.String,int,org.finos.legend.engine.postgres.ResultSetReceiver)>(v, v, v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
goto label;
label:
v := @caughtexception;
v = <io.opentelemetry.api.trace.StatusCode: io.opentelemetry.api.trace.StatusCode ERROR>;
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setStatus(io.opentelemetry.api.trace.StatusCode,java.lang.String)>(v, "Failed to execute");
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span recordException(java.lang.Throwable)>(v);
v = staticinvoke <org.finos.legend.engine.postgres.PostgresServerException: org.finos.legend.engine.postgres.PostgresServerException wrapException(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void handleSync(org.finos.legend.engine.postgres.DelayableWriteChannel)
{
java.lang.Throwable v;
java.util.concurrent.CompletableFuture v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
org.finos.legend.engine.postgres.DelayableWriteChannel v;
org.finos.legend.engine.postgres.Messages v, v, v, v;
org.finos.legend.engine.postgres.Session v, v;
boolean v;
org.finos.legend.engine.postgres.PostgresWireProtocol$ReadyForQueryCallback v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: org.finos.legend.engine.postgres.DelayableWriteChannel;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: boolean ignoreTillSync>;
if v == 0 goto label;
v.<org.finos.legend.engine.postgres.PostgresWireProtocol: boolean ignoreTillSync> = 0;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: void clearState()>();
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendReadyForQuery(io.netty.channel.Channel)>(v);
return;
label:
v = new org.finos.legend.engine.postgres.PostgresWireProtocol$ReadyForQueryCallback;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol$ReadyForQueryCallback: void <init>(io.netty.channel.Channel,org.finos.legend.engine.postgres.Messages)>(v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: java.util.concurrent.CompletableFuture sync()>();
virtualinvoke v.<java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture whenComplete(java.util.function.BiConsumer)>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.finos.legend.engine.postgres.DelayableWriteChannel: void discardDelayedWrites()>();
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendErrorResponse(io.netty.channel.Channel,java.lang.Throwable)>(v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendReadyForQuery(io.netty.channel.Channel)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void handleClose(io.netty.buffer.ByteBuf, io.netty.channel.Channel)
{
io.netty.channel.Channel v;
org.finos.legend.engine.postgres.Messages v;
byte v;
io.netty.buffer.ByteBuf v;
java.lang.String v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
org.finos.legend.engine.postgres.Session v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte readByte()>();
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: void close(char,java.lang.String)>(v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendCloseComplete(io.netty.channel.Channel)>(v);
return;
}
void handleSimpleQuery(io.netty.buffer.ByteBuf, org.finos.legend.engine.postgres.DelayableWriteChannel)
{
java.lang.Throwable v, v;
io.opentelemetry.api.trace.StatusCode v;
java.util.concurrent.CompletableFuture v;
io.opentelemetry.api.trace.Tracer v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
java.util.function.Function v;
org.finos.legend.engine.postgres.Messages v, v, v;
io.netty.buffer.ByteBuf v;
org.eclipse.collections.api.block.function.Function v;
io.opentelemetry.api.trace.SpanBuilder v;
java.lang.String v, v;
boolean v, v, v, v;
org.finos.legend.engine.postgres.PostgresWireProtocol$ReadyForQueryCallback v;
io.opentelemetry.api.trace.Span v;
java.util.Iterator v;
io.opentelemetry.context.Scope v;
org.finos.legend.engine.postgres.DelayableWriteChannel v;
java.lang.Exception v;
java.util.List v;
java.lang.Object v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: org.finos.legend.engine.postgres.DelayableWriteChannel;
v = staticinvoke <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.trace.Tracer getTracer()>();
v = interfaceinvoke v.<io.opentelemetry.api.trace.Tracer: io.opentelemetry.api.trace.SpanBuilder spanBuilder(java.lang.String)>("WireProtocol Handle Simple Query");
v = interfaceinvoke v.<io.opentelemetry.api.trace.SpanBuilder: io.opentelemetry.api.trace.Span startSpan()>();
label:
v = interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.context.Scope makeCurrent()>();
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String readCString(io.netty.buffer.ByteBuf)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol$lambda_handleSimpleQuery_1d01bb8d_1__7: org.eclipse.collections.api.block.function.Function bootstrap$()>();
staticinvoke <org.finos.legend.engine.shared.core.operational.Assert: void assertTrue(boolean,org.eclipse.collections.api.block.function.Function)>(v, v);
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setAttribute(java.lang.String,java.lang.String)>("query", v);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = ";";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendEmptyQueryResponse(io.netty.channel.Channel)>(v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendReadyForQuery(io.netty.channel.Channel)>(v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
label:
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
return;
label:
v = staticinvoke <org.finos.legend.engine.postgres.QueryStringSplitter: java.util.List splitQuery(java.lang.String)>(v);
v = staticinvoke <java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture completedFuture(java.lang.Object)>(null);
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 = staticinvoke <org.finos.legend.engine.postgres.PostgresWireProtocol$lambda_handleSimpleQuery_2__8: java.util.function.Function bootstrap$(org.finos.legend.engine.postgres.PostgresWireProtocol,java.lang.String,org.finos.legend.engine.postgres.DelayableWriteChannel)>(v, v, v);
v = virtualinvoke v.<java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture thenCompose(java.util.function.Function)>(v);
goto label;
label:
v = new org.finos.legend.engine.postgres.PostgresWireProtocol$ReadyForQueryCallback;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol$ReadyForQueryCallback: void <init>(io.netty.channel.Channel,org.finos.legend.engine.postgres.Messages)>(v, v);
virtualinvoke v.<java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture whenComplete(java.util.function.BiConsumer)>(v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
goto label;
label:
v := @caughtexception;
v = <io.opentelemetry.api.trace.StatusCode: io.opentelemetry.api.trace.StatusCode ERROR>;
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span setStatus(io.opentelemetry.api.trace.StatusCode,java.lang.String)>(v, "Failed to handle simple query");
interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.api.trace.Span recordException(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.util.concurrent.CompletableFuture handleSingleQuery(java.lang.String, org.finos.legend.engine.postgres.DelayableWriteChannel)
{
java.lang.Throwable v, v, v;
java.util.concurrent.CompletableFuture v, v;
io.opentelemetry.api.trace.Tracer v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
org.finos.legend.engine.postgres.Messages v, v, v;
io.opentelemetry.api.trace.SpanBuilder v;
java.lang.String v, v;
org.finos.legend.engine.postgres.ResultSetReceiver v;
boolean v, v;
org.finos.legend.engine.postgres.DelayableWriteChannel$DelayedWrites v;
org.slf4j.Logger v;
io.opentelemetry.api.trace.Span v;
io.opentelemetry.context.Scope v;
org.finos.legend.engine.postgres.DelayableWriteChannel v;
org.finos.legend.engine.postgres.Session v, v, v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.postgres.DelayableWriteChannel;
v = staticinvoke <org.finos.legend.engine.postgres.utils.OpenTelemetryUtil: io.opentelemetry.api.trace.Tracer getTracer()>();
v = interfaceinvoke v.<io.opentelemetry.api.trace.Tracer: io.opentelemetry.api.trace.SpanBuilder spanBuilder(java.lang.String)>("WireProtocol Handle Simple Query");
v = interfaceinvoke v.<io.opentelemetry.api.trace.SpanBuilder: io.opentelemetry.api.trace.Span startSpan()>();
label:
v = interfaceinvoke v.<io.opentelemetry.api.trace.Span: io.opentelemetry.context.Scope makeCurrent()>();
label:
v = new java.util.concurrent.CompletableFuture;
specialinvoke v.<java.util.concurrent.CompletableFuture: void <init>()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = ";";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: void sendEmptyQueryResponse(io.netty.channel.Channel)>(v);
virtualinvoke v.<java.util.concurrent.CompletableFuture: boolean complete(java.lang.Object)>(null);
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
label:
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.postgres.DelayableWriteChannel: org.finos.legend.engine.postgres.DelayableWriteChannel$DelayedWrites delayWrites()>();
v = new org.finos.legend.engine.postgres.ResultSetReceiver;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
specialinvoke v.<org.finos.legend.engine.postgres.ResultSetReceiver: void <init>(java.lang.String,org.finos.legend.engine.postgres.DelayableWriteChannel,org.finos.legend.engine.postgres.DelayableWriteChannel$DelayedWrites,boolean,org.finos.legend.engine.postgres.FormatCodes$FormatCode[],org.finos.legend.engine.postgres.Messages)>(v, v, v, 1, null, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: java.util.concurrent.CompletableFuture executeSimple(java.lang.String,org.finos.legend.engine.postgres.ResultSetReceiver)>(v, v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
v = virtualinvoke v.<org.finos.legend.engine.postgres.Session: java.util.concurrent.CompletableFuture sync()>();
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
label:
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
return v;
label:
v := @caughtexception;
v = <org.finos.legend.engine.postgres.PostgresWireProtocol: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Error processing single query", v);
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Session session>;
virtualinvoke v.<org.finos.legend.engine.postgres.Session: void clearState()>();
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.Messages messages>;
virtualinvoke v.<org.finos.legend.engine.postgres.Messages: io.netty.channel.ChannelFuture sendErrorResponse(io.netty.channel.Channel,java.lang.Throwable)>(v, v);
virtualinvoke v.<java.util.concurrent.CompletableFuture: boolean completeExceptionally(java.lang.Throwable)>(v);
label:
if v == null goto label;
interfaceinvoke v.<io.opentelemetry.context.Scope: void close()>();
label:
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
interfaceinvoke v.<io.opentelemetry.api.trace.Span: void end()>();
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void handleCancelRequestBody(io.netty.buffer.ByteBuf, io.netty.channel.Channel)
{
io.netty.channel.Channel v;
io.netty.buffer.ByteBuf v;
org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler v;
org.finos.legend.engine.postgres.PostgresWireProtocol v;
v := @this: org.finos.legend.engine.postgres.PostgresWireProtocol;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.channel.Channel;
v = v.<org.finos.legend.engine.postgres.PostgresWireProtocol: org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler handler>;
specialinvoke v.<org.finos.legend.engine.postgres.PostgresWireProtocol$MessageHandler: void closeSession()>();
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/finos/legend/engine/postgres/PostgresWireProtocol;");
<org.finos.legend.engine.postgres.PostgresWireProtocol: org.slf4j.Logger LOGGER> = v;
<org.finos.legend.engine.postgres.PostgresWireProtocol: int SERVER_VERSION_NUM> = 100500;
<org.finos.legend.engine.postgres.PostgresWireProtocol: java.lang.String PG_SERVER_VERSION> = "10.5";
return;
}
}