public class io.ebeaninternal.server.query.QueryPlanLoggerPostgres extends io.ebeaninternal.server.query.QueryPlanLogger
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.ebeaninternal.server.query.QueryPlanLoggerPostgres
super_class: io.ebeaninternal.server.query.QueryPlanLogger
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // io.ebeaninternal.server.query.QueryPlanLoggerPostgres this
0: .line 15
aload 0 /* this */
invokespecial io.ebeaninternal.server.query.QueryPlanLogger.<init>:()V
return
end local 0 // io.ebeaninternal.server.query.QueryPlanLoggerPostgres this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/query/QueryPlanLoggerPostgres;
public io.ebeaninternal.api.SpiDbQueryPlan collectPlan(java.sql.Connection, io.ebeaninternal.api.SpiQueryPlan, io.ebeaninternal.server.type.bindcapture.BindCapture);
descriptor: (Ljava/sql/Connection;Lio/ebeaninternal/api/SpiQueryPlan;Lio/ebeaninternal/server/type/bindcapture/BindCapture;)Lio/ebeaninternal/api/SpiDbQueryPlan;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=4
start local 0 // io.ebeaninternal.server.query.QueryPlanLoggerPostgres this
start local 1 // java.sql.Connection conn
start local 2 // io.ebeaninternal.api.SpiQueryPlan plan
start local 3 // io.ebeaninternal.server.type.bindcapture.BindCapture bind
0: .line 19
new java.lang.StringBuilder
dup
ldc "explain analyze "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* plan */
invokeinterface io.ebeaninternal.api.SpiQueryPlan.getSql:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4 /* explain */
start local 4 // java.lang.String explain
1: .line 20
aconst_null
astore 5
aconst_null
astore 6
2: aload 1 /* conn */
aload 4 /* explain */
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 7 /* explainStmt */
start local 7 // java.sql.PreparedStatement explainStmt
3: .line 21
aload 3 /* bind */
aload 7 /* explainStmt */
aload 1 /* conn */
invokevirtual io.ebeaninternal.server.type.bindcapture.BindCapture.prepare:(Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V
4: .line 22
aconst_null
astore 8
aconst_null
astore 9
5: aload 7 /* explainStmt */
invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
astore 10 /* rset */
start local 10 // java.sql.ResultSet rset
6: .line 23
aload 0 /* this */
aload 2 /* plan */
aload 3 /* bind */
aload 10 /* rset */
invokevirtual io.ebeaninternal.server.query.QueryPlanLoggerPostgres.readQueryPlanBasic:(Lio/ebeaninternal/api/SpiQueryPlan;Lio/ebeaninternal/server/type/bindcapture/BindCapture;Ljava/sql/ResultSet;)Lio/ebeaninternal/api/SpiDbQueryPlan;
7: .line 24
aload 10 /* rset */
ifnull 8
aload 10 /* rset */
invokeinterface java.sql.ResultSet.close:()V
8: .line 25
StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerPostgres java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.String java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement java.lang.Throwable java.lang.Throwable java.sql.ResultSet
StackMap stack: io.ebeaninternal.api.SpiDbQueryPlan
aload 7 /* explainStmt */
ifnull 9
aload 7 /* explainStmt */
invokeinterface java.sql.PreparedStatement.close:()V
9: .line 23
StackMap locals:
StackMap stack: io.ebeaninternal.api.SpiDbQueryPlan
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 8
11: .line 24
aload 10 /* rset */
ifnull 12
aload 10 /* rset */
invokeinterface java.sql.ResultSet.close:()V
end local 10 // java.sql.ResultSet rset
StackMap locals:
StackMap stack:
12: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 9
aload 8
ifnonnull 14
aload 9
astore 8
goto 15
StackMap locals:
StackMap stack:
14: aload 8
aload 9
if_acmpeq 15
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 8
athrow
StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerPostgres java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.String java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
16: astore 5
17: .line 25
aload 7 /* explainStmt */
ifnull 18
aload 7 /* explainStmt */
invokeinterface java.sql.PreparedStatement.close:()V
end local 7 // java.sql.PreparedStatement explainStmt
StackMap locals:
StackMap stack:
18: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 6
aload 5
ifnonnull 20
aload 6
astore 5
goto 21
StackMap locals:
StackMap stack:
20: aload 5
aload 6
if_acmpeq 21
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 5
athrow
StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerPostgres java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.String
StackMap stack: java.sql.SQLException
22: astore 5 /* e */
start local 5 // java.sql.SQLException e
23: .line 26
getstatic io.ebeaninternal.server.query.QueryPlanLoggerPostgres.queryPlanLog:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Could not log query plan: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* explain */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5 /* e */
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
24: .line 27
aconst_null
areturn
end local 5 // java.sql.SQLException e
end local 4 // java.lang.String explain
end local 3 // io.ebeaninternal.server.type.bindcapture.BindCapture bind
end local 2 // io.ebeaninternal.api.SpiQueryPlan plan
end local 1 // java.sql.Connection conn
end local 0 // io.ebeaninternal.server.query.QueryPlanLoggerPostgres this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lio/ebeaninternal/server/query/QueryPlanLoggerPostgres;
0 25 1 conn Ljava/sql/Connection;
0 25 2 plan Lio/ebeaninternal/api/SpiQueryPlan;
0 25 3 bind Lio/ebeaninternal/server/type/bindcapture/BindCapture;
1 25 4 explain Ljava/lang/String;
3 18 7 explainStmt Ljava/sql/PreparedStatement;
6 12 10 rset Ljava/sql/ResultSet;
23 25 5 e Ljava/sql/SQLException;
Exception table:
from to target type
6 7 10 any
5 8 13 any
10 13 13 any
3 8 16 any
10 16 16 any
2 9 19 any
10 19 19 any
1 9 22 Class java.sql.SQLException
10 22 22 Class java.sql.SQLException
MethodParameters:
Name Flags
conn
plan
bind
}
SourceFile: "QueryPlanLoggerPostgres.java"