public class org.postgresql.jdbc.BatchResultHandler extends org.postgresql.core.ResultHandlerBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.postgresql.jdbc.BatchResultHandler
  super_class: org.postgresql.core.ResultHandlerBase
{
  private org.postgresql.jdbc.PgStatement pgStatement;
    descriptor: Lorg/postgresql/jdbc/PgStatement;
    flags: (0x0002) ACC_PRIVATE

  private int resultIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final org.postgresql.core.Query[] queries;
    descriptor: [Lorg/postgresql/core/Query;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] updateCounts;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.postgresql.core.ParameterList[] parameterLists;
    descriptor: [Lorg/postgresql/core/ParameterList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean expectGeneratedKeys;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.postgresql.jdbc.PgResultSet generatedKeys;
    descriptor: Lorg/postgresql/jdbc/PgResultSet;
    flags: (0x0002) ACC_PRIVATE

  private int committedRows;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.util.List<byte[][]>> allGeneratedRows;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/util/List<[[B>;>;

  private java.util.List<byte[][]> latestGeneratedRows;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<[[B>;

  private org.postgresql.jdbc.PgResultSet latestGeneratedKeysRs;
    descriptor: Lorg/postgresql/jdbc/PgResultSet;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            ldc Lorg/postgresql/jdbc/BatchResultHandler;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.postgresql.jdbc.BatchResultHandler.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.postgresql.jdbc.PgStatement, org.postgresql.core.Query[], org.postgresql.core.ParameterList[], boolean);
    descriptor: (Lorg/postgresql/jdbc/PgStatement;[Lorg/postgresql/core/Query;[Lorg/postgresql/core/ParameterList;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
        start local 1 // org.postgresql.jdbc.PgStatement pgStatement
        start local 2 // org.postgresql.core.Query[] queries
        start local 3 // org.postgresql.core.ParameterList[] parameterLists
        start local 4 // boolean expectGeneratedKeys
         0: .line 44
            aload 0 /* this */
            invokespecial org.postgresql.core.ResultHandlerBase.<init>:()V
         1: .line 32
            aload 0 /* this */
            iconst_0
            putfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
         2: .line 46
            aload 0 /* this */
            aload 1 /* pgStatement */
            putfield org.postgresql.jdbc.BatchResultHandler.pgStatement:Lorg/postgresql/jdbc/PgStatement;
         3: .line 47
            aload 0 /* this */
            aload 2 /* queries */
            putfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
         4: .line 48
            aload 0 /* this */
            aload 3 /* parameterLists */
            putfield org.postgresql.jdbc.BatchResultHandler.parameterLists:[Lorg/postgresql/core/ParameterList;
         5: .line 49
            aload 0 /* this */
            aload 2 /* queries */
            arraylength
            newarray 10
            putfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
         6: .line 50
            aload 0 /* this */
            iload 4 /* expectGeneratedKeys */
            putfield org.postgresql.jdbc.BatchResultHandler.expectGeneratedKeys:Z
         7: .line 51
            aload 0 /* this */
            iload 4 /* expectGeneratedKeys */
            ifne 8
            aconst_null
            goto 9
      StackMap locals: org.postgresql.jdbc.BatchResultHandler org.postgresql.jdbc.PgStatement org.postgresql.core.Query[] org.postgresql.core.ParameterList[] int
      StackMap stack: org.postgresql.jdbc.BatchResultHandler
         8: new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
      StackMap locals: org.postgresql.jdbc.BatchResultHandler org.postgresql.jdbc.PgStatement org.postgresql.core.Query[] org.postgresql.core.ParameterList[] int
      StackMap stack: org.postgresql.jdbc.BatchResultHandler java.util.ArrayList
         9: putfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
        10: .line 52
            return
        end local 4 // boolean expectGeneratedKeys
        end local 3 // org.postgresql.core.ParameterList[] parameterLists
        end local 2 // org.postgresql.core.Query[] queries
        end local 1 // org.postgresql.jdbc.PgStatement pgStatement
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lorg/postgresql/jdbc/BatchResultHandler;
            0   11     1          pgStatement  Lorg/postgresql/jdbc/PgStatement;
            0   11     2              queries  [Lorg/postgresql/core/Query;
            0   11     3       parameterLists  [Lorg/postgresql/core/ParameterList;
            0   11     4  expectGeneratedKeys  Z
    MethodParameters:
                     Name  Flags
      pgStatement          
      queries              
      parameterLists       
      expectGeneratedKeys  

  public void handleResultRows(org.postgresql.core.Query, org.postgresql.core.Field[], java.util.List<byte[][]>, org.postgresql.core.ResultCursor);
    descriptor: (Lorg/postgresql/core/Query;[Lorg/postgresql/core/Field;Ljava/util/List;Lorg/postgresql/core/ResultCursor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
        start local 1 // org.postgresql.core.Query fromQuery
        start local 2 // org.postgresql.core.Field[] fields
        start local 3 // java.util.List tuples
        start local 4 // org.postgresql.core.ResultCursor cursor
         0: .line 57
            aload 0 /* this */
            dup
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            iconst_1
            iadd
            putfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
         1: .line 58
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.expectGeneratedKeys:Z
            ifne 3
         2: .line 60
            return
         3: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.generatedKeys:Lorg/postgresql/jdbc/PgResultSet;
            ifnonnull 12
         4: .line 66
            aload 0 /* this */
         5: .line 67
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.pgStatement:Lorg/postgresql/jdbc/PgStatement;
            aload 1 /* fromQuery */
            aload 2 /* fields */
         6: .line 68
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            aload 4 /* cursor */
         7: .line 67
            invokevirtual org.postgresql.jdbc.PgStatement.createResultSet:(Lorg/postgresql/core/Query;[Lorg/postgresql/core/Field;Ljava/util/List;Lorg/postgresql/core/ResultCursor;)Ljava/sql/ResultSet;
            checkcast org.postgresql.jdbc.PgResultSet
         8: .line 66
            putfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedKeysRs:Lorg/postgresql/jdbc/PgResultSet;
         9: .line 69
            goto 12
      StackMap locals:
      StackMap stack: java.sql.SQLException
        10: astore 5 /* e */
        start local 5 // java.sql.SQLException e
        11: .line 70
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.handleError:(Ljava/sql/SQLException;)V
        end local 5 // java.sql.SQLException e
        12: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* tuples */
            putfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedRows:Ljava/util/List;
        13: .line 74
            return
        end local 4 // org.postgresql.core.ResultCursor cursor
        end local 3 // java.util.List tuples
        end local 2 // org.postgresql.core.Field[] fields
        end local 1 // org.postgresql.core.Query fromQuery
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/postgresql/jdbc/BatchResultHandler;
            0   14     1  fromQuery  Lorg/postgresql/core/Query;
            0   14     2     fields  [Lorg/postgresql/core/Field;
            0   14     3     tuples  Ljava/util/List<[[B>;
            0   14     4     cursor  Lorg/postgresql/core/ResultCursor;
           11   12     5          e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           4     9      10  Class java.sql.SQLException
    Signature: (Lorg/postgresql/core/Query;[Lorg/postgresql/core/Field;Ljava/util/List<[[B>;Lorg/postgresql/core/ResultCursor;)V
    MethodParameters:
           Name  Flags
      fromQuery  
      fields     
      tuples     
      cursor     

  public void handleCommandStatus(java.lang.String, int, long);
    descriptor: (Ljava/lang/String;IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
        start local 1 // java.lang.String status
        start local 2 // int updateCount
        start local 3 // long insertOID
         0: .line 77
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedRows:Ljava/util/List;
            ifnull 7
         1: .line 79
            aload 0 /* this */
            dup
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            iconst_1
            isub
            putfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
         2: .line 82
            iload 2 /* updateCount */
            ifle 6
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.getException:()Ljava/sql/SQLException;
            ifnull 3
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.isAutoCommit:()Z
            ifeq 6
         3: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedRows:Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 84
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.generatedKeys:Lorg/postgresql/jdbc/PgResultSet;
            ifnonnull 6
         5: .line 85
            aload 0 /* this */
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedKeysRs:Lorg/postgresql/jdbc/PgResultSet;
            putfield org.postgresql.jdbc.BatchResultHandler.generatedKeys:Lorg/postgresql/jdbc/PgResultSet;
         6: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedRows:Ljava/util/List;
         7: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            arraylength
            if_icmplt 12
         8: .line 92
            aload 0 /* this */
            new org.postgresql.util.PSQLException
            dup
            ldc "Too many update results were returned."
            iconst_0
            anewarray java.lang.Object
            invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 93
            getstatic org.postgresql.util.PSQLState.TOO_MANY_RESULTS:Lorg/postgresql/util/PSQLState;
            invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
        10: .line 92
            invokevirtual org.postgresql.jdbc.BatchResultHandler.handleError:(Ljava/sql/SQLException;)V
        11: .line 94
            return
        12: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.postgresql.jdbc.BatchResultHandler.latestGeneratedKeysRs:Lorg/postgresql/jdbc/PgResultSet;
        13: .line 98
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
            aload 0 /* this */
            dup
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            dup_x1
            iconst_1
            iadd
            putfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            iload 2 /* updateCount */
            iastore
        14: .line 99
            return
        end local 3 // long insertOID
        end local 2 // int updateCount
        end local 1 // java.lang.String status
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/postgresql/jdbc/BatchResultHandler;
            0   15     1       status  Ljava/lang/String;
            0   15     2  updateCount  I
            0   15     3    insertOID  J
    MethodParameters:
             Name  Flags
      status       
      updateCount  
      insertOID    

  private boolean isAutoCommit();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 103
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.pgStatement:Lorg/postgresql/jdbc/PgStatement;
            invokevirtual org.postgresql.jdbc.PgStatement.getConnection:()Ljava/sql/Connection;
            invokeinterface java.sql.Connection.getAutoCommit:()Z
         1: ireturn
         2: .line 104
      StackMap locals:
      StackMap stack: java.sql.SQLException
            pop
         3: .line 105
            getstatic org.postgresql.jdbc.BatchResultHandler.$assertionsDisabled:Z
            ifne 4
            new java.lang.AssertionError
            dup
            ldc "pgStatement.getConnection().getAutoCommit() should not throw"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 106
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/postgresql/jdbc/BatchResultHandler;
      Exception table:
        from    to  target  type
           0     1       2  Class java.sql.SQLException

  public void secureProgress();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 112
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.isAutoCommit:()Z
            ifeq 3
         1: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            putfield org.postgresql.jdbc.BatchResultHandler.committedRows:I
         2: .line 114
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.updateGeneratedKeys:()V
         3: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/postgresql/jdbc/BatchResultHandler;

  private void updateGeneratedKeys();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 119
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            ifnull 1
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 120
      StackMap locals:
      StackMap stack:
            return
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.postgresql.jdbc.BatchResultHandler top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 1 /* rows */
        start local 1 // java.util.List rows
         4: .line 123
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.generatedKeys:Lorg/postgresql/jdbc/PgResultSet;
            aload 1 /* rows */
            invokevirtual org.postgresql.jdbc.PgResultSet.addRows:(Ljava/util/List;)V
        end local 1 // java.util.List rows
         5: .line 122
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 125
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         7: .line 126
            return
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/postgresql/jdbc/BatchResultHandler;
            4    5     1  rows  Ljava/util/List<[[B>;

  public void handleWarning(java.sql.SQLWarning);
    descriptor: (Ljava/sql/SQLWarning;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
        start local 1 // java.sql.SQLWarning warning
         0: .line 129
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.pgStatement:Lorg/postgresql/jdbc/PgStatement;
            aload 1 /* warning */
            invokevirtual org.postgresql.jdbc.PgStatement.addWarning:(Ljava/sql/SQLWarning;)V
         1: .line 130
            return
        end local 1 // java.sql.SQLWarning warning
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/postgresql/jdbc/BatchResultHandler;
            0    2     1  warning  Ljava/sql/SQLWarning;
    MethodParameters:
         Name  Flags
      warning  

  public void handleError(java.sql.SQLException);
    descriptor: (Ljava/sql/SQLException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
        start local 1 // java.sql.SQLException newError
         0: .line 134
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.getException:()Ljava/sql/SQLException;
            ifnonnull 15
         1: .line 135
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.committedRows:I
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
            arraylength
            bipush -3
            invokestatic java.util.Arrays.fill:([IIII)V
         2: .line 136
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            ifnull 4
         3: .line 137
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.allGeneratedRows:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         4: .line 140
      StackMap locals:
      StackMap stack:
            ldc "<unknown>"
            astore 2 /* queryString */
        start local 2 // java.lang.String queryString
         5: .line 141
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            arraylength
            if_icmpge 7
         6: .line 142
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            aaload
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.parameterLists:[Lorg/postgresql/core/ParameterList;
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            aaload
            invokeinterface org.postgresql.core.Query.toString:(Lorg/postgresql/core/ParameterList;)Ljava/lang/String;
            astore 2 /* queryString */
         7: .line 145
      StackMap locals: java.lang.String
      StackMap stack:
            new java.sql.BatchUpdateException
            dup
         8: .line 146
            ldc "Batch entry {0} {1} was aborted: {2}  Call getNextException to see other errors in the batch."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 147
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* queryString */
            aastore
            dup
            iconst_2
            aload 1 /* newError */
            invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
            aastore
        10: .line 146
            invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        11: .line 148
            aload 1 /* newError */
            invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.uncompressUpdateCount:()[I
        12: .line 145
            invokespecial java.sql.BatchUpdateException.<init>:(Ljava/lang/String;Ljava/lang/String;[I)V
            astore 3 /* batchException */
        start local 3 // java.sql.BatchUpdateException batchException
        13: .line 149
            aload 3 /* batchException */
            aload 1 /* newError */
            invokevirtual java.sql.BatchUpdateException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        14: .line 150
            aload 0 /* this */
            aload 3 /* batchException */
            invokespecial org.postgresql.core.ResultHandlerBase.handleError:(Ljava/sql/SQLException;)V
        end local 3 // java.sql.BatchUpdateException batchException
        end local 2 // java.lang.String queryString
        15: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
            iconst_1
            iadd
            putfield org.postgresql.jdbc.BatchResultHandler.resultIndex:I
        16: .line 154
            aload 0 /* this */
            aload 1 /* newError */
            invokespecial org.postgresql.core.ResultHandlerBase.handleError:(Ljava/sql/SQLException;)V
        17: .line 155
            return
        end local 1 // java.sql.SQLException newError
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/postgresql/jdbc/BatchResultHandler;
            0   18     1        newError  Ljava/sql/SQLException;
            5   15     2     queryString  Ljava/lang/String;
           13   15     3  batchException  Ljava/sql/BatchUpdateException;
    MethodParameters:
          Name  Flags
      newError  

  public void handleCompletion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 158
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.updateGeneratedKeys:()V
         1: .line 159
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.getException:()Ljava/sql/SQLException;
            astore 1 /* batchException */
        start local 1 // java.sql.SQLException batchException
         2: .line 160
            aload 1 /* batchException */
            ifnull 15
         3: .line 161
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.isAutoCommit:()Z
            ifeq 14
         4: .line 163
            new java.sql.BatchUpdateException
            dup
         5: .line 164
            aload 1 /* batchException */
            invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
         6: .line 165
            aload 1 /* batchException */
            invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
         7: .line 166
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.uncompressUpdateCount:()[I
         8: .line 163
            invokespecial java.sql.BatchUpdateException.<init>:(Ljava/lang/String;Ljava/lang/String;[I)V
            astore 2 /* newException */
        start local 2 // java.sql.BatchUpdateException newException
         9: .line 168
            aload 2 /* newException */
            aload 1 /* batchException */
            invokevirtual java.sql.SQLException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.sql.BatchUpdateException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        10: .line 169
            aload 1 /* batchException */
            invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
            astore 3 /* next */
        start local 3 // java.sql.SQLException next
        11: .line 170
            aload 3 /* next */
            ifnull 13
        12: .line 171
            aload 2 /* newException */
            aload 3 /* next */
            invokevirtual java.sql.BatchUpdateException.setNextException:(Ljava/sql/SQLException;)V
        13: .line 173
      StackMap locals: java.sql.SQLException java.sql.BatchUpdateException java.sql.SQLException
      StackMap stack:
            aload 2 /* newException */
            astore 1 /* batchException */
        end local 3 // java.sql.SQLException next
        end local 2 // java.sql.BatchUpdateException newException
        14: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* batchException */
            athrow
        15: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.sql.SQLException batchException
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lorg/postgresql/jdbc/BatchResultHandler;
            2   16     1  batchException  Ljava/sql/SQLException;
            9   14     2    newException  Ljava/sql/BatchUpdateException;
           11   14     3            next  Ljava/sql/SQLException;
    Exceptions:
      throws java.sql.SQLException

  public java.sql.ResultSet getGeneratedKeys();
    descriptor: ()Ljava/sql/ResultSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 180
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.generatedKeys:Lorg/postgresql/jdbc/PgResultSet;
            areturn
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/postgresql/jdbc/BatchResultHandler;

  private int[] uncompressUpdateCount();
    descriptor: ()[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 184
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            iconst_0
            aaload
            instanceof org.postgresql.core.v3.BatchedQuery
            ifne 2
         1: .line 185
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* totalRows */
        start local 1 // int totalRows
         3: .line 188
            iconst_0
            istore 2 /* hasRewrites */
        start local 2 // boolean hasRewrites
         4: .line 189
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: org.postgresql.jdbc.BatchResultHandler int int top int int org.postgresql.core.Query[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* query */
        start local 3 // org.postgresql.core.Query query
         6: .line 190
            aload 3 /* query */
            invokeinterface org.postgresql.core.Query.getBatchSize:()I
            istore 7 /* batchSize */
        start local 7 // int batchSize
         7: .line 191
            iload 1 /* totalRows */
            iload 7 /* batchSize */
            iadd
            istore 1 /* totalRows */
         8: .line 192
            iload 2 /* hasRewrites */
            iload 7 /* batchSize */
            iconst_1
            if_icmple 9
            iconst_1
            goto 10
      StackMap locals: org.postgresql.jdbc.BatchResultHandler int int org.postgresql.core.Query int int org.postgresql.core.Query[] int
      StackMap stack: int
         9: iconst_0
      StackMap locals: org.postgresql.jdbc.BatchResultHandler int int org.postgresql.core.Query int int org.postgresql.core.Query[] int
      StackMap stack: int int
        10: ior
            istore 2 /* hasRewrites */
        end local 7 // int batchSize
        end local 3 // org.postgresql.core.Query query
        11: .line 189
            iinc 4 1
      StackMap locals: org.postgresql.jdbc.BatchResultHandler int int top int int org.postgresql.core.Query[]
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 5
        13: .line 194
            iload 2 /* hasRewrites */
            ifne 15
        14: .line 195
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
            areturn
        15: .line 203
      StackMap locals: org.postgresql.jdbc.BatchResultHandler int int
      StackMap stack:
            iload 1 /* totalRows */
            newarray 10
            astore 3 /* newUpdateCounts */
        start local 3 // int[] newUpdateCounts
        16: .line 204
            iconst_0
            istore 4 /* offset */
        start local 4 // int offset
        17: .line 205
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        18: goto 30
        19: .line 206
      StackMap locals: int[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            iload 5 /* i */
            aaload
            astore 6 /* query */
        start local 6 // org.postgresql.core.Query query
        20: .line 207
            aload 6 /* query */
            invokeinterface org.postgresql.core.Query.getBatchSize:()I
            istore 7 /* batchSize */
        start local 7 // int batchSize
        21: .line 208
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.updateCounts:[I
            iload 5 /* i */
            iaload
            istore 8 /* superBatchResult */
        start local 8 // int superBatchResult
        22: .line 209
            iload 7 /* batchSize */
            iconst_1
            if_icmpne 25
        23: .line 210
            aload 3 /* newUpdateCounts */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            iload 8 /* superBatchResult */
            iastore
        24: .line 211
            goto 29
        25: .line 213
      StackMap locals: org.postgresql.core.Query int int
      StackMap stack:
            iload 8 /* superBatchResult */
            ifle 27
        26: .line 216
            bipush -2
            istore 8 /* superBatchResult */
        27: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* newUpdateCounts */
            iload 4 /* offset */
            iload 4 /* offset */
            iload 7 /* batchSize */
            iadd
            iload 8 /* superBatchResult */
            invokestatic java.util.Arrays.fill:([IIII)V
        28: .line 219
            iload 4 /* offset */
            iload 7 /* batchSize */
            iadd
            istore 4 /* offset */
        end local 8 // int superBatchResult
        end local 7 // int batchSize
        end local 6 // org.postgresql.core.Query query
        29: .line 205
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            aload 0 /* this */
            getfield org.postgresql.jdbc.BatchResultHandler.queries:[Lorg/postgresql/core/Query;
            arraylength
            if_icmplt 19
        end local 5 // int i
        31: .line 221
            aload 3 /* newUpdateCounts */
            areturn
        end local 4 // int offset
        end local 3 // int[] newUpdateCounts
        end local 2 // boolean hasRewrites
        end local 1 // int totalRows
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Lorg/postgresql/jdbc/BatchResultHandler;
            3   32     1         totalRows  I
            4   32     2       hasRewrites  Z
            6   11     3             query  Lorg/postgresql/core/Query;
            7   11     7         batchSize  I
           16   32     3   newUpdateCounts  [I
           17   32     4            offset  I
           18   31     5                 i  I
           20   29     6             query  Lorg/postgresql/core/Query;
           21   29     7         batchSize  I
           22   29     8  superBatchResult  I

  public int[] getUpdateCount();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.postgresql.jdbc.BatchResultHandler this
         0: .line 225
            aload 0 /* this */
            invokevirtual org.postgresql.jdbc.BatchResultHandler.uncompressUpdateCount:()[I
            areturn
        end local 0 // org.postgresql.jdbc.BatchResultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/postgresql/jdbc/BatchResultHandler;
}
SourceFile: "BatchResultHandler.java"