public abstract class ch.qos.logback.core.db.DBAppenderBase<E> extends ch.qos.logback.core.UnsynchronizedAppenderBase<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: ch.qos.logback.core.db.DBAppenderBase
  super_class: ch.qos.logback.core.UnsynchronizedAppenderBase
{
  protected ch.qos.logback.core.db.ConnectionSource connectionSource;
    descriptor: Lch/qos/logback/core/db/ConnectionSource;
    flags: (0x0004) ACC_PROTECTED

  protected boolean cnxSupportsGetGeneratedKeys;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean cnxSupportsBatchUpdates;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected ch.qos.logback.core.db.dialect.SQLDialect sqlDialect;
    descriptor: Lch/qos/logback/core/db/dialect/SQLDialect;
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
         0: .line 34
            aload 0 /* this */
            invokespecial ch.qos.logback.core.UnsynchronizedAppenderBase.<init>:()V
         1: .line 37
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsGetGeneratedKeys:Z
         2: .line 38
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsBatchUpdates:Z
         3: .line 34
            return
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;

  protected abstract java.lang.reflect.Method getGeneratedKeysMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.lang.String getInsertSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
         0: .line 48
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            ifnonnull 2
         1: .line 49
            new java.lang.IllegalStateException
            dup
            ldc "DBAppender cannot function without a connection source"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            invokeinterface ch.qos.logback.core.db.ConnectionSource.getSQLDialectCode:()Lch/qos/logback/core/db/dialect/SQLDialectCode;
            invokestatic ch.qos.logback.core.db.dialect.DBUtil.getDialectFromCode:(Lch/qos/logback/core/db/dialect/SQLDialectCode;)Lch/qos/logback/core/db/dialect/SQLDialect;
            putfield ch.qos.logback.core.db.DBAppenderBase.sqlDialect:Lch/qos/logback/core/db/dialect/SQLDialect;
         3: .line 53
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.getGeneratedKeysMethod:()Ljava/lang/reflect/Method;
            ifnull 6
         4: .line 54
            aload 0 /* this */
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            invokeinterface ch.qos.logback.core.db.ConnectionSource.supportsGetGeneratedKeys:()Z
            putfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsGetGeneratedKeys:Z
         5: .line 55
            goto 7
         6: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsGetGeneratedKeys:Z
         7: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            invokeinterface ch.qos.logback.core.db.ConnectionSource.supportsBatchUpdates:()Z
            putfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsBatchUpdates:Z
         8: .line 59
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsGetGeneratedKeys:Z
            ifne 12
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.sqlDialect:Lch/qos/logback/core/db/dialect/SQLDialect;
            ifnonnull 12
         9: .line 60
            new java.lang.IllegalStateException
            dup
        10: .line 61
            ldc "DBAppender cannot function if the JDBC driver does not support getGeneratedKeys method *and* without a specific SQL dialect"
        11: .line 60
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 65
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial ch.qos.logback.core.UnsynchronizedAppenderBase.start:()V
        13: .line 66
            return
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;

  public ch.qos.logback.core.db.ConnectionSource getConnectionSource();
    descriptor: ()Lch/qos/logback/core/db/ConnectionSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
         0: .line 72
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            areturn
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;

  public void setConnectionSource(ch.qos.logback.core.db.ConnectionSource);
    descriptor: (Lch/qos/logback/core/db/ConnectionSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
        start local 1 // ch.qos.logback.core.db.ConnectionSource connectionSource
         0: .line 80
            aload 0 /* this */
            aload 1 /* connectionSource */
            putfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
         1: .line 81
            return
        end local 1 // ch.qos.logback.core.db.ConnectionSource connectionSource
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;
            0    2     1  connectionSource  Lch/qos/logback/core/db/ConnectionSource;
    MethodParameters:
                  Name  Flags
      connectionSource  

  public void append();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
        start local 1 // java.lang.Object eventObject
         0: .line 85
            aconst_null
            astore 2 /* connection */
        start local 2 // java.sql.Connection connection
         1: .line 86
            aconst_null
            astore 3 /* insertStatement */
        start local 3 // java.sql.PreparedStatement insertStatement
         2: .line 88
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            invokeinterface ch.qos.logback.core.db.ConnectionSource.getConnection:()Ljava/sql/Connection;
            astore 2 /* connection */
         3: .line 89
            aload 2 /* connection */
            iconst_0
            invokeinterface java.sql.Connection.setAutoCommit:(Z)V
         4: .line 91
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsGetGeneratedKeys:Z
            ifeq 10
         5: .line 92
            ldc "EVENT_ID"
            astore 4 /* EVENT_ID_COL_NAME */
        start local 4 // java.lang.String EVENT_ID_COL_NAME
         6: .line 94
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.connectionSource:Lch/qos/logback/core/db/ConnectionSource;
            invokeinterface ch.qos.logback.core.db.ConnectionSource.getSQLDialectCode:()Lch/qos/logback/core/db/dialect/SQLDialectCode;
            getstatic ch.qos.logback.core.db.dialect.SQLDialectCode.POSTGRES_DIALECT:Lch/qos/logback/core/db/dialect/SQLDialectCode;
            if_acmpne 8
         7: .line 95
            aload 4 /* EVENT_ID_COL_NAME */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 4 /* EVENT_ID_COL_NAME */
         8: .line 97
      StackMap locals: java.sql.Connection java.sql.PreparedStatement java.lang.String
      StackMap stack:
            aload 2 /* connection */
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.getInsertSQL:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* EVENT_ID_COL_NAME */
            aastore
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 3 /* insertStatement */
        end local 4 // java.lang.String EVENT_ID_COL_NAME
         9: .line 98
            goto 11
        10: .line 99
      StackMap locals:
      StackMap stack:
            aload 2 /* connection */
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.getInsertSQL:()Ljava/lang/String;
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 3 /* insertStatement */
        11: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6
            monitorenter
        12: .line 105
            aload 0 /* this */
            aload 1 /* eventObject */
            aload 2 /* connection */
            aload 3 /* insertStatement */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.subAppend:(Ljava/lang/Object;Ljava/sql/Connection;Ljava/sql/PreparedStatement;)V
        13: .line 106
            aload 0 /* this */
            aload 3 /* insertStatement */
            aload 2 /* connection */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.selectEventId:(Ljava/sql/PreparedStatement;Ljava/sql/Connection;)J
            lstore 4 /* eventId */
        start local 4 // long eventId
        14: .line 104
            aload 6
            monitorexit
        15: goto 18
        end local 4 // long eventId
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.lang.Object java.sql.Connection java.sql.PreparedStatement top top ch.qos.logback.core.db.DBAppenderBase
      StackMap stack: java.lang.Throwable
        16: aload 6
            monitorexit
        17: athrow
        start local 4 // long eventId
        18: .line 108
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.lang.Object java.sql.Connection java.sql.PreparedStatement long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* eventObject */
            aload 2 /* connection */
            lload 4 /* eventId */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.secondarySubAppend:(Ljava/lang/Object;Ljava/sql/Connection;J)V
        19: .line 110
            aload 2 /* connection */
            invokeinterface java.sql.Connection.commit:()V
        end local 4 // long eventId
        20: .line 111
            goto 29
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.lang.Object java.sql.Connection java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
        21: astore 4 /* sqle */
        start local 4 // java.lang.Throwable sqle
        22: .line 112
            aload 0 /* this */
            ldc "problem appending event"
            aload 4 /* sqle */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable sqle
        23: .line 114
            aload 3 /* insertStatement */
            invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
        24: .line 115
            aload 2 /* connection */
            invokestatic ch.qos.logback.core.db.DBHelper.closeConnection:(Ljava/sql/Connection;)V
            goto 31
        25: .line 113
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        26: .line 114
            aload 3 /* insertStatement */
            invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
        27: .line 115
            aload 2 /* connection */
            invokestatic ch.qos.logback.core.db.DBHelper.closeConnection:(Ljava/sql/Connection;)V
        28: .line 116
            aload 7
            athrow
        29: .line 114
      StackMap locals:
      StackMap stack:
            aload 3 /* insertStatement */
            invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
        30: .line 115
            aload 2 /* connection */
            invokestatic ch.qos.logback.core.db.DBHelper.closeConnection:(Ljava/sql/Connection;)V
        31: .line 117
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.sql.PreparedStatement insertStatement
        end local 2 // java.sql.Connection connection
        end local 1 // java.lang.Object eventObject
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   32     0               this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;
            0   32     1        eventObject  TE;
            1   32     2         connection  Ljava/sql/Connection;
            2   32     3    insertStatement  Ljava/sql/PreparedStatement;
            6    9     4  EVENT_ID_COL_NAME  Ljava/lang/String;
           14   16     4            eventId  J
           18   20     4            eventId  J
           22   23     4               sqle  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    15      16  any
          16    17      16  any
           2    20      21  Class java.lang.Throwable
           2    23      25  any
    Signature: (TE;)V
    MethodParameters:
             Name  Flags
      eventObject  

  protected abstract void subAppend(E, java.sql.Connection, java.sql.PreparedStatement);
    descriptor: (Ljava/lang/Object;Ljava/sql/Connection;Ljava/sql/PreparedStatement;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Throwable
    Signature: (TE;Ljava/sql/Connection;Ljava/sql/PreparedStatement;)V
    MethodParameters:
             Name  Flags
      eventObject  
      connection   
      statement    

  protected abstract void secondarySubAppend(E, java.sql.Connection, );
    descriptor: (Ljava/lang/Object;Ljava/sql/Connection;J)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Throwable
    Signature: (TE;Ljava/sql/Connection;J)V
    MethodParameters:
             Name  Flags
      eventObject  
      connection   
      eventId      

  protected long selectEventId(java.sql.PreparedStatement, java.sql.Connection);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/sql/Connection;)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
        start local 1 // java.sql.PreparedStatement insertStatement
        start local 2 // java.sql.Connection connection
         0: .line 124
            aconst_null
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         1: .line 125
            aconst_null
            astore 4 /* idStatement */
        start local 4 // java.sql.Statement idStatement
         2: .line 127
            iconst_0
            istore 5 /* gotGeneratedKeys */
        start local 5 // boolean gotGeneratedKeys
         3: .line 128
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.cnxSupportsGetGeneratedKeys:Z
            ifeq 14
         4: .line 130
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.getGeneratedKeysMethod:()Ljava/lang/reflect/Method;
            aload 1 /* insertStatement */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.sql.ResultSet
            astore 3 /* rs */
         5: .line 131
            iconst_1
            istore 5 /* gotGeneratedKeys */
         6: .line 132
            goto 14
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.sql.PreparedStatement java.sql.Connection java.sql.ResultSet java.sql.Statement int
      StackMap stack: java.lang.reflect.InvocationTargetException
         7: astore 6 /* ex */
        start local 6 // java.lang.reflect.InvocationTargetException ex
         8: .line 133
            aload 6 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 7 /* target */
        start local 7 // java.lang.Throwable target
         9: .line 134
            aload 7 /* target */
            instanceof java.sql.SQLException
            ifeq 11
        10: .line 135
            aload 7 /* target */
            checkcast java.sql.SQLException
            athrow
        11: .line 137
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 6 /* ex */
            athrow
        end local 7 // java.lang.Throwable target
        end local 6 // java.lang.reflect.InvocationTargetException ex
        12: .line 138
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.sql.PreparedStatement java.sql.Connection java.sql.ResultSet java.sql.Statement int
      StackMap stack: java.lang.IllegalAccessException
            astore 6 /* ex */
        start local 6 // java.lang.IllegalAccessException ex
        13: .line 139
            aload 0 /* this */
            ldc "IllegalAccessException invoking PreparedStatement.getGeneratedKeys"
            aload 6 /* ex */
            invokevirtual ch.qos.logback.core.db.DBAppenderBase.addWarn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.lang.IllegalAccessException ex
        14: .line 143
      StackMap locals:
      StackMap stack:
            iload 5 /* gotGeneratedKeys */
            ifne 19
        15: .line 144
            aload 2 /* connection */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 4 /* idStatement */
        16: .line 145
            aload 4 /* idStatement */
            iconst_1
            invokeinterface java.sql.Statement.setMaxRows:(I)V
        17: .line 146
            aload 0 /* this */
            getfield ch.qos.logback.core.db.DBAppenderBase.sqlDialect:Lch/qos/logback/core/db/dialect/SQLDialect;
            invokeinterface ch.qos.logback.core.db.dialect.SQLDialect.getSelectInsertId:()Ljava/lang/String;
            astore 6 /* selectInsertIdStr */
        start local 6 // java.lang.String selectInsertIdStr
        18: .line 147
            aload 4 /* idStatement */
            aload 6 /* selectInsertIdStr */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        end local 6 // java.lang.String selectInsertIdStr
        19: .line 152
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        20: .line 153
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getLong:(I)J
            lstore 6 /* eventId */
        start local 6 // long eventId
        21: .line 154
            lload 6 /* eventId */
            lstore 9
        22: .line 156
            aload 3 /* rs */
            ifnull 26
        23: .line 158
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        24: .line 159
            goto 26
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.sql.PreparedStatement java.sql.Connection java.sql.ResultSet java.sql.Statement int long top long
      StackMap stack: java.sql.SQLException
        25: pop
        26: .line 162
      StackMap locals:
      StackMap stack:
            aload 4 /* idStatement */
            invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
        27: .line 154
            lload 9
            lreturn
        end local 6 // long eventId
        end local 5 // boolean gotGeneratedKeys
        28: .line 155
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.sql.PreparedStatement java.sql.Connection java.sql.ResultSet java.sql.Statement
      StackMap stack: java.lang.Throwable
            astore 8
        29: .line 156
            aload 3 /* rs */
            ifnull 33
        30: .line 158
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        31: .line 159
            goto 33
      StackMap locals: ch.qos.logback.core.db.DBAppenderBase java.sql.PreparedStatement java.sql.Connection java.sql.ResultSet java.sql.Statement top top top java.lang.Throwable
      StackMap stack: java.sql.SQLException
        32: pop
        33: .line 162
      StackMap locals:
      StackMap stack:
            aload 4 /* idStatement */
            invokestatic ch.qos.logback.core.db.DBHelper.closeStatement:(Ljava/sql/Statement;)V
        34: .line 163
            aload 8
            athrow
        end local 4 // java.sql.Statement idStatement
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Connection connection
        end local 1 // java.sql.PreparedStatement insertStatement
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;
            0   35     1    insertStatement  Ljava/sql/PreparedStatement;
            0   35     2         connection  Ljava/sql/Connection;
            1   35     3                 rs  Ljava/sql/ResultSet;
            2   35     4        idStatement  Ljava/sql/Statement;
            3   28     5   gotGeneratedKeys  Z
            8   12     6                 ex  Ljava/lang/reflect/InvocationTargetException;
            9   12     7             target  Ljava/lang/Throwable;
           13   14     6                 ex  Ljava/lang/IllegalAccessException;
           18   19     6  selectInsertIdStr  Ljava/lang/String;
           21   28     6            eventId  J
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.reflect.InvocationTargetException
           4     6      12  Class java.lang.IllegalAccessException
          23    24      25  Class java.sql.SQLException
           2    22      28  any
          30    31      32  Class java.sql.SQLException
    Exceptions:
      throws java.sql.SQLException, java.lang.reflect.InvocationTargetException
    MethodParameters:
                 Name  Flags
      insertStatement  
      connection       

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.db.DBAppenderBase this
         0: .line 168
            aload 0 /* this */
            invokespecial ch.qos.logback.core.UnsynchronizedAppenderBase.stop:()V
         1: .line 169
            return
        end local 0 // ch.qos.logback.core.db.DBAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lch/qos/logback/core/db/DBAppenderBase<TE;>;
}
Signature: <E:Ljava/lang/Object;>Lch/qos/logback/core/UnsynchronizedAppenderBase<TE;>;
SourceFile: "DBAppenderBase.java"