public class org.hsqldb.StatementCursor extends org.hsqldb.StatementQuery
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.StatementCursor
  super_class: org.hsqldb.StatementQuery
{
  public static final org.hsqldb.StatementCursor[] emptyArray;
    descriptor: [Lorg/hsqldb/StatementCursor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            iconst_0
            anewarray org.hsqldb.StatementCursor
            putstatic org.hsqldb.StatementCursor.emptyArray:[Lorg/hsqldb/StatementCursor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.hsqldb.Session, org.hsqldb.QueryExpression, org.hsqldb.ParserDQL$CompileContext);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/QueryExpression;Lorg/hsqldb/ParserDQL$CompileContext;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hsqldb.StatementCursor this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.QueryExpression query
        start local 3 // org.hsqldb.ParserDQL$CompileContext compileContext
         0: .line 51
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* query */
            aload 3 /* compileContext */
            invokespecial org.hsqldb.StatementQuery.<init>:(Lorg/hsqldb/Session;Lorg/hsqldb/QueryExpression;Lorg/hsqldb/ParserDQL$CompileContext;)V
         1: .line 52
            return
        end local 3 // org.hsqldb.ParserDQL$CompileContext compileContext
        end local 2 // org.hsqldb.QueryExpression query
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementCursor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hsqldb/StatementCursor;
            0    2     1         session  Lorg/hsqldb/Session;
            0    2     2           query  Lorg/hsqldb/QueryExpression;
            0    2     3  compileContext  Lorg/hsqldb/ParserDQL$CompileContext;
    MethodParameters:
                Name  Flags
      session         
      query           
      compileContext  

  org.hsqldb.result.Result getResult(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hsqldb.StatementCursor this
        start local 1 // org.hsqldb.Session session
         0: .line 56
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
            astore 2 /* data */
        start local 2 // java.lang.Object[] data
         1: .line 57
            aload 2 /* data */
            aload 2 /* data */
            arraylength
            iconst_1
            isub
            aaload
            checkcast org.hsqldb.result.Result
            astore 3 /* current */
        start local 3 // org.hsqldb.result.Result current
         2: .line 58
            aload 3 /* current */
            astore 4 /* head */
        start local 4 // org.hsqldb.result.Result head
         3: .line 60
            goto 11
         4: .line 61
      StackMap locals: java.lang.Object[] org.hsqldb.result.Result org.hsqldb.result.Result
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.StatementCursor.getCursorName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
            aload 3 /* current */
            invokevirtual org.hsqldb.result.Result.getMainString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 62
            aload 3 /* current */
            getfield org.hsqldb.result.Result.navigator:Lorg/hsqldb/navigator/RowSetNavigator;
            invokevirtual org.hsqldb.navigator.RowSetNavigator.release:()V
         6: .line 64
            aload 4 /* head */
            aload 3 /* current */
            if_acmpne 8
         7: .line 65
            aload 3 /* current */
            invokevirtual org.hsqldb.result.Result.getChainedResult:()Lorg/hsqldb/result/Result;
            astore 4 /* head */
         8: .line 69
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.hsqldb.result.Result.getChainedResult:()Lorg/hsqldb/result/Result;
            ifnonnull 10
         9: .line 70
            goto 12
        10: .line 73
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.hsqldb.result.Result.getChainedResult:()Lorg/hsqldb/result/Result;
            astore 3 /* current */
        11: .line 60
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 4
        12: .line 76
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 2 /* data */
            arraylength
            iconst_1
            isub
            aload 4 /* head */
            aastore
        13: .line 78
            aload 0 /* this */
            getfield org.hsqldb.StatementCursor.queryExpression:Lorg/hsqldb/QueryExpression;
            aload 1 /* session */
            iconst_0
            invokevirtual org.hsqldb.QueryExpression.getResult:(Lorg/hsqldb/Session;I)Lorg/hsqldb/result/Result;
            astore 5 /* result */
        start local 5 // org.hsqldb.result.Result result
        14: .line 80
            aload 5 /* result */
            aload 0 /* this */
            invokevirtual org.hsqldb.result.Result.setStatement:(Lorg/hsqldb/Statement;)V
        15: .line 82
            aload 5 /* result */
            invokevirtual org.hsqldb.result.Result.isError:()Z
            ifeq 17
        16: .line 83
            aload 5 /* result */
            areturn
        17: .line 86
      StackMap locals: org.hsqldb.result.Result
      StackMap stack:
            aload 5 /* result */
            aload 0 /* this */
            invokevirtual org.hsqldb.StatementCursor.getCursorName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
            invokevirtual org.hsqldb.result.Result.setMainString:(Ljava/lang/String;)V
        18: .line 88
            aload 4 /* head */
            ifnonnull 21
        19: .line 89
            aload 2 /* data */
            aload 2 /* data */
            arraylength
            iconst_1
            isub
            aload 5 /* result */
            aastore
        20: .line 90
            goto 22
        21: .line 91
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 2 /* data */
            arraylength
            iconst_1
            isub
            aaload
            checkcast org.hsqldb.result.Result
            aload 5 /* result */
            invokevirtual org.hsqldb.result.Result.addChainedResult:(Lorg/hsqldb/result/Result;)V
        22: .line 94
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.result.Result.updateZeroResult:Lorg/hsqldb/result/Result;
            areturn
        end local 5 // org.hsqldb.result.Result result
        end local 4 // org.hsqldb.result.Result head
        end local 3 // org.hsqldb.result.Result current
        end local 2 // java.lang.Object[] data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementCursor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lorg/hsqldb/StatementCursor;
            0   23     1  session  Lorg/hsqldb/Session;
            1   23     2     data  [Ljava/lang/Object;
            2   23     3  current  Lorg/hsqldb/result/Result;
            3   23     4     head  Lorg/hsqldb/result/Result;
           14   23     5   result  Lorg/hsqldb/result/Result;
    MethodParameters:
         Name  Flags
      session  

  void collectTableNamesForWrite(org.hsqldb.lib.OrderedHashSet);
    descriptor: (Lorg/hsqldb/lib/OrderedHashSet;)V
    flags: (0x0000) 
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hsqldb.StatementCursor this
        start local 1 // org.hsqldb.lib.OrderedHashSet set
         0: .line 100
            return
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.StatementCursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/StatementCursor;
            0    1     1   set  Lorg/hsqldb/lib/OrderedHashSet;
    MethodParameters:
      Name  Flags
      set   
}
SourceFile: "StatementCursor.java"
InnerClasses:
  public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager
  public final CompileContext = org.hsqldb.ParserDQL$CompileContext of org.hsqldb.ParserDQL