public class org.h2.command.CommandRemote implements org.h2.command.CommandInterface
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.command.CommandRemote
super_class: java.lang.Object
{
private final java.util.ArrayList<org.h2.value.Transfer> transferList;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;
private final java.util.ArrayList<org.h2.expression.ParameterInterface> parameters;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/h2/expression/ParameterInterface;>;
private final org.h2.message.Trace trace;
descriptor: Lorg/h2/message/Trace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String sql;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int fetchSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.h2.engine.SessionRemote session;
descriptor: Lorg/h2/engine/SessionRemote;
flags: (0x0002) ACC_PRIVATE
private int id;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isQuery;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int cmdType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean readonly;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final int created;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.h2.engine.SessionRemote, java.util.ArrayList<org.h2.value.Transfer>, java.lang.String, );
descriptor: (Lorg/h2/engine/SessionRemote;Ljava/util/ArrayList;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.h2.command.CommandRemote.cmdType:I
2: aload 0
aload 2
putfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
3: aload 0
aload 1
invokevirtual org.h2.engine.SessionRemote.getTrace:()Lorg/h2/message/Trace;
putfield org.h2.command.CommandRemote.trace:Lorg/h2/message/Trace;
4: aload 0
aload 3
putfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
5: aload 0
invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
putfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
6: aload 0
aload 1
iconst_1
invokevirtual org.h2.command.CommandRemote.prepare:(Lorg/h2/engine/SessionRemote;Z)V
7: aload 0
aload 1
putfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
8: aload 0
iload 4
putfield org.h2.command.CommandRemote.fetchSize:I
9: aload 0
aload 1
invokevirtual org.h2.engine.SessionRemote.getLastReconnect:()I
putfield org.h2.command.CommandRemote.created:I
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/command/CommandRemote;
0 11 1 session Lorg/h2/engine/SessionRemote;
0 11 2 transferList Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;
0 11 3 sql Ljava/lang/String;
0 11 4 fetchSize I
Signature: (Lorg/h2/engine/SessionRemote;Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;Ljava/lang/String;I)V
MethodParameters:
Name Flags
session
transferList
sql
fetchSize
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/CommandRemote;
private void prepare(org.h2.engine.SessionRemote, boolean);
descriptor: (Lorg/h2/engine/SessionRemote;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.h2.engine.SessionRemote.getNextId:()I
putfield org.h2.command.CommandRemote.id:I
1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 42
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 5
start local 5 5: aload 1
invokevirtual org.h2.engine.SessionRemote.getClientVersion:()I
bipush 16
if_icmplt 6
iconst_1
goto 7
StackMap locals: org.h2.value.Transfer
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: iload 2
ifeq 19
9: aload 1
iload 6
ifeq 10
ldc "SESSION_PREPARE_READ_PARAMS2"
goto 11
10: StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
StackMap stack: org.h2.engine.SessionRemote
ldc "SESSION_PREPARE_READ_PARAMS"
StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
StackMap stack: org.h2.engine.SessionRemote java.lang.String
11: aload 0
getfield org.h2.command.CommandRemote.id:I
12: invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
13: aload 5
14: iload 6
ifeq 15
bipush 18
goto 16
15: StackMap locals:
StackMap stack: org.h2.value.Transfer
bipush 11
16: StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
StackMap stack: org.h2.value.Transfer int
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
17: aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
aload 0
getfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
18: goto 22
19: StackMap locals:
StackMap stack:
aload 1
ldc "SESSION_PREPARE"
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
20: aload 5
iconst_0
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
21: aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
aload 0
getfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
22: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
23: aload 0
aload 5
invokevirtual org.h2.value.Transfer.readBoolean:()Z
putfield org.h2.command.CommandRemote.isQuery:Z
24: aload 0
aload 5
invokevirtual org.h2.value.Transfer.readBoolean:()Z
putfield org.h2.command.CommandRemote.readonly:Z
25: aload 0
iload 6
ifeq 26
iload 2
ifeq 26
aload 5
invokevirtual org.h2.value.Transfer.readInt:()I
goto 27
StackMap locals:
StackMap stack: org.h2.command.CommandRemote
26: iconst_0
StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
StackMap stack: org.h2.command.CommandRemote int
27: putfield org.h2.command.CommandRemote.cmdType:I
28: aload 5
invokevirtual org.h2.value.Transfer.readInt:()I
istore 7
start local 7 29: iload 2
ifeq 41
30: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
31: iconst_0
istore 8
start local 8 32: goto 37
33: StackMap locals: int int
StackMap stack:
new org.h2.expression.ParameterRemote
dup
iload 8
invokespecial org.h2.expression.ParameterRemote.<init>:(I)V
astore 9
start local 9 34: aload 9
aload 5
invokevirtual org.h2.expression.ParameterRemote.readMetaData:(Lorg/h2/value/Transfer;)V
35: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
aload 9
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 36: iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
iload 7
if_icmplt 33
end local 8 end local 7 end local 6 end local 5 38: goto 41
StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int
StackMap stack: java.io.IOException
39: astore 5
start local 5 40: aload 1
aload 5
iload 3
iinc 3 -1
iinc 4 1
iload 4
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 5 41: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
42: iload 3
aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 4 end local 3 43: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/h2/command/CommandRemote;
0 44 1 s Lorg/h2/engine/SessionRemote;
0 44 2 createParams Z
2 43 3 i I
3 43 4 count I
5 38 5 transfer Lorg/h2/value/Transfer;
8 38 6 v16 Z
29 38 7 paramCount I
32 38 8 j I
34 36 9 p Lorg/h2/expression/ParameterRemote;
40 41 5 e Ljava/io/IOException;
Exception table:
from to target type
4 38 39 Class java.io.IOException
MethodParameters:
Name Flags
s
createParams
public boolean isQuery();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.isQuery:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/CommandRemote;
public java.util.ArrayList<org.h2.expression.ParameterInterface> getParameters();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/CommandRemote;
Signature: ()Ljava/util/ArrayList<Lorg/h2/expression/ParameterInterface;>;
private void prepareIfRequired();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.getLastReconnect:()I
aload 0
getfield org.h2.command.CommandRemote.created:I
if_icmpeq 2
1: aload 0
ldc -2147483648
putfield org.h2.command.CommandRemote.id:I
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.checkClosed:()V
3: aload 0
getfield org.h2.command.CommandRemote.id:I
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.getCurrentId:()I
getstatic org.h2.engine.SysProperties.SERVER_CACHED_OBJECTS:I
isub
if_icmpgt 5
4: aload 0
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
iconst_0
invokevirtual org.h2.command.CommandRemote.prepare:(Lorg/h2/engine/SessionRemote;Z)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/command/CommandRemote;
public org.h2.result.ResultInterface getMetaData();
descriptor: ()Lorg/h2/result/ResultInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
dup
astore 1
monitorenter
1: aload 0
getfield org.h2.command.CommandRemote.isQuery:Z
ifne 4
2: aload 1
monitorexit
3: aconst_null
areturn
4: StackMap locals: org.h2.engine.SessionRemote
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.getNextId:()I
istore 2
start local 2 5: aconst_null
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: iconst_0
istore 5
start local 5 8: goto 23
9: StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int
StackMap stack:
aload 0
invokevirtual org.h2.command.CommandRemote.prepareIfRequired:()V
10: aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 6
start local 6 11: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
ldc "COMMAND_GET_META_DATA"
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
12: aload 6
bipush 10
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
13: aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
iload 2
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
14: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 6
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
15: aload 6
invokevirtual org.h2.value.Transfer.readInt:()I
istore 7
start local 7 16: new org.h2.result.ResultRemote
dup
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 6
iload 2
17: iload 7
ldc 2147483647
18: invokespecial org.h2.result.ResultRemote.<init>:(Lorg/h2/engine/SessionRemote;Lorg/h2/value/Transfer;III)V
astore 3
19: goto 24
end local 7 20: StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int org.h2.value.Transfer
StackMap stack: java.io.IOException
astore 7
start local 7 21: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 7
iload 4
iinc 4 -1
iinc 5 1
iload 5
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 7 end local 6 22: iinc 4 1
StackMap locals:
StackMap stack:
23: iload 4
aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 9
end local 5 end local 4 24: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.autoCommitIfCluster:()V
25: aload 3
aload 1
monitorexit
26: areturn
end local 3 end local 2 27: StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote
StackMap stack: java.lang.Throwable
aload 1
monitorexit
28: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/h2/command/CommandRemote;
5 27 2 objectId I
6 27 3 result Lorg/h2/result/ResultRemote;
7 24 4 i I
8 24 5 count I
11 22 6 transfer Lorg/h2/value/Transfer;
16 20 7 columnCount I
21 22 7 e Ljava/io/IOException;
Exception table:
from to target type
11 19 20 Class java.io.IOException
1 3 27 any
4 26 27 any
27 28 27 any
public org.h2.result.ResultInterface executeQuery(int, boolean);
descriptor: (IZ)Lorg/h2/result/ResultInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.h2.command.CommandRemote.checkParameters:()V
1: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
dup
astore 3
monitorenter
2: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.getNextId:()I
istore 4
start local 4 3: aconst_null
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 29
7: StackMap locals: org.h2.command.CommandRemote int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int
StackMap stack:
aload 0
invokevirtual org.h2.command.CommandRemote.prepareIfRequired:()V
8: aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 8
start local 8 9: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
ldc "COMMAND_EXECUTE_QUERY"
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
10: aload 8
iconst_2
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
11: aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
iload 4
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
iload 1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
12: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.isClustered:()Z
ifne 13
iload 2
ifeq 15
13: StackMap locals: org.h2.value.Transfer
StackMap stack:
ldc 2147483647
istore 9
start local 9 14: goto 16
end local 9 15: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.fetchSize:I
istore 9
start local 9 16: StackMap locals: int
StackMap stack:
aload 8
iload 9
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
17: aload 0
aload 8
invokevirtual org.h2.command.CommandRemote.sendParameters:(Lorg/h2/value/Transfer;)V
18: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 8
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
19: aload 8
invokevirtual org.h2.value.Transfer.readInt:()I
istore 10
start local 10 20: aload 5
ifnull 23
21: aload 5
invokevirtual org.h2.result.ResultRemote.close:()V
22: aconst_null
astore 5
23: StackMap locals: int
StackMap stack:
new org.h2.result.ResultRemote
dup
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 8
iload 4
iload 10
iload 9
invokespecial org.h2.result.ResultRemote.<init>:(Lorg/h2/engine/SessionRemote;Lorg/h2/value/Transfer;III)V
astore 5
24: aload 0
getfield org.h2.command.CommandRemote.readonly:Z
ifeq 28
25: goto 30
end local 10 end local 9 26: StackMap locals: org.h2.command.CommandRemote int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int org.h2.value.Transfer
StackMap stack: java.io.IOException
astore 9
start local 9 27: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 9
iload 6
iinc 6 -1
iinc 7 1
iload 7
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 9 end local 8 28: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
29: iload 6
aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 7
end local 7 end local 6 30: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.autoCommitIfCluster:()V
31: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.readSessionState:()V
32: aload 5
aload 3
monitorexit
33: areturn
end local 5 end local 4 34: StackMap locals: org.h2.command.CommandRemote int int org.h2.engine.SessionRemote
StackMap stack: java.lang.Throwable
aload 3
monitorexit
35: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/h2/command/CommandRemote;
0 36 1 maxRows I
0 36 2 scrollable Z
3 34 4 objectId I
4 34 5 result Lorg/h2/result/ResultRemote;
5 30 6 i I
6 30 7 count I
9 28 8 transfer Lorg/h2/value/Transfer;
14 15 9 fetch I
16 26 9 fetch I
20 26 10 columnCount I
27 28 9 e Ljava/io/IOException;
Exception table:
from to target type
9 25 26 Class java.io.IOException
2 33 34 any
34 35 34 any
MethodParameters:
Name Flags
maxRows
scrollable
public org.h2.result.ResultWithGeneratedKeys executeUpdate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=18, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.h2.command.CommandRemote.checkParameters:()V
1: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.isSupportsGeneratedKeys:()Z
istore 2
start local 2 2: iload 2
ifeq 3
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 1
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifne 3
iconst_1
goto 4
StackMap locals: int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 3
start local 3 5: iload 3
ifeq 6
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.getNextId:()I
goto 7
StackMap locals: int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
dup
astore 5
monitorenter
9: iconst_0
istore 6
start local 6 10: aconst_null
astore 7
start local 7 11: iconst_0
istore 8
start local 8 12: iconst_0
istore 9
start local 9 13: iconst_0
istore 10
start local 10 14: goto 52
15: StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int
StackMap stack:
aload 0
invokevirtual org.h2.command.CommandRemote.prepareIfRequired:()V
16: aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 11
start local 11 17: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
ldc "COMMAND_EXECUTE_UPDATE"
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
18: aload 11
iconst_3
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
19: aload 0
aload 11
invokevirtual org.h2.command.CommandRemote.sendParameters:(Lorg/h2/value/Transfer;)V
20: iload 2
ifeq 39
21: aload 1
invokestatic org.h2.engine.GeneratedKeysMode.valueOf:(Ljava/lang/Object;)I
istore 12
start local 12 22: aload 11
iload 12
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
23: iload 12
tableswitch { // 2 - 3
2: 24
3: 32
default: 39
}
24: StackMap locals: org.h2.value.Transfer int
StackMap stack:
aload 1
checkcast int[]
astore 13
start local 13 25: aload 11
aload 13
arraylength
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
26: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 30
StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer int int[] top int int int[]
StackMap stack:
27: aload 17
iload 15
iaload
istore 14
start local 14 28: aload 11
iload 14
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
end local 14 29: iinc 15 1
StackMap locals:
StackMap stack:
30: iload 15
iload 16
if_icmplt 27
31: goto 39
end local 13 32: StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer int
StackMap stack:
aload 1
checkcast java.lang.String[]
astore 13
start local 13 33: aload 11
aload 13
arraylength
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
34: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 38
StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer int java.lang.String[] top int int java.lang.String[]
StackMap stack:
35: aload 17
iload 15
aaload
astore 14
start local 14 36: aload 11
aload 14
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
end local 14 37: iinc 15 1
StackMap locals:
StackMap stack:
38: iload 15
iload 16
if_icmplt 35
end local 13 end local 12 39: StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 11
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
40: aload 11
invokevirtual org.h2.value.Transfer.readInt:()I
istore 6
41: aload 11
invokevirtual org.h2.value.Transfer.readBoolean:()Z
istore 8
42: iload 3
ifeq 51
43: aload 11
invokevirtual org.h2.value.Transfer.readInt:()I
istore 12
start local 12 44: aload 7
ifnull 47
45: aload 7
invokevirtual org.h2.result.ResultRemote.close:()V
46: aconst_null
astore 7
47: StackMap locals: int
StackMap stack:
new org.h2.result.ResultRemote
dup
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 11
iload 4
iload 12
ldc 2147483647
invokespecial org.h2.result.ResultRemote.<init>:(Lorg/h2/engine/SessionRemote;Lorg/h2/value/Transfer;III)V
astore 7
end local 12 48: goto 51
StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer
StackMap stack: java.io.IOException
49: astore 12
start local 12 50: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 12
iload 9
iinc 9 -1
iinc 10 1
iload 10
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 12 end local 11 51: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
52: iload 9
aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 15
end local 10 end local 9 53: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
iload 8
invokevirtual org.h2.engine.SessionRemote.setAutoCommitFromServer:(Z)V
54: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.autoCommitIfCluster:()V
55: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.readSessionState:()V
56: aload 7
ifnull 59
57: new org.h2.result.ResultWithGeneratedKeys$WithKeys
dup
iload 6
aload 7
invokespecial org.h2.result.ResultWithGeneratedKeys$WithKeys.<init>:(ILorg/h2/result/ResultInterface;)V
aload 5
monitorexit
58: areturn
59: StackMap locals:
StackMap stack:
iload 6
invokestatic org.h2.result.ResultWithGeneratedKeys.of:(I)Lorg/h2/result/ResultWithGeneratedKeys;
aload 5
monitorexit
60: areturn
end local 8 end local 7 end local 6 61: StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote
StackMap stack: java.lang.Throwable
aload 5
monitorexit
62: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lorg/h2/command/CommandRemote;
0 63 1 generatedKeysRequest Ljava/lang/Object;
2 63 2 supportsGeneratedKeys Z
5 63 3 readGeneratedKeys Z
8 63 4 objectId I
10 61 6 updateCount I
11 61 7 generatedKeys Lorg/h2/result/ResultRemote;
12 61 8 autoCommit Z
13 53 9 i I
14 53 10 count I
17 51 11 transfer Lorg/h2/value/Transfer;
22 39 12 mode I
25 32 13 keys [I
28 29 14 key I
33 39 13 keys [Ljava/lang/String;
36 37 14 key Ljava/lang/String;
44 48 12 columnCount I
50 51 12 e Ljava/io/IOException;
Exception table:
from to target type
17 48 49 Class java.io.IOException
9 58 61 any
59 60 61 any
61 62 61 any
MethodParameters:
Name Flags
generatedKeysRequest
private void checkParameters();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.cmdType:I
bipush 60
if_icmpeq 5
1: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.h2.command.CommandRemote top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.expression.ParameterInterface
astore 1
start local 1 3: aload 1
invokeinterface org.h2.expression.ParameterInterface.checkSet:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.h2.command.CommandRemote
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/command/CommandRemote;
3 4 1 p Lorg/h2/expression/ParameterInterface;
private void sendParameters(org.h2.value.Transfer);
descriptor: (Lorg/h2/value/Transfer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 1: aload 1
iload 2
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
2: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.h2.command.CommandRemote org.h2.value.Transfer int top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.expression.ParameterInterface
astore 3
start local 3 4: aload 3
invokeinterface org.h2.expression.ParameterInterface.getParamValue:()Lorg/h2/value/Value;
astore 5
start local 5 5: aload 5
ifnonnull 7
aload 0
getfield org.h2.command.CommandRemote.cmdType:I
bipush 60
if_icmpne 7
6: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
astore 5
7: StackMap locals: org.h2.command.CommandRemote org.h2.value.Transfer int org.h2.expression.ParameterInterface java.util.Iterator org.h2.value.Value
StackMap stack:
aload 1
aload 5
invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
end local 5 end local 3 8: StackMap locals: org.h2.command.CommandRemote org.h2.value.Transfer int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/command/CommandRemote;
0 10 1 transfer Lorg/h2/value/Transfer;
1 10 2 len I
4 8 3 p Lorg/h2/expression/ParameterInterface;
5 8 5 pVal Lorg/h2/value/Value;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
transfer
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
ifnull 1
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
invokevirtual org.h2.engine.SessionRemote.isClosed:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
dup
astore 1
monitorenter
3: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
ldc "COMMAND_CLOSE"
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
4: aload 0
getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 2
start local 2 6: aload 2
iconst_4
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
7: goto 10
StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote org.h2.value.Transfer java.util.Iterator
StackMap stack: java.io.IOException
8: astore 4
start local 4 9: aload 0
getfield org.h2.command.CommandRemote.trace:Lorg/h2/message/Trace;
aload 4
ldc "close"
invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
end local 4 end local 2 10: StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: aload 1
monitorexit
12: goto 15
StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
16: aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 21
StackMap locals: org.h2.command.CommandRemote top java.util.Iterator
StackMap stack:
17: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.expression.ParameterInterface
astore 1
start local 1 18: aload 1
invokeinterface org.h2.expression.ParameterInterface.getParamValue:()Lorg/h2/value/Value;
astore 3
start local 3 19: aload 3
ifnull 21
20: aload 3
invokevirtual org.h2.value.Value.remove:()V
end local 3 end local 1 21: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
22: goto 25
StackMap locals: org.h2.command.CommandRemote
StackMap stack: org.h2.message.DbException
23: astore 1
start local 1 24: aload 0
getfield org.h2.command.CommandRemote.trace:Lorg/h2/message/Trace;
aload 1
ldc "close"
invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
end local 1 25: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
26: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/h2/command/CommandRemote;
6 10 2 transfer Lorg/h2/value/Transfer;
9 10 4 e Ljava/io/IOException;
18 21 1 p Lorg/h2/expression/ParameterInterface;
19 21 3 v Lorg/h2/value/Value;
24 25 1 e Lorg/h2/message/DbException;
Exception table:
from to target type
6 7 8 Class java.io.IOException
3 12 13 any
13 14 13 any
16 22 23 Class org.h2.message.DbException
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
aload 0
getfield org.h2.command.CommandRemote.id:I
invokevirtual org.h2.engine.SessionRemote.cancelStatement:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/command/CommandRemote;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.h2.command.CommandRemote.getParameters:()Ljava/util/ArrayList;
invokestatic org.h2.message.Trace.formatParams:(Ljava/util/ArrayList;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/CommandRemote;
public int getCommandType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.command.CommandRemote.cmdType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/command/CommandRemote;
}
SourceFile: "CommandRemote.java"
InnerClasses:
public final WithKeys = org.h2.result.ResultWithGeneratedKeys$WithKeys of org.h2.result.ResultWithGeneratedKeys