final class org.h2.table.JoinBatch$ViewIndexLookupBatchUnion extends org.h2.table.JoinBatch$ViewIndexLookupBatchBase<org.h2.table.JoinBatch$QueryRunnerUnion>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.h2.table.JoinBatch$ViewIndexLookupBatchUnion
  super_class: org.h2.table.JoinBatch$ViewIndexLookupBatchBase
{
  java.util.ArrayList<org.h2.table.JoinBatch$JoinFilter> filters;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Lorg/h2/table/JoinBatch$JoinFilter;>;

  java.util.ArrayList<org.h2.table.JoinBatch> joinBatches;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Lorg/h2/table/JoinBatch;>;

  private boolean onlyBatchedQueries;
    descriptor: Z
    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 986
            ldc Lorg/h2/table/JoinBatch;
            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.h2.table.JoinBatch$ViewIndexLookupBatchUnion.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.h2.index.ViewIndex);
    descriptor: (Lorg/h2/index/ViewIndex;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
        start local 1 // org.h2.index.ViewIndex viewIndex
         0: .line 993
            aload 0 /* this */
            aload 1 /* viewIndex */
            invokespecial org.h2.table.JoinBatch$ViewIndexLookupBatchBase.<init>:(Lorg/h2/index/ViewIndex;)V
         1: .line 990
            aload 0 /* this */
            iconst_1
            putfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.onlyBatchedQueries:Z
         2: .line 994
            return
        end local 1 // org.h2.index.ViewIndex viewIndex
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;
            0    3     1  viewIndex  Lorg/h2/index/ViewIndex;
    MethodParameters:
           Name  Flags
      viewIndex  

  boolean initialize();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
         0: .line 997
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.viewIndex:Lorg/h2/index/ViewIndex;
            invokevirtual org.h2.index.ViewIndex.getQuery:()Lorg/h2/command/dml/Query;
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.collectJoinBatches:(Lorg/h2/command/dml/Query;)Z
            ifeq 1
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.joinBatches:Ljava/util/ArrayList;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;

  private boolean collectJoinBatches(org.h2.command.dml.Query);
    descriptor: (Lorg/h2/command/dml/Query;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
        start local 1 // org.h2.command.dml.Query query
         0: .line 1001
            aload 1 /* query */
            invokevirtual org.h2.command.dml.Query.isUnion:()Z
            ifeq 6
         1: .line 1002
            aload 1 /* query */
            checkcast org.h2.command.dml.SelectUnion
            astore 2 /* union */
        start local 2 // org.h2.command.dml.SelectUnion union
         2: .line 1003
            aload 0 /* this */
            aload 2 /* union */
            invokevirtual org.h2.command.dml.SelectUnion.getLeft:()Lorg/h2/command/dml/Query;
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.collectJoinBatches:(Lorg/h2/command/dml/Query;)Z
            ifeq 5
         3: .line 1004
            aload 0 /* this */
            aload 2 /* union */
            invokevirtual org.h2.command.dml.SelectUnion.getRight:()Lorg/h2/command/dml/Query;
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.collectJoinBatches:(Lorg/h2/command/dml/Query;)Z
            ifeq 5
         4: .line 1003
            iconst_1
            ireturn
      StackMap locals: org.h2.command.dml.SelectUnion
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // org.h2.command.dml.SelectUnion union
         6: .line 1006
      StackMap locals:
      StackMap stack:
            aload 1 /* query */
            checkcast org.h2.command.dml.Select
            astore 2 /* select */
        start local 2 // org.h2.command.dml.Select select
         7: .line 1007
            aload 2 /* select */
            invokevirtual org.h2.command.dml.Select.getJoinBatch:()Lorg/h2/table/JoinBatch;
            astore 3 /* jb */
        start local 3 // org.h2.table.JoinBatch jb
         8: .line 1008
            aload 3 /* jb */
            ifnonnull 11
         9: .line 1009
            aload 0 /* this */
            iconst_0
            putfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.onlyBatchedQueries:Z
        10: .line 1010
            goto 20
        11: .line 1011
      StackMap locals: org.h2.command.dml.Select org.h2.table.JoinBatch
      StackMap stack:
            aload 3 /* jb */
            iconst_0
            invokevirtual org.h2.table.JoinBatch.getLookupBatch:(I)Lorg/h2/index/IndexLookupBatch;
            ifnonnull 13
        12: .line 1013
            iconst_0
            ireturn
        13: .line 1015
      StackMap locals:
      StackMap stack:
            getstatic org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.$assertionsDisabled:Z
            ifne 14
            aload 3 /* jb */
            getfield org.h2.table.JoinBatch.batchedSubQuery:Z
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 1016
      StackMap locals:
      StackMap stack:
            aload 3 /* jb */
            iconst_1
            putfield org.h2.table.JoinBatch.batchedSubQuery:Z
        15: .line 1017
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.joinBatches:Ljava/util/ArrayList;
            ifnonnull 18
        16: .line 1018
            aload 0 /* this */
            invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
            putfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.joinBatches:Ljava/util/ArrayList;
        17: .line 1019
            aload 0 /* this */
            invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
            putfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
        18: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
            aload 3 /* jb */
            getfield org.h2.table.JoinBatch.filters:[Lorg/h2/table/JoinBatch$JoinFilter;
            iconst_0
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 1022
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.joinBatches:Ljava/util/ArrayList;
            aload 3 /* jb */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        20: .line 1024
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // org.h2.table.JoinBatch jb
        end local 2 // org.h2.command.dml.Select select
        end local 1 // org.h2.command.dml.Query query
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;
            0   21     1   query  Lorg/h2/command/dml/Query;
            2    6     2   union  Lorg/h2/command/dml/SelectUnion;
            7   21     2  select  Lorg/h2/command/dml/Select;
            8   21     3      jb  Lorg/h2/table/JoinBatch;
    MethodParameters:
       Name  Flags
      query  

  public boolean isBatchFull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
         0: .line 1030
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.h2.table.JoinBatch$ViewIndexLookupBatchUnion top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.table.JoinBatch$JoinFilter
            astore 1 /* filter */
        start local 1 // org.h2.table.JoinBatch$JoinFilter filter
         2: .line 1031
            aload 1 /* filter */
            invokevirtual org.h2.table.JoinBatch$JoinFilter.isBatchFull:()Z
            ifeq 4
         3: .line 1032
            iconst_1
            ireturn
        end local 1 // org.h2.table.JoinBatch$JoinFilter filter
         4: .line 1030
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1035
            iconst_0
            ireturn
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;
            2    4     1  filter  Lorg/h2/table/JoinBatch$JoinFilter;

  protected boolean collectSearchRows(org.h2.table.JoinBatch$QueryRunnerUnion);
    descriptor: (Lorg/h2/table/JoinBatch$QueryRunnerUnion;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
        start local 1 // org.h2.table.JoinBatch$QueryRunnerUnion r
         0: .line 1040
            iconst_0
            istore 2 /* collected */
        start local 2 // boolean collected
         1: .line 1041
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 1042
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.table.JoinBatch$JoinFilter
            invokevirtual org.h2.table.JoinBatch$JoinFilter.collectSearchRows:()Z
            ifeq 6
         4: .line 1043
            iconst_1
            istore 2 /* collected */
         5: .line 1044
            goto 7
         6: .line 1045
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            getfield org.h2.table.JoinBatch$QueryRunnerUnion.topFutureCursors:[Ljava/util/concurrent/Future;
            iload 3 /* i */
            getstatic org.h2.table.JoinBatch.EMPTY_FUTURE_CURSOR:Ljava/util/concurrent/Future;
            aastore
         7: .line 1041
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 3 // int i
         9: .line 1048
            iload 2 /* collected */
            ifne 10
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.onlyBatchedQueries:Z
            ifeq 10
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_1
            ireturn
        end local 2 // boolean collected
        end local 1 // org.h2.table.JoinBatch$QueryRunnerUnion r
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;
            0   11     1          r  Lorg/h2/table/JoinBatch$QueryRunnerUnion;
            1   11     2  collected  Z
            2    9     3          i  I
    MethodParameters:
      Name  Flags
      r     

  protected org.h2.table.JoinBatch$QueryRunnerUnion newQueryRunner();
    descriptor: ()Lorg/h2/table/JoinBatch$QueryRunnerUnion;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
         0: .line 1053
            new org.h2.table.JoinBatch$QueryRunnerUnion
            dup
            aload 0 /* this */
            invokespecial org.h2.table.JoinBatch$QueryRunnerUnion.<init>:(Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;)V
            areturn
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;

  protected void startQueryRunners(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
        start local 1 // int resultSize
         0: .line 1058
            iconst_0
            istore 2 /* f */
        start local 2 // int f
         1: goto 14
         2: .line 1059
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
            iload 2 /* f */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.table.JoinBatch$JoinFilter
            invokevirtual org.h2.table.JoinBatch$JoinFilter.find:()Ljava/util/List;
            astore 3 /* topFutureCursors */
        start local 3 // java.util.List topFutureCursors
         3: .line 1060
            iconst_0
            istore 4 /* r */
        start local 4 // int r
         4: iconst_0
            istore 5 /* c */
        start local 5 // int c
         5: .line 1061
            goto 10
         6: .line 1062
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* r */
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.queryRunner:(I)Lorg/h2/table/JoinBatch$QueryRunnerBase;
            checkcast org.h2.table.JoinBatch$QueryRunnerUnion
            getfield org.h2.table.JoinBatch$QueryRunnerUnion.topFutureCursors:[Ljava/util/concurrent/Future;
            astore 6 /* cs */
        start local 6 // java.util.concurrent.Future[] cs
         7: .line 1063
            aload 6 /* cs */
            iload 2 /* f */
            aaload
            ifnonnull 9
         8: .line 1064
            aload 6 /* cs */
            iload 2 /* f */
            aload 3 /* topFutureCursors */
            iload 5 /* c */
            iinc 5 /* c */ 1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            aastore
        end local 6 // java.util.concurrent.Future[] cs
         9: .line 1061
      StackMap locals:
      StackMap stack:
            iinc 4 /* r */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* r */
            iload 1 /* resultSize */
            if_icmplt 6
        11: .line 1067
            getstatic org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.$assertionsDisabled:Z
            ifne 12
            iload 4 /* r */
            iload 1 /* resultSize */
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 1068
      StackMap locals:
      StackMap stack:
            getstatic org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.$assertionsDisabled:Z
            ifne 13
            iload 5 /* c */
            aload 3 /* topFutureCursors */
            invokeinterface java.util.List.size:()I
            if_icmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // int c
        end local 4 // int r
        end local 3 // java.util.List topFutureCursors
        13: .line 1058
      StackMap locals:
      StackMap stack:
            iinc 2 /* f */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* f */
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.filters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 2
        end local 2 // int f
        15: .line 1070
            return
        end local 1 // int resultSize
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatchUnion this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatchUnion;
            0   16     1        resultSize  I
            1   15     2                 f  I
            3   13     3  topFutureCursors  Ljava/util/List<Ljava/util/concurrent/Future<Lorg/h2/index/Cursor;>;>;
            4   13     4                 r  I
            5   13     5                 c  I
            7    9     6                cs  [Ljava/util/concurrent/Future;
    MethodParameters:
            Name  Flags
      resultSize  

  protected org.h2.table.JoinBatch$QueryRunnerBase newQueryRunner();
    descriptor: ()Lorg/h2/table/JoinBatch$QueryRunnerBase;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.newQueryRunner:()Lorg/h2/table/JoinBatch$QueryRunnerUnion;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected boolean collectSearchRows(org.h2.table.JoinBatch$QueryRunnerBase);
    descriptor: (Lorg/h2/table/JoinBatch$QueryRunnerBase;)Z
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.h2.table.JoinBatch$QueryRunnerUnion
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatchUnion.collectSearchRows:(Lorg/h2/table/JoinBatch$QueryRunnerUnion;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/h2/table/JoinBatch$ViewIndexLookupBatchBase<Lorg/h2/table/JoinBatch$QueryRunnerUnion;>;
SourceFile: "JoinBatch.java"
NestHost: org.h2.table.JoinBatch
InnerClasses:
  private final JoinFilter = org.h2.table.JoinBatch$JoinFilter of org.h2.table.JoinBatch
  private abstract QueryRunnerBase = org.h2.table.JoinBatch$QueryRunnerBase of org.h2.table.JoinBatch
  private QueryRunnerUnion = org.h2.table.JoinBatch$QueryRunnerUnion of org.h2.table.JoinBatch
  private abstract ViewIndexLookupBatchBase = org.h2.table.JoinBatch$ViewIndexLookupBatchBase of org.h2.table.JoinBatch
  private final ViewIndexLookupBatchUnion = org.h2.table.JoinBatch$ViewIndexLookupBatchUnion of org.h2.table.JoinBatch