public class io.ebeaninternal.server.query.QueryPlanLoggerOracle 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.QueryPlanLoggerOracle
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 0: aload 0
invokespecial io.ebeaninternal.server.query.QueryPlanLogger.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/query/QueryPlanLoggerOracle;
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=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
aconst_null
astore 5
1: aload 1
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 6
start local 6 2: aconst_null
astore 7
aconst_null
astore 8
3: aload 1
new java.lang.StringBuilder
dup
ldc "EXPLAIN PLAN FOR "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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;
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 9
start local 9 4: aload 3
aload 9
aload 1
invokevirtual io.ebeaninternal.server.type.bindcapture.BindCapture.prepare:(Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V
5: aload 9
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
6: aload 9
ifnull 12
aload 9
invokeinterface java.sql.PreparedStatement.close:()V
goto 12
StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerOracle java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.Throwable java.lang.Throwable java.sql.Statement java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
7: astore 7
aload 9
ifnull 8
aload 9
invokeinterface java.sql.PreparedStatement.close:()V
end local 9 StackMap locals:
StackMap stack:
8: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 8
aload 7
ifnonnull 10
aload 8
astore 7
goto 11
StackMap locals:
StackMap stack:
10: aload 7
aload 8
if_acmpeq 11
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 7
athrow
12: StackMap locals:
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
13: aload 6
ldc "select plan_table_output from table(dbms_xplan.display())"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 9
start local 9 14: aload 0
aload 2
aload 3
aload 9
invokevirtual io.ebeaninternal.server.query.QueryPlanLoggerOracle.readQueryPlan:(Lio/ebeaninternal/api/SpiQueryPlan;Lio/ebeaninternal/server/type/bindcapture/BindCapture;Ljava/sql/ResultSet;)Lio/ebeaninternal/api/SpiDbQueryPlan;
15: aload 9
ifnull 16
aload 9
invokeinterface java.sql.ResultSet.close:()V
16: StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerOracle java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.Throwable java.lang.Throwable java.sql.Statement java.lang.Throwable java.lang.Throwable java.sql.ResultSet
StackMap stack: io.ebeaninternal.api.SpiDbQueryPlan
aload 6
ifnull 17
aload 6
invokeinterface java.sql.Statement.close:()V
17: StackMap locals:
StackMap stack: io.ebeaninternal.api.SpiDbQueryPlan
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 7
19: aload 9
ifnull 20
aload 9
invokeinterface java.sql.ResultSet.close:()V
end local 9 StackMap locals:
StackMap stack:
20: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 8
aload 7
ifnonnull 22
aload 8
astore 7
goto 23
StackMap locals:
StackMap stack:
22: aload 7
aload 8
if_acmpeq 23
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 7
athrow
StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerOracle java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.Throwable java.lang.Throwable java.sql.Statement
StackMap stack: java.lang.Throwable
24: astore 4
25: aload 6
ifnull 26
aload 6
invokeinterface java.sql.Statement.close:()V
end local 6 StackMap locals:
StackMap stack:
26: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 5
aload 4
ifnonnull 28
aload 5
astore 4
goto 29
StackMap locals:
StackMap stack:
28: aload 4
aload 5
if_acmpeq 29
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 4
athrow
StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerOracle java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture
StackMap stack: java.sql.SQLException
30: astore 4
start local 4 31: getstatic io.ebeaninternal.server.query.QueryPlanLoggerOracle.queryPlanLog:Lorg/slf4j/Logger;
ldc "Could not log query plan"
aload 4
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
32: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lio/ebeaninternal/server/query/QueryPlanLoggerOracle;
0 33 1 conn Ljava/sql/Connection;
0 33 2 plan Lio/ebeaninternal/api/SpiQueryPlan;
0 33 3 bind Lio/ebeaninternal/server/type/bindcapture/BindCapture;
2 26 6 stmt Ljava/sql/Statement;
4 8 9 explainStmt Ljava/sql/PreparedStatement;
14 20 9 rset Ljava/sql/ResultSet;
31 33 4 e Ljava/sql/SQLException;
Exception table:
from to target type
4 6 7 any
3 9 9 any
14 15 18 any
13 16 21 any
18 21 21 any
2 16 24 any
18 24 24 any
1 17 27 any
18 27 27 any
0 17 30 Class java.sql.SQLException
18 30 30 Class java.sql.SQLException
MethodParameters:
Name Flags
conn
plan
bind
}
SourceFile: "QueryPlanLoggerOracle.java"