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 start local 1 start local 2 start local 3 0: aload 0
bipush 10
sipush 2003
1: aload 1
invokevirtual org.hsqldb.Session.getCurrentSchemaHsqlName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
invokespecial org.hsqldb.StatementDMQL.<init>:(IILorg/hsqldb/HsqlNameManager$HsqlName;)V
2: aload 0
getstatic org.hsqldb.Expression.emptyArray:[Lorg/hsqldb/Expression;
putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
3: aload 0
iconst_2
putfield org.hsqldb.StatementProcedure.statementReturnType:I
4: aload 2
getfield org.hsqldb.Expression.opType:I
bipush 27
if_icmpne 12
5: aload 2
checkcast org.hsqldb.FunctionSQLInvoked
astore 4
start local 4 6: aload 4
getfield org.hsqldb.FunctionSQLInvoked.routine:Lorg/hsqldb/Routine;
getfield org.hsqldb.Routine.returnsTable:Z
ifeq 10
7: aload 0
aload 4
getfield org.hsqldb.FunctionSQLInvoked.routine:Lorg/hsqldb/Routine;
putfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
8: aload 0
aload 4
getfield org.hsqldb.FunctionSQLInvoked.nodes:[Lorg/hsqldb/Expression;
putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
9: goto 13
10: StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session org.hsqldb.Expression org.hsqldb.ParserDQL$CompileContext org.hsqldb.FunctionSQLInvoked
StackMap stack:
aload 0
aload 2
putfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
end local 4 11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.hsqldb.StatementProcedure.setDatabaseObjects:(Lorg/hsqldb/Session;Lorg/hsqldb/ParserDQL$CompileContext;)V
14: aload 0
aload 1
invokevirtual org.hsqldb.StatementProcedure.checkAccessRights:(Lorg/hsqldb/Session;)V
15: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
ifnull 17
16: aload 1
invokevirtual org.hsqldb.Session.getGrantee:()Lorg/hsqldb/rights/Grantee;
aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.rights.Grantee.checkAccess:(Lorg/hsqldb/SchemaObject;)V
17: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.StatementProcedure.readTableNames:[Lorg/hsqldb/HsqlNameManager$HsqlName;
arraylength
ifgt 19
18: aload 0
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: 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: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
bipush 10
sipush 2003
1: aload 1
invokevirtual org.hsqldb.Session.getCurrentSchemaHsqlName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
invokespecial org.hsqldb.StatementDMQL.<init>:(IILorg/hsqldb/HsqlNameManager$HsqlName;)V
2: aload 0
getstatic org.hsqldb.Expression.emptyArray:[Lorg/hsqldb/Expression;
putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
3: aload 2
getfield org.hsqldb.Routine.maxDynamicResults:I
ifle 5
4: aload 0
iconst_0
putfield org.hsqldb.StatementProcedure.statementReturnType:I
5: StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session org.hsqldb.Routine org.hsqldb.Expression[] org.hsqldb.ParserDQL$CompileContext
StackMap stack:
aload 0
aload 2
putfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
6: aload 0
aload 3
putfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
7: aload 0
aload 1
aload 4
invokevirtual org.hsqldb.StatementProcedure.setDatabaseObjects:(Lorg/hsqldb/Session;Lorg/hsqldb/ParserDQL$CompileContext;)V
8: aload 0
aload 1
invokevirtual org.hsqldb.StatementProcedure.checkAccessRights:(Lorg/hsqldb/Session;)V
9: aload 1
invokevirtual org.hsqldb.Session.getGrantee:()Lorg/hsqldb/rights/Grantee;
aload 2
invokevirtual org.hsqldb.rights.Grantee.checkAccess:(Lorg/hsqldb/SchemaObject;)V
10: aload 2
invokevirtual org.hsqldb.Routine.isPSM:()Z
ifeq 15
11: aload 0
aload 0
getfield org.hsqldb.StatementProcedure.readTableNames:[Lorg/hsqldb/HsqlNameManager$HsqlName;
arraylength
ifgt 13
12: aload 0
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: 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: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
ifnonnull 1
aload 0
aload 1
invokevirtual org.hsqldb.StatementProcedure.getProcedureResult:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
goto 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.hsqldb.StatementProcedure.getExpressionResult:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
2: StackMap locals:
StackMap stack: org.hsqldb.result.Result
astore 2
start local 2 3: aload 2
aload 0
getfield org.hsqldb.StatementProcedure.statementReturnType:I
invokevirtual org.hsqldb.result.Result.setStatementType:(I)V
4: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: getstatic org.hsqldb.map.ValuePool.emptyObjectArray:[Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.isPSM:()Z
ifeq 6
2: aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
arraylength
istore 3
start local 3 3: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.getMaxDynamicResults:()I
ifle 9
4: iinc 3 1
5: goto 9
end local 3 6: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
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
start local 3 7: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
getfield org.hsqldb.Routine.javaMethodWithConnection:Z
ifeq 9
8: iinc 3 -1
9: StackMap locals: int
StackMap stack:
iload 3
ifle 11
10: iload 3
anewarray java.lang.Object
astore 2
11: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 12: goto 21
13: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
iload 4
aaload
astore 5
start local 5 14: aload 5
ifnull 20
15: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
iload 4
invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
invokevirtual org.hsqldb.ColumnSchema.getDataType:()Lorg/hsqldb/types/Type;
astore 6
start local 6 16: aload 5
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
astore 7
start local 7 17: aload 2
iload 4
aload 6
aload 1
aload 7
18: aload 5
invokevirtual org.hsqldb.Expression.getDataType:()Lorg/hsqldb/types/Type;
19: invokevirtual org.hsqldb.types.Type.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
aastore
end local 7 end local 6 end local 5 20: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 13
end local 4 22: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
invokevirtual org.hsqldb.SessionContext.pushRoutineInvocation:()V
23: getstatic org.hsqldb.result.Result.updateZeroResult:Lorg/hsqldb/result/Result;
astore 4
start local 4 24: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
aload 2
putfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
25: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
26: getstatic org.hsqldb.map.ValuePool.emptyObjectArray:[Ljava/lang/Object;
27: putfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
28: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.isPSM:()Z
ifeq 31
29: aload 0
aload 1
invokevirtual org.hsqldb.StatementProcedure.executePSMProcedure:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
astore 4
30: goto 33
31: StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session java.lang.Object[] int org.hsqldb.result.Result
StackMap stack:
aload 1
invokevirtual org.hsqldb.Session.getInternalConnection:()Lorg/hsqldb/jdbc/JDBCConnection;
astore 6
start local 6 32: aload 0
aload 1
aload 6
invokevirtual org.hsqldb.StatementProcedure.executeJavaProcedure:(Lorg/hsqldb/Session;Ljava/sql/Connection;)Lorg/hsqldb/result/Result;
astore 4
end local 6 33: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
astore 5
start local 5 34: goto 40
end local 5 StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 7
36: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
invokevirtual org.hsqldb.SessionContext.popRoutineInvocation:()V
37: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.isPSM:()Z
ifne 39
38: aload 1
invokevirtual org.hsqldb.Session.releaseInternalConnection:()V
39: 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 40: StackMap locals: org.hsqldb.StatementProcedure org.hsqldb.Session java.lang.Object[] int org.hsqldb.result.Result java.lang.Object[]
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
invokevirtual org.hsqldb.SessionContext.popRoutineInvocation:()V
41: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.isPSM:()Z
ifne 43
42: aload 1
invokevirtual org.hsqldb.Session.releaseInternalConnection:()V
43: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.hsqldb.result.Result.isError:()Z
ifeq 45
44: aload 4
areturn
45: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 46: goto 61
47: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
iload 6
invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
astore 7
start local 7 48: aload 7
invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
istore 8
start local 8 49: iload 8
iconst_1
if_icmpeq 60
50: aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
iload 6
aaload
invokevirtual org.hsqldb.Expression.isDynamicParam:()Z
ifeq 56
51: aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
iload 6
aaload
getfield org.hsqldb.Expression.parameterIndex:I
istore 9
start local 9 52: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.dynamicArguments:[Ljava/lang/Object;
iload 9
53: aload 5
iload 6
aaload
54: aastore
end local 9 55: goto 60
56: StackMap locals: org.hsqldb.ColumnSchema int
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
iload 6
aaload
invokevirtual org.hsqldb.Expression.getColumnIndex:()I
istore 9
start local 9 57: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
iload 9
58: aload 5
iload 6
aaload
59: aastore
end local 9 end local 8 end local 7 60: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
61: iload 6
aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.getParameterCount:()I
if_icmplt 47
end local 6 62: aload 4
astore 6
start local 6 63: aload 0
invokevirtual org.hsqldb.StatementProcedure.getParametersMetaData:()Lorg/hsqldb/result/ResultMetaData;
invokevirtual org.hsqldb.result.ResultMetaData.getParameterTypes:()[Lorg/hsqldb/types/Type;
64: aload 0
getfield org.hsqldb.StatementProcedure.id:J
65: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.dynamicArguments:[Ljava/lang/Object;
66: invokestatic org.hsqldb.result.Result.newCallResponse:([Lorg/hsqldb/types/Type;J[Ljava/lang/Object;)Lorg/hsqldb/result/Result;
67: astore 4
68: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.returnsTable:()Z
ifeq 71
69: aload 4
aload 6
invokevirtual org.hsqldb.result.Result.addChainedResult:(Lorg/hsqldb/result/Result;)V
70: 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
arraylength
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
arraylength
if_icmple 74
72: aload 5
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
arraylength
aaload
checkcast org.hsqldb.result.Result
astore 6
73: aload 4
aload 6
invokevirtual org.hsqldb.result.Result.addChainedResult:(Lorg/hsqldb/result/Result;)V
74: StackMap locals:
StackMap stack:
aload 4
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.getVariableCount:()I
istore 2
start local 2 1: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
invokevirtual org.hsqldb.Routine.getCursorCount:()I
istore 3
start local 3 2: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
iload 2
anewarray java.lang.Object
putfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
3: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
iload 3
anewarray org.hsqldb.result.Result
putfield org.hsqldb.SessionContext.routineCursors:[Lorg/hsqldb/result/Result;
4: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
aload 1
invokevirtual org.hsqldb.Statement.execute:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
astore 4
start local 4 5: aload 4
invokevirtual org.hsqldb.result.Result.isError:()Z
ifeq 7
6: aload 4
areturn
7: StackMap locals: int int org.hsqldb.result.Result
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: getstatic org.hsqldb.result.Result.updateZeroResult:Lorg/hsqldb/result/Result;
astore 3
start local 3 1: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
astore 4
start local 4 2: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
aload 1
aload 4
invokevirtual org.hsqldb.Routine.convertArgsToJava:(Lorg/hsqldb/Session;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 5
start local 5 3: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
getfield org.hsqldb.Routine.javaMethodWithConnection:Z
ifeq 5
4: aload 5
iconst_0
aload 2
aastore
5: StackMap locals: org.hsqldb.result.Result java.lang.Object[] java.lang.Object[]
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
aload 1
aload 5
invokevirtual org.hsqldb.Routine.invokeJavaMethod:(Lorg/hsqldb/Session;[Ljava/lang/Object;)Lorg/hsqldb/result/Result;
astore 3
6: aload 0
getfield org.hsqldb.StatementProcedure.procedure:Lorg/hsqldb/Routine;
aload 1
aload 4
aload 5
invokevirtual org.hsqldb.Routine.convertArgsToSQL:(Lorg/hsqldb/Session;[Ljava/lang/Object;[Ljava/lang/Object;)V
7: aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
invokevirtual org.hsqldb.SessionData.startRowProcessing:()V
1: aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
ifnonnull 4
3: aload 0
invokevirtual org.hsqldb.StatementProcedure.getResultMetaData:()Lorg/hsqldb/result/ResultMetaData;
pop
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
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
start local 3 5: aload 0
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: iconst_1
anewarray java.lang.Object
astore 4
start local 4 7: aload 4
iconst_0
aload 2
aastore
8: goto 14
end local 4 StackMap locals: org.hsqldb.result.Result
StackMap stack:
9: aload 2
instanceof java.lang.Object[]
ifeq 12
10: aload 2
checkcast java.lang.Object[]
astore 4
start local 4 11: goto 14
end local 4 12: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
astore 4
start local 4 13: aload 4
iconst_0
aload 2
aastore
14: StackMap locals: java.lang.Object[]
StackMap stack:
aload 3
invokevirtual org.hsqldb.result.Result.getNavigator:()Lorg/hsqldb/navigator/RowSetNavigator;
aload 4
invokevirtual org.hsqldb.navigator.RowSetNavigator.add:([Ljava/lang/Object;)V
15: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
ifnull 3
2: aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
aload 2
invokevirtual org.hsqldb.Expression.collectAllSubqueries:(Lorg/hsqldb/lib/OrderedHashSet;)Lorg/hsqldb/lib/OrderedHashSet;
astore 2
3: StackMap locals: org.hsqldb.lib.OrderedHashSet
StackMap stack:
iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
iload 3
aaload
aload 2
invokevirtual org.hsqldb.Expression.collectAllSubqueries:(Lorg/hsqldb/lib/OrderedHashSet;)Lorg/hsqldb/lib/OrderedHashSet;
astore 2
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield org.hsqldb.StatementProcedure.arguments:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 5
end local 3 8: aload 2
ifnull 9
aload 2
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
ifne 10
9: StackMap locals:
StackMap stack:
getstatic org.hsqldb.TableDerived.emptyArray:[Lorg/hsqldb/TableDerived;
areturn
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
anewarray org.hsqldb.TableDerived
astore 3
start local 3 11: aload 2
aload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.toArray:([Ljava/lang/Object;)V
12: iconst_0
istore 4
start local 4 13: goto 16
14: StackMap locals: org.hsqldb.TableDerived[] int
StackMap stack:
aload 3
iload 4
aaload
aload 1
invokevirtual org.hsqldb.TableDerived.prepareTable:(Lorg/hsqldb/Session;)V
15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 0
getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
arraylength
if_icmplt 14
end local 4 17: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
ifnull 2
1: aload 0
getfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.type:I
tableswitch { // 10 - 10
10: 3
default: 15
}
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
ifnonnull 5
4: getstatic org.hsqldb.result.ResultMetaData.emptyResultMetaData:Lorg/hsqldb/result/ResultMetaData;
areturn
5: StackMap locals:
StackMap stack:
iconst_1
invokestatic org.hsqldb.result.ResultMetaData.newResultMetaData:(I)Lorg/hsqldb/result/ResultMetaData;
astore 1
start local 1 6: new org.hsqldb.ColumnBase
dup
aconst_null
aconst_null
aconst_null
7: ldc "@p0"
8: invokespecial org.hsqldb.ColumnBase.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
9: astore 2
start local 2 10: aload 2
aload 0
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: aload 1
getfield org.hsqldb.result.ResultMetaData.columns:[Lorg/hsqldb/ColumnBase;
iconst_0
aload 2
aastore
12: aload 1
invokevirtual org.hsqldb.result.ResultMetaData.prepareData:()V
13: aload 0
aload 1
putfield org.hsqldb.StatementProcedure.resultMetaData:Lorg/hsqldb/result/ResultMetaData;
14: aload 1
areturn
end local 2 end local 1 15: StackMap locals:
StackMap stack:
sipush 201
16: ldc "StatementProcedure"
17: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 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 0: aload 0
invokespecial org.hsqldb.StatementDMQL.getParametersMetaData:()Lorg/hsqldb/result/ResultMetaData;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: org.hsqldb.result.ResultMetaData int
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.parameters:[Lorg/hsqldb/ExpressionColumn;
iload 2
aaload
invokevirtual org.hsqldb.ExpressionColumn.getColumn:()Lorg/hsqldb/ColumnSchema;
astore 3
start local 3 4: aload 3
ifnull 6
aload 3
invokevirtual org.hsqldb.ColumnSchema.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
ifnull 6
5: aload 1
getfield org.hsqldb.result.ResultMetaData.columnLabels:[Ljava/lang/String;
iload 2
aload 3
invokevirtual org.hsqldb.ColumnSchema.getNameString:()Ljava/lang/String;
aastore
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
getfield org.hsqldb.result.ResultMetaData.columnLabels:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 8: aload 1
areturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
ifnonnull 3
1: aload 1
aload 0
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: goto 14
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 8
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
iload 2
aaload
getfield org.hsqldb.TableDerived.queryExpression:Lorg/hsqldb/QueryExpression;
ifnull 7
6: aload 0
getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
iload 2
aaload
getfield org.hsqldb.TableDerived.queryExpression:Lorg/hsqldb/QueryExpression;
aload 1
invokevirtual org.hsqldb.QueryExpression.getBaseTableNames:(Lorg/hsqldb/lib/OrderedHashSet;)V
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
getfield org.hsqldb.StatementProcedure.subqueries:[Lorg/hsqldb/TableDerived;
arraylength
if_icmplt 5
end local 2 9: iconst_0
istore 2
start local 2 10: goto 13
11: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.hsqldb.StatementProcedure.routines:[Lorg/hsqldb/Routine;
iload 2
aaload
invokevirtual org.hsqldb.Routine.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:([Ljava/lang/Object;)Z
pop
12: iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 0
getfield org.hsqldb.StatementProcedure.routines:[Lorg/hsqldb/Routine;
arraylength
if_icmplt 11
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 0: aload 0
getfield org.hsqldb.StatementProcedure.expression:Lorg/hsqldb/Expression;
ifnonnull 2
1: aload 1
aload 0
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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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