abstract class org.h2.table.JoinBatch$QueryRunnerBase extends org.h2.util.LazyFuture<org.h2.index.Cursor>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.h2.table.JoinBatch$QueryRunnerBase
  super_class: org.h2.util.LazyFuture
{
  protected final org.h2.index.ViewIndex viewIndex;
    descriptor: Lorg/h2/index/ViewIndex;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected org.h2.result.SearchRow first;
    descriptor: Lorg/h2/result/SearchRow;
    flags: (0x0004) ACC_PROTECTED

  protected org.h2.result.SearchRow last;
    descriptor: Lorg/h2/result/SearchRow;
    flags: (0x0004) ACC_PROTECTED

  private boolean isLazyResult;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>(org.h2.index.ViewIndex);
    descriptor: (Lorg/h2/index/ViewIndex;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
        start local 1 // org.h2.index.ViewIndex viewIndex
         0: .line 867
            aload 0 /* this */
            invokespecial org.h2.util.LazyFuture.<init>:()V
         1: .line 868
            aload 0 /* this */
            aload 1 /* viewIndex */
            putfield org.h2.table.JoinBatch$QueryRunnerBase.viewIndex:Lorg/h2/index/ViewIndex;
         2: .line 869
            return
        end local 1 // org.h2.index.ViewIndex viewIndex
        end local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/h2/table/JoinBatch$QueryRunnerBase;
            0    3     1  viewIndex  Lorg/h2/index/ViewIndex;
    MethodParameters:
           Name  Flags
      viewIndex  

  protected void clear();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
         0: .line 872
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield org.h2.table.JoinBatch$QueryRunnerBase.last:Lorg/h2/result/SearchRow;
            putfield org.h2.table.JoinBatch$QueryRunnerBase.first:Lorg/h2/result/SearchRow;
         1: .line 873
            return
        end local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/table/JoinBatch$QueryRunnerBase;

  public final boolean reset();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
         0: .line 877
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$QueryRunnerBase.isLazyResult:Z
            ifeq 2
         1: .line 878
            aload 0 /* this */
            invokevirtual org.h2.table.JoinBatch$QueryRunnerBase.resetViewTopFutureCursorAfterQuery:()V
         2: .line 880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.h2.util.LazyFuture.reset:()Z
            ifeq 4
         3: .line 881
            iconst_1
            ireturn
         4: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.table.JoinBatch$QueryRunnerBase.clear:()V
         5: .line 885
            iconst_0
            ireturn
        end local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/table/JoinBatch$QueryRunnerBase;

  protected final org.h2.index.ViewCursor newCursor(org.h2.result.ResultInterface);
    descriptor: (Lorg/h2/result/ResultInterface;)Lorg/h2/index/ViewCursor;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
        start local 1 // org.h2.result.ResultInterface localResult
         0: .line 889
            aload 0 /* this */
            aload 1 /* localResult */
            invokeinterface org.h2.result.ResultInterface.isLazy:()Z
            putfield org.h2.table.JoinBatch$QueryRunnerBase.isLazyResult:Z
         1: .line 890
            new org.h2.index.ViewCursor
            dup
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$QueryRunnerBase.viewIndex:Lorg/h2/index/ViewIndex;
            aload 1 /* localResult */
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$QueryRunnerBase.first:Lorg/h2/result/SearchRow;
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$QueryRunnerBase.last:Lorg/h2/result/SearchRow;
            invokespecial org.h2.index.ViewCursor.<init>:(Lorg/h2/index/ViewIndex;Lorg/h2/result/ResultInterface;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)V
            astore 2 /* cursor */
        start local 2 // org.h2.index.ViewCursor cursor
         2: .line 891
            aload 0 /* this */
            invokevirtual org.h2.table.JoinBatch$QueryRunnerBase.clear:()V
         3: .line 892
            aload 2 /* cursor */
            areturn
        end local 2 // org.h2.index.ViewCursor cursor
        end local 1 // org.h2.result.ResultInterface localResult
        end local 0 // org.h2.table.JoinBatch$QueryRunnerBase this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/h2/table/JoinBatch$QueryRunnerBase;
            0    4     1  localResult  Lorg/h2/result/ResultInterface;
            2    4     2       cursor  Lorg/h2/index/ViewCursor;
    MethodParameters:
             Name  Flags
      localResult  

  protected abstract void resetViewTopFutureCursorAfterQuery();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
}
Signature: Lorg/h2/util/LazyFuture<Lorg/h2/index/Cursor;>;
SourceFile: "JoinBatch.java"
NestHost: org.h2.table.JoinBatch
InnerClasses:
  private abstract QueryRunnerBase = org.h2.table.JoinBatch$QueryRunnerBase of org.h2.table.JoinBatch