public class io.ebeaninternal.server.query.QueryPlanLoggerExplain 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.QueryPlanLoggerExplain
  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.QueryPlanLoggerExplain this
         0: .line 15
            aload 0 /* this */
            invokespecial io.ebeaninternal.server.query.QueryPlanLogger.<init>:()V
            return
        end local 0 // io.ebeaninternal.server.query.QueryPlanLoggerExplain this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/query/QueryPlanLoggerExplain;

  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 // io.ebeaninternal.server.query.QueryPlanLoggerExplain 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
            aconst_null
            astore 4
            aconst_null
            astore 5
         1: aload 1 /* conn */
            new java.lang.StringBuilder
            dup
            ldc "EXPLAIN "
            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;
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 6 /* explainStmt */
        start local 6 // java.sql.PreparedStatement explainStmt
         2: .line 20
            aload 3 /* bind */
            aload 6 /* explainStmt */
            aload 1 /* conn */
            invokevirtual io.ebeaninternal.server.type.bindcapture.BindCapture.prepare:(Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V
         3: .line 21
            aconst_null
            astore 7
            aconst_null
            astore 8
         4: aload 6 /* explainStmt */
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 9 /* rset */
        start local 9 // java.sql.ResultSet rset
         5: .line 22
            aload 0 /* this */
            aload 2 /* plan */
            aload 3 /* bind */
            aload 9 /* rset */
            invokevirtual io.ebeaninternal.server.query.QueryPlanLoggerExplain.readQueryPlan:(Lio/ebeaninternal/api/SpiQueryPlan;Lio/ebeaninternal/server/type/bindcapture/BindCapture;Ljava/sql/ResultSet;)Lio/ebeaninternal/api/SpiDbQueryPlan;
         6: .line 23
            aload 9 /* rset */
            ifnull 7
            aload 9 /* rset */
            invokeinterface java.sql.ResultSet.close:()V
         7: .line 24
      StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerExplain java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture 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 6 /* explainStmt */
            ifnull 8
            aload 6 /* explainStmt */
            invokeinterface java.sql.PreparedStatement.close:()V
         8: .line 22
      StackMap locals:
      StackMap stack: io.ebeaninternal.api.SpiDbQueryPlan
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 7
        10: .line 23
            aload 9 /* rset */
            ifnull 11
            aload 9 /* rset */
            invokeinterface java.sql.ResultSet.close:()V
        end local 9 // java.sql.ResultSet rset
      StackMap locals:
      StackMap stack:
        11: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8
            aload 7
            ifnonnull 13
            aload 8
            astore 7
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 7
            aload 8
            if_acmpeq 14
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 7
            athrow
      StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerExplain java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 24
            aload 6 /* explainStmt */
            ifnull 17
            aload 6 /* explainStmt */
            invokeinterface java.sql.PreparedStatement.close:()V
        end local 6 // java.sql.PreparedStatement explainStmt
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 4
            ifnonnull 19
            aload 5
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4
            aload 5
            if_acmpeq 20
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
      StackMap locals: io.ebeaninternal.server.query.QueryPlanLoggerExplain java.sql.Connection io.ebeaninternal.api.SpiQueryPlan io.ebeaninternal.server.type.bindcapture.BindCapture
      StackMap stack: java.sql.SQLException
        21: astore 4 /* e */
        start local 4 // java.sql.SQLException e
        22: .line 25
            getstatic io.ebeaninternal.server.query.QueryPlanLoggerExplain.queryPlanLog:Lorg/slf4j/Logger;
            ldc "Could not log query plan"
            aload 4 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        23: .line 26
            aconst_null
            areturn
        end local 4 // java.sql.SQLException e
        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.QueryPlanLoggerExplain this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lio/ebeaninternal/server/query/QueryPlanLoggerExplain;
            0   24     1         conn  Ljava/sql/Connection;
            0   24     2         plan  Lio/ebeaninternal/api/SpiQueryPlan;
            0   24     3         bind  Lio/ebeaninternal/server/type/bindcapture/BindCapture;
            2   17     6  explainStmt  Ljava/sql/PreparedStatement;
            5   11     9         rset  Ljava/sql/ResultSet;
           22   24     4            e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           5     6       9  any
           4     7      12  any
           9    12      12  any
           2     7      15  any
           9    15      15  any
           1     8      18  any
           9    18      18  any
           0     8      21  Class java.sql.SQLException
           9    21      21  Class java.sql.SQLException
    MethodParameters:
      Name  Flags
      conn  
      plan  
      bind  
}
SourceFile: "QueryPlanLoggerExplain.java"