public class org.hsqldb.StatementProcedure extends org.hsqldb.StatementDMQL
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.StatementProcedure
  super_class: org.hsqldb.StatementDMQL
{
  org.hsqldb.Expression expression;
    descriptor: Lorg/hsqldb/Expression;
    flags: (0x0000) 

  org.hsqldb.Routine procedure;
    descriptor: Lorg/hsqldb/Routine;
    flags: (0x0000) 

  org.hsqldb.Expression[] arguments;
    descriptor: [Lorg/hsqldb/Expression;
    flags: (0x0000) 

  org.hsqldb.result.ResultMetaData resultMetaData;
    descriptor: Lorg/hsqldb/result/ResultMetaData;
    flags: (0x0000) 

  void <init>(org.hsqldb.Session, org.hsqldb.Expression, org.hsqldb.ParserDQL$CompileContext);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/ParserDQL$CompileContext;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Expression expression
        start local 3 // org.hsqldb.ParserDQL$CompileContext compileContext
         0: .line 70
            aload 0 /* this */
            bipush 10
            sipush 2003
         1: .line 71
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getCurrentSchemaHsqlName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokespecial org.hsqldb.StatementDMQL.<init>:(IILorg/hsqldb/HsqlNameManager$HsqlName;)V
         2: .line 61
            aload 0 /* this */
            getstatic org.hsqldb.Expression.emptyArray:[Lorg/hsqldb/Expression;
            putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
         3: .line 73
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.StatementProcedure.statementReturnType:I
         4: .line 75
            aload 2 /* expression */
            getfield org.hsqldb.Expression.opType:I
            bipush 27
            if_icmpne 12
         5: .line 76
            aload 2 /* expression */
            checkcast org.hsqldb.FunctionSQLInvoked
            astore 4 /* f */
        start local 4 // org.hsqldb.FunctionSQLInvoked f
         6: .line 78
            aload 4 /* f */
            getfield org.hsqldb.FunctionSQLInvoked.routine:Lorg/hsqldb/Routine;
            getfield org.hsqldb.Routine.returnsTable:Z
            ifeq 10
         7: .line 79
            aload 0 /* this */
            aload 4 /* f */
            getfield org.hsqldb.FunctionSQLInvoked.routine:Lorg/hsqldb/Routine;
            putfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
         8: .line 80
            aload 0 /* this */
            aload 4 /* f */
            getfield org.hsqldb.FunctionSQLInvoked.nodes:[Lorg/hsqldb/Expression;
            putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
         9: .line 81
            goto 13
        10: .line 82
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session org.hsqldb.Expression org.hsqldb.ParserDQL$CompileContext org.hsqldb.FunctionSQLInvoked
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expression */
            putfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
        end local 4 // org.hsqldb.FunctionSQLInvoked f
        11: .line 84
            goto 13
        12: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expression */
            putfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
        13: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 3 /* compileContext */
            invokevirtual org.hsqldb.StatementProcedure.setDatabaseObjects:(Lorg/hsqldb/Session;Lorg/hsqldb/ParserDQL$CompileContext;)V
        14: .line 89
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.StatementProcedure.checkAccessRights:(Lorg/hsqldb/Session;)V
        15: .line 91
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            ifnull 17
        16: .line 92
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getGrantee:()Lorg/hsqldb/rights/Grantee;
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.rights.Grantee.checkAccess:(Lorg/hsqldb/SchemaObject;)V
        17: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.readTableNames:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            arraylength
            ifgt 19
        18: .line 96
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.writeTableNames:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            arraylength
            ifgt 19
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack: org.hsqldb.StatementProcedure
        19: iconst_1
        20: .line 95
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session org.hsqldb.Expression org.hsqldb.ParserDQL$CompileContext
      StackMap stack: org.hsqldb.StatementProcedure int
            putfield org.hsqldb.StatementProcedure.isTransactionStatement:Z
        21: .line 97
            return
        end local 3 // org.hsqldb.ParserDQL$CompileContext compileContext
        end local 2 // org.hsqldb.Expression expression
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lorg/hsqldb/StatementProcedure;
            0   22     1         session  Lorg/hsqldb/Session;
            0   22     2      expression  Lorg/hsqldb/Expression;
            0   22     3  compileContext  Lorg/hsqldb/ParserDQL$CompileContext;
            6   11     4               f  Lorg/hsqldb/FunctionSQLInvoked;
    MethodParameters:
                Name  Flags
      session         
      expression      
      compileContext  

  void <init>(org.hsqldb.Session, org.hsqldb.Routine, org.hsqldb.Expression[], org.hsqldb.ParserDQL$CompileContext);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Routine;[Lorg/hsqldb/Expression;Lorg/hsqldb/ParserDQL$CompileContext;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Routine procedure
        start local 3 // org.hsqldb.Expression[] arguments
        start local 4 // org.hsqldb.ParserDQL$CompileContext compileContext
         0: .line 105
            aload 0 /* this */
            bipush 10
            sipush 2003
         1: .line 106
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getCurrentSchemaHsqlName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokespecial org.hsqldb.StatementDMQL.<init>:(IILorg/hsqldb/HsqlNameManager$HsqlName;)V
         2: .line 61
            aload 0 /* this */
            getstatic org.hsqldb.Expression.emptyArray:[Lorg/hsqldb/Expression;
            putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
         3: .line 108
            aload 2 /* procedure */
            getfield org.hsqldb.Routine.maxDynamicResults:I
            ifle 5
         4: .line 109
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.StatementProcedure.statementReturnType:I
         5: .line 112
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session org.hsqldb.Routine org.hsqldb.Expression[] org.hsqldb.ParserDQL$CompileContext
      StackMap stack:
            aload 0 /* this */
            aload 2 /* procedure */
            putfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
         6: .line 113
            aload 0 /* this */
            aload 3 /* arguments */
            putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
         7: .line 115
            aload 0 /* this */
            aload 1 /* session */
            aload 4 /* compileContext */
            invokevirtual org.hsqldb.StatementProcedure.setDatabaseObjects:(Lorg/hsqldb/Session;Lorg/hsqldb/ParserDQL$CompileContext;)V
         8: .line 116
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.StatementProcedure.checkAccessRights:(Lorg/hsqldb/Session;)V
         9: .line 117
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getGrantee:()Lorg/hsqldb/rights/Grantee;
            aload 2 /* procedure */
            invokevirtual org.hsqldb.rights.Grantee.checkAccess:(Lorg/hsqldb/SchemaObject;)V
        10: .line 119
            aload 2 /* procedure */
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifeq 15
        11: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.readTableNames:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            arraylength
            ifgt 13
        12: .line 121
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.writeTableNames:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            arraylength
            ifgt 13
            iconst_0
            goto 14
      StackMap locals:
      StackMap stack: org.hsqldb.StatementProcedure
        13: iconst_1
        14: .line 120
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session org.hsqldb.Routine org.hsqldb.Expression[] org.hsqldb.ParserDQL$CompileContext
      StackMap stack: org.hsqldb.StatementProcedure int
            putfield org.hsqldb.StatementProcedure.isTransactionStatement:Z
        15: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.hsqldb.ParserDQL$CompileContext compileContext
        end local 3 // org.hsqldb.Expression[] arguments
        end local 2 // org.hsqldb.Routine procedure
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lorg/hsqldb/StatementProcedure;
            0   16     1         session  Lorg/hsqldb/Session;
            0   16     2       procedure  Lorg/hsqldb/Routine;
            0   16     3       arguments  [Lorg/hsqldb/Expression;
            0   16     4  compileContext  Lorg/hsqldb/ParserDQL$CompileContext;
    MethodParameters:
                Name  Flags
      session         
      procedure       
      arguments       
      compileContext  

  org.hsqldb.result.Result getResult(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
         0: .line 127
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            ifnonnull 1
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.StatementProcedure.getProcedureResult:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
            goto 2
         1: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.StatementProcedure.getExpressionResult:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
         2: .line 127
      StackMap locals:
      StackMap stack: org.hsqldb.result.Result
            astore 2 /* result */
        start local 2 // org.hsqldb.result.Result result
         3: .line 130
            aload 2 /* result */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.statementReturnType:I
            invokevirtual org.hsqldb.result.Result.setStatementType:(I)V
         4: .line 132
            aload 2 /* result */
            areturn
        end local 2 // org.hsqldb.result.Result result
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hsqldb/StatementProcedure;
            0    5     1  session  Lorg/hsqldb/Session;
            3    5     2   result  Lorg/hsqldb/result/Result;
    MethodParameters:
         Name  Flags
      session  

  org.hsqldb.result.Result getProcedureResult(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
         0: .line 137
            getstatic org.hsqldb.map.ValuePool.emptyObjectArray:[Ljava/lang/Object;
            astore 2 /* data */
        start local 2 // java.lang.Object[] data
         1: .line 140
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifeq 6
         2: .line 141
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            arraylength
            istore 3 /* argLength */
        start local 3 // int argLength
         3: .line 143
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getMaxDynamicResults:()I
            ifle 9
         4: .line 144
            iinc 3 /* argLength */ 1
         5: .line 146
            goto 9
        end local 3 // int argLength
         6: .line 147
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            istore 3 /* argLength */
        start local 3 // int argLength
         7: .line 149
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            getfield org.hsqldb.Routine.javaMethodWithConnection:Z
            ifeq 9
         8: .line 150
            iinc 3 /* argLength */ -1
         9: .line 154
      StackMap locals: int
      StackMap stack:
            iload 3 /* argLength */
            ifle 11
        10: .line 155
            iload 3 /* argLength */
            anewarray java.lang.Object
            astore 2 /* data */
        11: .line 158
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 21
        13: .line 159
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            iload 4 /* i */
            aaload
            astore 5 /* e */
        start local 5 // org.hsqldb.Expression e
        14: .line 161
            aload 5 /* e */
            ifnull 20
        15: .line 162
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            iload 4 /* i */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
            invokevirtual org.hsqldb.ColumnSchema.getDataType:()Lorg/hsqldb/types/Type;
            astore 6 /* targetType */
        start local 6 // org.hsqldb.types.Type targetType
        16: .line 163
            aload 5 /* e */
            aload 1 /* session */
            invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        17: .line 165
            aload 2 /* data */
            iload 4 /* i */
            aload 6 /* targetType */
            aload 1 /* session */
            aload 7 /* value */
        18: .line 166
            aload 5 /* e */
            invokevirtual org.hsqldb.Expression.getDataType:()Lorg/hsqldb/types/Type;
        19: .line 165
            invokevirtual org.hsqldb.types.Type.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
            aastore
        end local 7 // java.lang.Object value
        end local 6 // org.hsqldb.types.Type targetType
        end local 5 // org.hsqldb.Expression e
        20: .line 158
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            arraylength
            if_icmplt 13
        end local 4 // int i
        22: .line 170
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.pushRoutineInvocation:()V
        23: .line 172
            getstatic org.hsqldb.result.Result.updateZeroResult:Lorg/hsqldb/result/Result;
            astore 4 /* result */
        start local 4 // org.hsqldb.result.Result result
        24: .line 176
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            aload 2 /* data */
            putfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
        25: .line 177
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
        26: .line 178
            getstatic org.hsqldb.map.ValuePool.emptyObjectArray:[Ljava/lang/Object;
        27: .line 177
            putfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
        28: .line 180
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifeq 31
        29: .line 181
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.StatementProcedure.executePSMProcedure:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
            astore 4 /* result */
        30: .line 182
            goto 33
        31: .line 183
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session java.lang.Object[] int org.hsqldb.result.Result
      StackMap stack:
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getInternalConnection:()Lorg/hsqldb/jdbc/JDBCConnection;
            astore 6 /* connection */
        start local 6 // java.sql.Connection connection
        32: .line 185
            aload 0 /* this */
            aload 1 /* session */
            aload 6 /* connection */
            invokevirtual org.hsqldb.StatementProcedure.executeJavaProcedure:(Lorg/hsqldb/Session;Ljava/sql/Connection;)Lorg/hsqldb/result/Result;
            astore 4 /* result */
        end local 6 // java.sql.Connection connection
        33: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
            astore 5 /* callArguments */
        start local 5 // java.lang.Object[] callArguments
        34: .line 189
            goto 40
        end local 5 // java.lang.Object[] callArguments
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: astore 7
        36: .line 190
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.popRoutineInvocation:()V
        37: .line 192
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifne 39
        38: .line 193
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.releaseInternalConnection:()V
        39: .line 195
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session java.lang.Object[] int org.hsqldb.result.Result top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        start local 5 // java.lang.Object[] callArguments
        40: .line 190
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session java.lang.Object[] int org.hsqldb.result.Result java.lang.Object[]
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.popRoutineInvocation:()V
        41: .line 192
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifne 43
        42: .line 193
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.releaseInternalConnection:()V
        43: .line 197
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokevirtual org.hsqldb.result.Result.isError:()Z
            ifeq 45
        44: .line 198
            aload 4 /* result */
            areturn
        45: .line 201
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        46: goto 61
        47: .line 202
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            iload 6 /* i */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
            astore 7 /* param */
        start local 7 // org.hsqldb.ColumnSchema param
        48: .line 203
            aload 7 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
            istore 8 /* mode */
        start local 8 // int mode
        49: .line 205
            iload 8 /* mode */
            iconst_1
            if_icmpeq 60
        50: .line 206
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.Expression.isDynamicParam:()Z
            ifeq 56
        51: .line 207
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            iload 6 /* i */
            aaload
            getfield org.hsqldb.Expression.parameterIndex:I
            istore 9 /* paramIndex */
        start local 9 // int paramIndex
        52: .line 209
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.dynamicArguments:[Ljava/lang/Object;
            iload 9 /* paramIndex */
        53: .line 210
            aload 5 /* callArguments */
            iload 6 /* i */
            aaload
        54: .line 209
            aastore
        end local 9 // int paramIndex
        55: .line 211
            goto 60
        56: .line 212
      StackMap locals: org.hsqldb.ColumnSchema int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            istore 9 /* varIndex */
        start local 9 // int varIndex
        57: .line 214
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
            iload 9 /* varIndex */
        58: .line 215
            aload 5 /* callArguments */
            iload 6 /* i */
            aaload
        59: .line 214
            aastore
        end local 9 // int varIndex
        end local 8 // int mode
        end local 7 // org.hsqldb.ColumnSchema param
        60: .line 201
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 6 /* i */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getParameterCount:()I
            if_icmplt 47
        end local 6 // int i
        62: .line 220
            aload 4 /* result */
            astore 6 /* r */
        start local 6 // org.hsqldb.result.Result r
        63: .line 223
            aload 0 /* this */
            invokevirtual org.hsqldb.StatementProcedure.getParametersMetaData:()Lorg/hsqldb/result/ResultMetaData;
            invokevirtual org.hsqldb.result.ResultMetaData.getParameterTypes:()[Lorg/hsqldb/types/Type;
        64: .line 224
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.id:J
        65: .line 225
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.dynamicArguments:[Ljava/lang/Object;
        66: .line 223
            invokestatic org.hsqldb.result.Result.newCallResponse:([Lorg/hsqldb/types/Type;J[Ljava/lang/Object;)Lorg/hsqldb/result/Result;
        67: .line 222
            astore 4 /* result */
        68: .line 227
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.returnsTable:()Z
            ifeq 71
        69: .line 228
            aload 4 /* result */
            aload 6 /* r */
            invokevirtual org.hsqldb.result.Result.addChainedResult:(Lorg/hsqldb/result/Result;)V
        70: .line 229
            goto 74
      StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session java.lang.Object[] int org.hsqldb.result.Result java.lang.Object[] org.hsqldb.result.Result
      StackMap stack:
        71: aload 5 /* callArguments */
            arraylength
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            arraylength
            if_icmple 74
        72: .line 230
            aload 5 /* callArguments */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            arraylength
            aaload
            checkcast org.hsqldb.result.Result
            astore 6 /* r */
        73: .line 232
            aload 4 /* result */
            aload 6 /* r */
            invokevirtual org.hsqldb.result.Result.addChainedResult:(Lorg/hsqldb/result/Result;)V
        74: .line 235
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 6 // org.hsqldb.result.Result r
        end local 5 // java.lang.Object[] callArguments
        end local 4 // org.hsqldb.result.Result result
        end local 3 // int argLength
        end local 2 // java.lang.Object[] data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   75     0           this  Lorg/hsqldb/StatementProcedure;
            0   75     1        session  Lorg/hsqldb/Session;
            1   75     2           data  [Ljava/lang/Object;
            3    6     3      argLength  I
            7   75     3      argLength  I
           12   22     4              i  I
           14   20     5              e  Lorg/hsqldb/Expression;
           16   20     6     targetType  Lorg/hsqldb/types/Type;
           17   20     7          value  Ljava/lang/Object;
           24   75     4         result  Lorg/hsqldb/result/Result;
           34   35     5  callArguments  [Ljava/lang/Object;
           40   75     5  callArguments  [Ljava/lang/Object;
           32   33     6     connection  Ljava/sql/Connection;
           46   62     6              i  I
           48   60     7          param  Lorg/hsqldb/ColumnSchema;
           49   60     8           mode  I
           52   55     9     paramIndex  I
           57   60     9       varIndex  I
           63   75     6              r  Lorg/hsqldb/result/Result;
      Exception table:
        from    to  target  type
          24    35      35  any
    MethodParameters:
         Name  Flags
      session  

  org.hsqldb.result.Result executePSMProcedure(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
         0: .line 240
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getVariableCount:()I
            istore 2 /* variableCount */
        start local 2 // int variableCount
         1: .line 241
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getCursorCount:()I
            istore 3 /* cursorCount */
        start local 3 // int cursorCount
         2: .line 243
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            iload 2 /* variableCount */
            anewarray java.lang.Object
            putfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
         3: .line 244
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            iload 3 /* cursorCount */
            anewarray org.hsqldb.result.Result
            putfield org.hsqldb.SessionContext.routineCursors:[Lorg/hsqldb/result/Result;
         4: .line 246
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            aload 1 /* session */
            invokevirtual org.hsqldb.Statement.execute:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
            astore 4 /* result */
        start local 4 // org.hsqldb.result.Result result
         5: .line 248
            aload 4 /* result */
            invokevirtual org.hsqldb.result.Result.isError:()Z
            ifeq 7
         6: .line 249
            aload 4 /* result */
            areturn
         7: .line 252
      StackMap locals: int int org.hsqldb.result.Result
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // org.hsqldb.result.Result result
        end local 3 // int cursorCount
        end local 2 // int variableCount
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/hsqldb/StatementProcedure;
            0    8     1        session  Lorg/hsqldb/Session;
            1    8     2  variableCount  I
            2    8     3    cursorCount  I
            5    8     4         result  Lorg/hsqldb/result/Result;
    MethodParameters:
         Name  Flags
      session  

  org.hsqldb.result.Result executeJavaProcedure(org.hsqldb.Session, java.sql.Connection);
    descriptor: (Lorg/hsqldb/Session;Ljava/sql/Connection;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.sql.Connection connection
         0: .line 257
            getstatic org.hsqldb.result.Result.updateZeroResult:Lorg/hsqldb/result/Result;
            astore 3 /* result */
        start local 3 // org.hsqldb.result.Result result
         1: .line 258
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
            astore 4 /* callArguments */
        start local 4 // java.lang.Object[] callArguments
         2: .line 259
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            aload 1 /* session */
            aload 4 /* callArguments */
            invokevirtual org.hsqldb.Routine.convertArgsToJava:(Lorg/hsqldb/Session;[Ljava/lang/Object;)[Ljava/lang/Object;
            astore 5 /* data */
        start local 5 // java.lang.Object[] data
         3: .line 261
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            getfield org.hsqldb.Routine.javaMethodWithConnection:Z
            ifeq 5
         4: .line 262
            aload 5 /* data */
            iconst_0
            aload 2 /* connection */
            aastore
         5: .line 265
      StackMap locals: org.hsqldb.result.Result java.lang.Object[] java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            aload 1 /* session */
            aload 5 /* data */
            invokevirtual org.hsqldb.Routine.invokeJavaMethod:(Lorg/hsqldb/Session;[Ljava/lang/Object;)Lorg/hsqldb/result/Result;
            astore 3 /* result */
         6: .line 267
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            aload 1 /* session */
            aload 4 /* callArguments */
            aload 5 /* data */
            invokevirtual org.hsqldb.Routine.convertArgsToSQL:(Lorg/hsqldb/Session;[Ljava/lang/Object;[Ljava/lang/Object;)V
         7: .line 269
            aload 3 /* result */
            areturn
        end local 5 // java.lang.Object[] data
        end local 4 // java.lang.Object[] callArguments
        end local 3 // org.hsqldb.result.Result result
        end local 2 // java.sql.Connection connection
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/hsqldb/StatementProcedure;
            0    8     1        session  Lorg/hsqldb/Session;
            0    8     2     connection  Ljava/sql/Connection;
            1    8     3         result  Lorg/hsqldb/result/Result;
            2    8     4  callArguments  [Ljava/lang/Object;
            3    8     5           data  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      session     
      connection  

  org.hsqldb.result.Result getExpressionResult(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
         0: .line 277
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
            invokevirtual org.hsqldb.SessionData.startRowProcessing:()V
         1: .line 279
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            aload 1 /* session */
            invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         2: .line 281
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
            ifnonnull 4
         3: .line 282
            aload 0 /* this */
            invokevirtual org.hsqldb.StatementProcedure.getResultMetaData:()Lorg/hsqldb/result/ResultMetaData;
            pop
         4: .line 285
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
            invokestatic org.hsqldb.result.Result.newSingleColumnResult:(Lorg/hsqldb/result/ResultMetaData;)Lorg/hsqldb/result/Result;
            astore 3 /* r */
        start local 3 // org.hsqldb.result.Result r
         5: .line 289
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getDataType:()Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.isArrayType:()Z
            ifeq 9
         6: .line 290
            iconst_1
            anewarray java.lang.Object
            astore 4 /* row */
        start local 4 // java.lang.Object[] row
         7: .line 291
            aload 4 /* row */
            iconst_0
            aload 2 /* o */
            aastore
         8: .line 292
            goto 14
        end local 4 // java.lang.Object[] row
      StackMap locals: org.hsqldb.result.Result
      StackMap stack:
         9: aload 2 /* o */
            instanceof java.lang.Object[]
            ifeq 12
        10: .line 293
            aload 2 /* o */
            checkcast java.lang.Object[]
            astore 4 /* row */
        start local 4 // java.lang.Object[] row
        11: .line 294
            goto 14
        end local 4 // java.lang.Object[] row
        12: .line 295
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 4 /* row */
        start local 4 // java.lang.Object[] row
        13: .line 296
            aload 4 /* row */
            iconst_0
            aload 2 /* o */
            aastore
        14: .line 299
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 3 /* r */
            invokevirtual org.hsqldb.result.Result.getNavigator:()Lorg/hsqldb/navigator/RowSetNavigator;
            aload 4 /* row */
            invokevirtual org.hsqldb.navigator.RowSetNavigator.add:([Ljava/lang/Object;)V
        15: .line 301
            aload 3 /* r */
            areturn
        end local 4 // java.lang.Object[] row
        end local 3 // org.hsqldb.result.Result r
        end local 2 // java.lang.Object o
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/hsqldb/StatementProcedure;
            0   16     1  session  Lorg/hsqldb/Session;
            2   16     2        o  Ljava/lang/Object;
            5   16     3        r  Lorg/hsqldb/result/Result;
            7    9     4      row  [Ljava/lang/Object;
           11   12     4      row  [Ljava/lang/Object;
           13   16     4      row  [Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  

  org.hsqldb.TableDerived[] getSubqueries(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)[Lorg/hsqldb/TableDerived;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.Session session
         0: .line 306
            aconst_null
            astore 2 /* subQueries */
        start local 2 // org.hsqldb.lib.OrderedHashSet subQueries
         1: .line 308
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            ifnull 3
         2: .line 309
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            aload 2 /* subQueries */
            invokevirtual org.hsqldb.Expression.collectAllSubqueries:(Lorg/hsqldb/lib/OrderedHashSet;)Lorg/hsqldb/lib/OrderedHashSet;
            astore 2 /* subQueries */
         3: .line 312
      StackMap locals: org.hsqldb.lib.OrderedHashSet
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 313
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            iload 3 /* i */
            aaload
            aload 2 /* subQueries */
            invokevirtual org.hsqldb.Expression.collectAllSubqueries:(Lorg/hsqldb/lib/OrderedHashSet;)Lorg/hsqldb/lib/OrderedHashSet;
            astore 2 /* subQueries */
         6: .line 312
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 316
            aload 2 /* subQueries */
            ifnull 9
            aload 2 /* subQueries */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            ifne 10
         9: .line 317
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.TableDerived.emptyArray:[Lorg/hsqldb/TableDerived;
            areturn
        10: .line 320
      StackMap locals:
      StackMap stack:
            aload 2 /* subQueries */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            anewarray org.hsqldb.TableDerived
            astore 3 /* subQueryArray */
        start local 3 // org.hsqldb.TableDerived[] subQueryArray
        11: .line 322
            aload 2 /* subQueries */
            aload 3 /* subQueryArray */
            invokevirtual org.hsqldb.lib.OrderedHashSet.toArray:([Ljava/lang/Object;)V
        12: .line 324
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 16
        14: .line 325
      StackMap locals: org.hsqldb.TableDerived[] int
      StackMap stack:
            aload 3 /* subQueryArray */
            iload 4 /* i */
            aaload
            aload 1 /* session */
            invokevirtual org.hsqldb.TableDerived.prepareTable:(Lorg/hsqldb/Session;)V
        15: .line 324
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
            arraylength
            if_icmplt 14
        end local 4 // int i
        17: .line 328
            aload 3 /* subQueryArray */
            areturn
        end local 3 // org.hsqldb.TableDerived[] subQueryArray
        end local 2 // org.hsqldb.lib.OrderedHashSet subQueries
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/hsqldb/StatementProcedure;
            0   18     1        session  Lorg/hsqldb/Session;
            1   18     2     subQueries  Lorg/hsqldb/lib/OrderedHashSet;
            4    8     3              i  I
           11   18     3  subQueryArray  [Lorg/hsqldb/TableDerived;
           13   17     4              i  I
    MethodParameters:
         Name  Flags
      session  

  public org.hsqldb.result.ResultMetaData getResultMetaData();
    descriptor: ()Lorg/hsqldb/result/ResultMetaData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.hsqldb.StatementProcedure this
         0: .line 333
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
            ifnull 2
         1: .line 334
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
            areturn
         2: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.type:I
            tableswitch { // 10 - 10
                   10: 3
              default: 15
          }
         3: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            ifnonnull 5
         4: .line 341
            getstatic org.hsqldb.result.ResultMetaData.emptyResultMetaData:Lorg/hsqldb/result/ResultMetaData;
            areturn
         5: .line 358
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic org.hsqldb.result.ResultMetaData.newResultMetaData:(I)Lorg/hsqldb/result/ResultMetaData;
            astore 1 /* md */
        start local 1 // org.hsqldb.result.ResultMetaData md
         6: .line 360
            new org.hsqldb.ColumnBase
            dup
            aconst_null
            aconst_null
            aconst_null
         7: .line 361
            ldc "@p0"
         8: .line 360
            invokespecial org.hsqldb.ColumnBase.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 359
            astore 2 /* column */
        start local 2 // org.hsqldb.ColumnBase column
        10: .line 363
            aload 2 /* column */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getDataType:()Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.ColumnBase.setType:(Lorg/hsqldb/types/Type;)V
        11: .line 365
            aload 1 /* md */
            getfield org.hsqldb.result.ResultMetaData.columns:[Lorg/hsqldb/ColumnBase;
            iconst_0
            aload 2 /* column */
            aastore
        12: .line 367
            aload 1 /* md */
            invokevirtual org.hsqldb.result.ResultMetaData.prepareData:()V
        13: .line 369
            aload 0 /* this */
            aload 1 /* md */
            putfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
        14: .line 371
            aload 1 /* md */
            areturn
        end local 2 // org.hsqldb.ColumnBase column
        end local 1 // org.hsqldb.result.ResultMetaData md
        15: .line 374
      StackMap locals:
      StackMap stack:
            sipush 201
        16: .line 375
            ldc "StatementProcedure"
        17: .line 374
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/hsqldb/StatementProcedure;
            6   15     1      md  Lorg/hsqldb/result/ResultMetaData;
           10   15     2  column  Lorg/hsqldb/ColumnBase;

  public org.hsqldb.result.ResultMetaData getParametersMetaData();
    descriptor: ()Lorg/hsqldb/result/ResultMetaData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hsqldb.StatementProcedure this
         0: .line 384
            aload 0 /* this */
            invokespecial org.hsqldb.StatementDMQL.getParametersMetaData:()Lorg/hsqldb/result/ResultMetaData;
            astore 1 /* meta */
        start local 1 // org.hsqldb.result.ResultMetaData meta
         1: .line 386
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 387
      StackMap locals: org.hsqldb.result.ResultMetaData int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.parameters:[Lorg/hsqldb/ExpressionColumn;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.ExpressionColumn.getColumn:()Lorg/hsqldb/ColumnSchema;
            astore 3 /* param */
        start local 3 // org.hsqldb.ColumnSchema param
         4: .line 389
            aload 3 /* param */
            ifnull 6
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            ifnull 6
         5: .line 390
            aload 1 /* meta */
            getfield org.hsqldb.result.ResultMetaData.columnLabels:[Ljava/lang/String;
            iload 2 /* i */
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getNameString:()Ljava/lang/String;
            aastore
        end local 3 // org.hsqldb.ColumnSchema param
         6: .line 386
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* meta */
            getfield org.hsqldb.result.ResultMetaData.columnLabels:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 394
            aload 1 /* meta */
            areturn
        end local 1 // org.hsqldb.result.ResultMetaData meta
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/hsqldb/StatementProcedure;
            1    9     1   meta  Lorg/hsqldb/result/ResultMetaData;
            2    8     2      i  I
            4    6     3  param  Lorg/hsqldb/ColumnSchema;

  void collectTableNamesForRead(org.hsqldb.lib.OrderedHashSet);
    descriptor: (Lorg/hsqldb/lib/OrderedHashSet;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.lib.OrderedHashSet set
         0: .line 399
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            ifnonnull 3
         1: .line 400
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:([Ljava/lang/Object;)Z
            pop
         2: .line 401
            goto 14
         3: .line 402
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 403
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
            iload 2 /* i */
            aaload
            getfield org.hsqldb.TableDerived.queryExpression:Lorg/hsqldb/QueryExpression;
            ifnull 7
         6: .line 404
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
            iload 2 /* i */
            aaload
            getfield org.hsqldb.TableDerived.queryExpression:Lorg/hsqldb/QueryExpression;
            aload 1 /* set */
            invokevirtual org.hsqldb.QueryExpression.getBaseTableNames:(Lorg/hsqldb/lib/OrderedHashSet;)V
         7: .line 402
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
            arraylength
            if_icmplt 5
        end local 2 // int i
         9: .line 408
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: goto 13
        11: .line 409
      StackMap locals:
      StackMap stack:
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.routines:[Lorg/hsqldb/Routine;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Routine.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:([Ljava/lang/Object;)Z
            pop
        12: .line 408
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 11
        end local 2 // int i
        14: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/hsqldb/StatementProcedure;
            0   15     1   set  Lorg/hsqldb/lib/OrderedHashSet;
            4    9     2     i  I
           10   14     2     i  I
    MethodParameters:
      Name  Flags
      set   

  void collectTableNamesForWrite(org.hsqldb.lib.OrderedHashSet);
    descriptor: (Lorg/hsqldb/lib/OrderedHashSet;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.StatementProcedure this
        start local 1 // org.hsqldb.lib.OrderedHashSet set
         0: .line 416
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
            ifnonnull 2
         1: .line 417
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:([Ljava/lang/Object;)Z
            pop
         2: .line 419
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.StatementProcedure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/StatementProcedure;
            0    3     1   set  Lorg/hsqldb/lib/OrderedHashSet;
    MethodParameters:
      Name  Flags
      set   
}
SourceFile: "StatementProcedure.java"
InnerClasses:
  public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager
  public final CompileContext = org.hsqldb.ParserDQL$CompileContext of org.hsqldb.ParserDQL