public class org.h2.server.TcpServerThread implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.server.TcpServerThread
super_class: java.lang.Object
{
protected final org.h2.value.Transfer transfer;
descriptor: Lorg/h2/value/Transfer;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final org.h2.server.TcpServer server;
descriptor: Lorg/h2/server/TcpServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.h2.engine.Session session;
descriptor: Lorg/h2/engine/Session;
flags: (0x0002) ACC_PRIVATE
private boolean stop;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Thread thread;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
private org.h2.command.Command commit;
descriptor: Lorg/h2/command/Command;
flags: (0x0002) ACC_PRIVATE
private final org.h2.util.SmallMap cache;
descriptor: Lorg/h2/util/SmallMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.h2.util.SmallLRUCache<java.lang.Long, org.h2.server.TcpServerThread$CachedInputStream> lobs;
descriptor: Lorg/h2/util/SmallLRUCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/h2/util/SmallLRUCache<Ljava/lang/Long;Lorg/h2/server/TcpServerThread$CachedInputStream;>;
private final int threadId;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int clientVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String sessionId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
void <init>(java.net.Socket, org.h2.server.TcpServer, int);
descriptor: (Ljava/net/Socket;Lorg/h2/server/TcpServer;I)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new org.h2.util.SmallMap
dup
getstatic org.h2.engine.SysProperties.SERVER_CACHED_OBJECTS:I
invokespecial org.h2.util.SmallMap.<init>:(I)V
putfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
3: aload 0
4: getstatic org.h2.engine.SysProperties.SERVER_CACHED_OBJECTS:I
5: getstatic org.h2.engine.SysProperties.SERVER_RESULT_SET_FETCH_SIZE:I
iconst_5
imul
6: invokestatic java.lang.Math.max:(II)I
invokestatic org.h2.util.SmallLRUCache.newInstance:(I)Lorg/h2/util/SmallLRUCache;
putfield org.h2.server.TcpServerThread.lobs:Lorg/h2/util/SmallLRUCache;
7: aload 0
aload 2
putfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
8: aload 0
iload 3
putfield org.h2.server.TcpServerThread.threadId:I
9: aload 0
new org.h2.value.Transfer
dup
aconst_null
aload 1
invokespecial org.h2.value.Transfer.<init>:(Lorg/h2/engine/SessionInterface;Ljava/net/Socket;)V
putfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/server/TcpServerThread;
0 11 1 socket Ljava/net/Socket;
0 11 2 server Lorg/h2/server/TcpServer;
0 11 3 id I
MethodParameters:
Name Flags
socket
server
id
private void trace(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.server.TcpServer.trace:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/server/TcpServerThread;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.init:()V
1: aload 0
ldc "Connect"
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
2: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.getSocket:()Ljava/net/Socket;
astore 1
start local 1 3: aload 1
ifnonnull 6
4: aload 0
invokevirtual org.h2.server.TcpServerThread.close:()V
5: return
6: StackMap locals: java.net.Socket
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.getSocket:()Ljava/net/Socket;
invokevirtual org.h2.server.TcpServer.allow:(Ljava/net/Socket;)Z
ifne 8
7: ldc 90117
invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 9: iload 2
bipush 6
if_icmpge 13
10: ldc 90047
iconst_2
anewarray java.lang.String
dup
iconst_0
11: iload 2
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aastore
dup
iconst_1
ldc "9"
aastore
12: invokestatic org.h2.message.DbException.get:(I[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
13: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 3
start local 3 14: iload 3
bipush 9
if_icmpge 18
15: ldc 90047
iconst_2
anewarray java.lang.String
dup
iconst_0
16: iload 3
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aastore
dup
iconst_1
ldc "9"
aastore
17: invokestatic org.h2.message.DbException.get:(I[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
18: StackMap locals: int
StackMap stack:
iload 2
bipush 18
if_icmple 22
19: ldc 90047
iconst_2
anewarray java.lang.String
dup
iconst_0
20: iload 2
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aastore
dup
iconst_1
ldc "18"
aastore
21: invokestatic org.h2.message.DbException.get:(I[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
22: StackMap locals:
StackMap stack:
iload 3
bipush 18
if_icmplt 25
23: aload 0
bipush 18
putfield org.h2.server.TcpServerThread.clientVersion:I
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.h2.server.TcpServerThread.clientVersion:I
26: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
invokevirtual org.h2.value.Transfer.setVersion:(I)V
27: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 4
start local 4 28: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 5
start local 5 29: aload 4
ifnonnull 43
aload 5
ifnonnull 43
30: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 6
start local 6 31: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 7
start local 7 32: aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
33: iload 7
bipush 13
if_icmpne 37
34: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 8
start local 8 35: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 6
iload 8
invokevirtual org.h2.server.TcpServer.cancelStatement:(Ljava/lang/String;I)V
end local 8 36: goto 43
StackMap locals: org.h2.server.TcpServerThread java.net.Socket int int java.lang.String java.lang.String java.lang.String int
StackMap stack:
37: iload 7
bipush 14
if_icmpne 43
38: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 6
invokevirtual org.h2.server.TcpServer.checkKeyAndGetDatabaseName:(Ljava/lang/String;)Ljava/lang/String;
astore 4
39: aload 6
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 42
40: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
41: goto 43
42: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_0
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
end local 7 end local 6 43: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
invokevirtual org.h2.server.TcpServer.getBaseDir:()Ljava/lang/String;
astore 6
start local 6 44: aload 6
ifnonnull 46
45: invokestatic org.h2.engine.SysProperties.getBaseDir:()Ljava/lang/String;
astore 6
46: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 4
invokevirtual org.h2.server.TcpServer.checkKeyAndGetDatabaseName:(Ljava/lang/String;)Ljava/lang/String;
astore 4
47: new org.h2.engine.ConnectionInfo
dup
aload 4
invokespecial org.h2.engine.ConnectionInfo.<init>:(Ljava/lang/String;)V
astore 7
start local 7 48: aload 7
aload 5
invokevirtual org.h2.engine.ConnectionInfo.setOriginalURL:(Ljava/lang/String;)V
49: aload 7
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
invokevirtual org.h2.engine.ConnectionInfo.setUserName:(Ljava/lang/String;)V
50: aload 7
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readBytes:()[B
invokevirtual org.h2.engine.ConnectionInfo.setUserPasswordHash:([B)V
51: aload 7
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readBytes:()[B
invokevirtual org.h2.engine.ConnectionInfo.setFilePasswordHash:([B)V
52: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 8
start local 8 53: iconst_0
istore 9
start local 9 54: goto 57
55: StackMap locals: org.h2.engine.ConnectionInfo int int
StackMap stack:
aload 7
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
invokevirtual org.h2.engine.ConnectionInfo.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
56: iinc 9 1
StackMap locals:
StackMap stack:
57: iload 9
iload 8
if_icmplt 55
end local 9 58: aload 6
ifnull 60
59: aload 7
aload 6
invokevirtual org.h2.engine.ConnectionInfo.setBaseDir:(Ljava/lang/String;)V
60: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
invokevirtual org.h2.server.TcpServer.getIfExists:()Z
ifeq 62
61: aload 7
ldc "IFEXISTS"
ldc "TRUE"
invokevirtual org.h2.engine.ConnectionInfo.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
62: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
63: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
64: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
65: aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
bipush 13
if_icmplt 68
66: aload 7
invokevirtual org.h2.engine.ConnectionInfo.getFilePasswordHash:()[B
ifnull 68
67: aload 7
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readBytes:()[B
invokevirtual org.h2.engine.ConnectionInfo.setFileEncryptionKey:([B)V
68: StackMap locals:
StackMap stack:
aload 0
invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
aload 7
invokevirtual org.h2.engine.Engine.createSession:(Lorg/h2/engine/ConnectionInfo;)Lorg/h2/engine/Session;
putfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
69: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.value.Transfer.setSession:(Lorg/h2/engine/SessionInterface;)V
70: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 0
getfield org.h2.server.TcpServerThread.threadId:I
aload 5
aload 7
invokevirtual org.h2.engine.ConnectionInfo.getUserName:()Ljava/lang/String;
invokevirtual org.h2.server.TcpServer.addConnection:(ILjava/lang/String;Ljava/lang/String;)V
71: aload 0
ldc "Connected"
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 72: goto 86
StackMap locals: org.h2.server.TcpServerThread
StackMap stack: java.lang.OutOfMemoryError
73: astore 1
start local 1 74: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 1
invokevirtual org.h2.server.TcpServer.traceError:(Ljava/lang/Throwable;)V
75: aload 0
aload 1
invokevirtual org.h2.server.TcpServerThread.sendError:(Ljava/lang/Throwable;)V
76: aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
end local 1 77: goto 86
78: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 79: aload 0
aload 1
invokevirtual org.h2.server.TcpServerThread.sendError:(Ljava/lang/Throwable;)V
80: aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
end local 1 81: goto 86
82: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.server.TcpServerThread.process:()V
83: goto 86
StackMap locals:
StackMap stack: java.lang.Throwable
84: astore 1
start local 1 85: aload 0
aload 1
invokevirtual org.h2.server.TcpServerThread.sendError:(Ljava/lang/Throwable;)V
end local 1 86: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.stop:Z
ifeq 82
87: aload 0
ldc "Disconnect"
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
88: goto 95
StackMap locals:
StackMap stack: java.lang.Throwable
89: astore 1
start local 1 90: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 1
invokevirtual org.h2.server.TcpServer.traceError:(Ljava/lang/Throwable;)V
end local 1 91: aload 0
invokevirtual org.h2.server.TcpServerThread.close:()V
goto 96
92: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
93: aload 0
invokevirtual org.h2.server.TcpServerThread.close:()V
94: aload 10
athrow
95: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.server.TcpServerThread.close:()V
96: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lorg/h2/server/TcpServerThread;
3 72 1 socket Ljava/net/Socket;
9 72 2 minClientVersion I
14 72 3 maxClientVersion I
28 72 4 db Ljava/lang/String;
29 72 5 originalURL Ljava/lang/String;
31 43 6 targetSessionId Ljava/lang/String;
32 43 7 command I
35 36 8 statementId I
44 72 6 baseDir Ljava/lang/String;
48 72 7 ci Lorg/h2/engine/ConnectionInfo;
53 72 8 len I
54 58 9 i I
74 77 1 e Ljava/lang/OutOfMemoryError;
79 81 1 e Ljava/lang/Throwable;
85 86 1 e Ljava/lang/Throwable;
90 91 1 e Ljava/lang/Throwable;
Exception table:
from to target type
2 4 73 Class java.lang.OutOfMemoryError
6 72 73 Class java.lang.OutOfMemoryError
2 4 78 Class java.lang.Throwable
6 72 78 Class java.lang.Throwable
82 83 84 Class java.lang.Throwable
0 4 89 Class java.lang.Throwable
6 88 89 Class java.lang.Throwable
0 4 92 any
6 91 92 any
private void closeSession();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
ifnull 18
1: aconst_null
astore 1
start local 1 2: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.close:()V
3: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 0
getfield org.h2.server.TcpServerThread.threadId:I
invokevirtual org.h2.server.TcpServer.removeConnection:(I)V
4: goto 15
StackMap locals: org.h2.server.TcpServerThread java.lang.RuntimeException
StackMap stack: java.lang.RuntimeException
5: astore 2
start local 2 6: aload 2
astore 1
7: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 2
invokevirtual org.h2.server.TcpServer.traceError:(Ljava/lang/Throwable;)V
end local 2 8: aload 0
aconst_null
putfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
goto 16
9: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 10: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 2
invokevirtual org.h2.server.TcpServer.traceError:(Ljava/lang/Throwable;)V
end local 2 11: aload 0
aconst_null
putfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
goto 16
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
13: aload 0
aconst_null
putfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
16: StackMap locals:
StackMap stack:
aload 1
ifnull 18
17: aload 1
athrow
end local 1 18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/h2/server/TcpServerThread;
2 18 1 closeError Ljava/lang/RuntimeException;
6 8 2 e Ljava/lang/RuntimeException;
10 11 2 e Ljava/lang/Exception;
Exception table:
from to target type
2 4 5 Class java.lang.RuntimeException
2 4 9 Class java.lang.Exception
2 8 12 any
9 11 12 any
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
1: aload 0
invokevirtual org.h2.server.TcpServerThread.closeSession:()V
2: goto 13
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 1
start local 1 4: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 1
invokevirtual org.h2.server.TcpServer.traceError:(Ljava/lang/Throwable;)V
end local 1 5: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.close:()V
6: aload 0
ldc "Close"
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
7: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 0
invokevirtual org.h2.server.TcpServer.remove:(Lorg/h2/server/TcpServerThread;)V
goto 16
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
9: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.close:()V
10: aload 0
ldc "Close"
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
11: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 0
invokevirtual org.h2.server.TcpServer.remove:(Lorg/h2/server/TcpServerThread;)V
12: aload 2
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.close:()V
14: aload 0
ldc "Close"
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
15: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 0
invokevirtual org.h2.server.TcpServer.remove:(Lorg/h2/server/TcpServerThread;)V
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/h2/server/TcpServerThread;
4 5 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
0 5 8 any
private void sendError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
invokevirtual org.h2.message.DbException.getSQLException:()Ljava/sql/SQLException;
astore 2
start local 2 1: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 3
start local 3 2: aload 2
new java.io.PrintWriter
dup
aload 3
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
invokevirtual java.sql.SQLException.printStackTrace:(Ljava/io/PrintWriter;)V
3: aload 3
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
astore 4
start local 4 4: aload 2
instanceof org.h2.jdbc.JdbcException
ifeq 9
5: aload 2
checkcast org.h2.jdbc.JdbcException
astore 7
start local 7 6: aload 7
invokeinterface org.h2.jdbc.JdbcException.getOriginalMessage:()Ljava/lang/String;
astore 5
start local 5 7: aload 7
invokeinterface org.h2.jdbc.JdbcException.getSQL:()Ljava/lang/String;
astore 6
end local 7 start local 6 8: goto 11
end local 6 end local 5 9: StackMap locals: java.sql.SQLException java.io.StringWriter java.lang.String
StackMap stack:
aload 2
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
astore 5
start local 5 10: aconst_null
astore 6
start local 6 11: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_0
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
12: aload 2
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
aload 5
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
13: aload 6
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
aload 2
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
aload 4
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
end local 6 end local 5 end local 4 end local 3 end local 2 14: goto 19
StackMap locals: org.h2.server.TcpServerThread java.lang.Throwable
StackMap stack: java.lang.Exception
15: astore 2
start local 2 16: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.isClosed:()Z
ifne 18
17: aload 0
getfield org.h2.server.TcpServerThread.server:Lorg/h2/server/TcpServer;
aload 2
invokevirtual org.h2.server.TcpServer.traceError:(Ljava/lang/Throwable;)V
18: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
end local 2 19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/h2/server/TcpServerThread;
0 20 1 t Ljava/lang/Throwable;
1 14 2 e Ljava/sql/SQLException;
2 14 3 writer Ljava/io/StringWriter;
4 14 4 trace Ljava/lang/String;
7 9 5 message Ljava/lang/String;
10 14 5 message Ljava/lang/String;
8 9 6 sql Ljava/lang/String;
11 14 6 sql Ljava/lang/String;
6 8 7 j Lorg/h2/jdbc/JdbcException;
16 19 2 e2 Ljava/lang/Exception;
Exception table:
from to target type
0 14 15 Class java.lang.Exception
MethodParameters:
Name Flags
t
private void setParameters(org.h2.command.Command);
descriptor: (Lorg/h2/command/Command;)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.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 1: aload 1
invokevirtual org.h2.command.Command.getParameters:()Ljava/util/ArrayList;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: int java.util.ArrayList int
StackMap stack:
aload 3
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.expression.Parameter
astore 5
start local 5 5: aload 5
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readValue:()Lorg/h2/value/Value;
invokevirtual org.h2.expression.Parameter.setValue:(Lorg/h2/value/Value;)V
end local 5 6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 4
end local 4 8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/server/TcpServerThread;
0 9 1 command Lorg/h2/command/Command;
1 9 2 len I
2 9 3 params Ljava/util/ArrayList<+Lorg/h2/expression/ParameterInterface;>;
3 8 4 i I
5 6 5 p Lorg/h2/expression/Parameter;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
command
private void process();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=14, args_size=1
start local 0 0: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 1
start local 1 1: iload 1
tableswitch { // 0 - 18
0: 2
1: 22
2: 48
3: 80
4: 151
5: 157
6: 168
7: 172
8: 27
9: 178
10: 33
11: 2
12: 184
13: 236
14: 236
15: 190
16: 194
17: 199
18: 2
default: 236
}
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 3: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 3
start local 3 4: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getModificationId:()I
istore 4
start local 4 5: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
aload 3
invokevirtual org.h2.engine.Session.prepareLocal:(Ljava/lang/String;)Lorg/h2/command/Command;
astore 5
start local 5 6: aload 5
invokevirtual org.h2.command.Command.isReadOnly:()Z
istore 6
start local 6 7: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
aload 5
invokevirtual org.h2.util.SmallMap.addObject:(ILjava/lang/Object;)I
pop
8: aload 5
invokevirtual org.h2.command.Command.isQuery:()Z
istore 7
start local 7 9: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 0
iload 4
invokevirtual org.h2.server.TcpServerThread.getState:(I)I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
iload 7
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
10: iload 6
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
pop
11: iload 1
bipush 18
if_icmpne 13
12: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 5
invokevirtual org.h2.command.Command.getCommandType:()I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
13: StackMap locals: org.h2.server.TcpServerThread int int java.lang.String int org.h2.command.Command int int
StackMap stack:
aload 5
invokevirtual org.h2.command.Command.getParameters:()Ljava/util/ArrayList;
astore 8
start local 8 14: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 8
invokevirtual java.util.ArrayList.size:()I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
15: iload 1
ifeq 20
16: aload 8
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 10
goto 19
StackMap locals: org.h2.server.TcpServerThread int int java.lang.String int org.h2.command.Command int int java.util.ArrayList top java.util.Iterator
StackMap stack:
17: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.expression.ParameterInterface
astore 9
start local 9 18: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 9
invokestatic org.h2.expression.ParameterRemote.writeMetaData:(Lorg/h2/value/Transfer;Lorg/h2/expression/ParameterInterface;)V
end local 9 19: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: StackMap locals: org.h2.server.TcpServerThread int int java.lang.String int org.h2.command.Command int int java.util.ArrayList
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
21: goto 238
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 22: StackMap locals: org.h2.server.TcpServerThread int
StackMap stack:
aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
23: aload 0
invokevirtual org.h2.server.TcpServerThread.closeSession:()V
24: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
25: aload 0
invokevirtual org.h2.server.TcpServerThread.close:()V
26: goto 238
27: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.commit:Lorg/h2/command/Command;
ifnonnull 29
28: aload 0
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
ldc "COMMIT"
invokevirtual org.h2.engine.Session.prepareLocal:(Ljava/lang/String;)Lorg/h2/command/Command;
putfield org.h2.server.TcpServerThread.commit:Lorg/h2/command/Command;
29: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getModificationId:()I
istore 2
start local 2 30: aload 0
getfield org.h2.server.TcpServerThread.commit:Lorg/h2/command/Command;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.h2.command.Command.executeUpdate:(Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
pop
31: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 0
iload 2
invokevirtual org.h2.server.TcpServerThread.getState:(I)I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
32: goto 238
end local 2 33: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 34: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 3
start local 3 35: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.command.Command
astore 4
start local 4 36: aload 4
invokevirtual org.h2.command.Command.getMetaData:()Lorg/h2/result/ResultInterface;
astore 5
start local 5 37: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 3
aload 5
invokevirtual org.h2.util.SmallMap.addObject:(ILjava/lang/Object;)I
pop
38: aload 5
invokeinterface org.h2.result.ResultInterface.getVisibleColumnCount:()I
istore 6
start local 6 39: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
40: iload 6
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
iconst_0
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
41: iconst_0
istore 7
start local 7 42: goto 45
43: StackMap locals: org.h2.server.TcpServerThread int int int org.h2.command.Command org.h2.result.ResultInterface int int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 5
iload 7
invokestatic org.h2.result.ResultColumn.writeColumn:(Lorg/h2/value/Transfer;Lorg/h2/result/ResultInterface;I)V
44: iinc 7 1
StackMap locals:
StackMap stack:
45: iload 7
iload 6
if_icmplt 43
end local 7 46: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
47: goto 238
end local 6 end local 5 end local 4 end local 3 end local 2 48: StackMap locals: org.h2.server.TcpServerThread int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 49: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 3
start local 3 50: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 4
start local 4 51: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 5
start local 5 52: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.command.Command
astore 6
start local 6 53: aload 0
aload 6
invokevirtual org.h2.server.TcpServerThread.setParameters:(Lorg/h2/command/Command;)V
54: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getModificationId:()I
istore 7
start local 7 55: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
dup
astore 9
monitorenter
56: aload 6
iload 4
iconst_0
invokevirtual org.h2.command.Command.executeQuery:(IZ)Lorg/h2/result/ResultInterface;
astore 8
start local 8 57: aload 9
monitorexit
58: goto 61
end local 8 StackMap locals: org.h2.server.TcpServerThread int int int int int org.h2.command.Command int top org.h2.engine.Session
StackMap stack: java.lang.Throwable
59: aload 9
monitorexit
60: athrow
start local 8 61: StackMap locals: org.h2.server.TcpServerThread int int int int int org.h2.command.Command int org.h2.result.ResultInterface
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 3
aload 8
invokevirtual org.h2.util.SmallMap.addObject:(ILjava/lang/Object;)I
pop
62: aload 8
invokeinterface org.h2.result.ResultInterface.getVisibleColumnCount:()I
istore 9
start local 9 63: aload 0
iload 7
invokevirtual org.h2.server.TcpServerThread.getState:(I)I
istore 10
start local 10 64: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iload 10
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
iload 9
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
65: aload 8
invokeinterface org.h2.result.ResultInterface.getRowCount:()I
istore 11
start local 11 66: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iload 11
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
67: iconst_0
istore 12
start local 12 68: goto 71
69: StackMap locals: org.h2.server.TcpServerThread int int int int int org.h2.command.Command int org.h2.result.ResultInterface int int int int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 8
iload 12
invokestatic org.h2.result.ResultColumn.writeColumn:(Lorg/h2/value/Transfer;Lorg/h2/result/ResultInterface;I)V
70: iinc 12 1
StackMap locals:
StackMap stack:
71: iload 12
iload 9
if_icmplt 69
end local 12 72: iload 11
iload 5
invokestatic java.lang.Math.min:(II)I
istore 12
start local 12 73: iconst_0
istore 13
start local 13 74: goto 77
75: StackMap locals: int
StackMap stack:
aload 0
aload 8
invokevirtual org.h2.server.TcpServerThread.sendRow:(Lorg/h2/result/ResultInterface;)V
76: iinc 13 1
StackMap locals:
StackMap stack:
77: iload 13
iload 12
if_icmplt 75
end local 13 78: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
79: goto 238
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 80: StackMap locals: org.h2.server.TcpServerThread int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 81: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.command.Command
astore 3
start local 3 82: aload 0
aload 3
invokevirtual org.h2.server.TcpServerThread.setParameters:(Lorg/h2/command/Command;)V
83: aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
bipush 17
if_icmplt 84
iconst_1
goto 85
StackMap locals: int org.h2.command.Command
StackMap stack:
84: iconst_0
StackMap locals:
StackMap stack: int
85: istore 4
start local 4 86: iload 4
istore 5
start local 5 87: iload 4
ifeq 117
88: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 7
start local 7 89: iload 7
tableswitch { // 0 - 3
0: 90
1: 93
2: 95
3: 104
default: 113
}
90: StackMap locals: org.h2.server.TcpServerThread int int org.h2.command.Command int int top int
StackMap stack:
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 6
start local 6 91: iconst_0
istore 5
92: goto 118
end local 6 93: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 6
start local 6 94: goto 118
end local 6 95: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 8
start local 8 96: iload 8
newarray 10
astore 9
start local 9 97: iconst_0
istore 10
start local 10 98: goto 101
99: StackMap locals: int int[] int
StackMap stack:
aload 9
iload 10
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
iastore
100: iinc 10 1
StackMap locals:
StackMap stack:
101: iload 10
iload 8
if_icmplt 99
end local 10 102: aload 9
astore 6
start local 6 103: goto 118
end local 9 end local 8 end local 6 104: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 8
start local 8 105: iload 8
anewarray java.lang.String
astore 9
start local 9 106: iconst_0
istore 10
start local 10 107: goto 110
108: StackMap locals: int java.lang.String[] int
StackMap stack:
aload 9
iload 10
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
aastore
109: iinc 10 1
StackMap locals:
StackMap stack:
110: iload 10
iload 8
if_icmplt 108
end local 10 111: aload 9
astore 6
start local 6 112: goto 118
end local 9 end local 8 end local 6 113: StackMap locals:
StackMap stack:
ldc 90067
114: new java.lang.StringBuilder
dup
ldc "Unsupported generated keys' mode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
115: invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 7 start local 6 116: StackMap locals: org.h2.server.TcpServerThread int int org.h2.command.Command int int java.lang.Object
StackMap stack:
goto 118
end local 6 117: StackMap locals:
StackMap stack:
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 6
start local 6 118: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getModificationId:()I
istore 7
start local 7 119: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
dup
astore 9
monitorenter
120: aload 3
aload 6
invokevirtual org.h2.command.Command.executeUpdate:(Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
astore 8
start local 8 121: aload 9
monitorexit
122: goto 125
end local 8 StackMap locals: org.h2.server.TcpServerThread int int org.h2.command.Command int int java.lang.Object int top org.h2.engine.Session
StackMap stack: java.lang.Throwable
123: aload 9
monitorexit
124: athrow
start local 8 125: StackMap locals: org.h2.server.TcpServerThread int int org.h2.command.Command int int java.lang.Object int org.h2.result.ResultWithGeneratedKeys
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.isClosed:()Z
ifeq 129
126: iconst_2
istore 9
start local 9 127: aload 0
iconst_1
putfield org.h2.server.TcpServerThread.stop:Z
128: goto 130
end local 9 129: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual org.h2.server.TcpServerThread.getState:(I)I
istore 9
start local 9 130: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iload 9
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
aload 8
invokevirtual org.h2.result.ResultWithGeneratedKeys.getUpdateCount:()I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
131: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getAutoCommit:()Z
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
pop
132: iload 5
ifeq 149
133: aload 8
invokevirtual org.h2.result.ResultWithGeneratedKeys.getGeneratedKeys:()Lorg/h2/result/ResultInterface;
astore 10
start local 10 134: aload 10
invokeinterface org.h2.result.ResultInterface.getVisibleColumnCount:()I
istore 11
start local 11 135: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iload 11
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
136: aload 10
invokeinterface org.h2.result.ResultInterface.getRowCount:()I
istore 12
start local 12 137: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iload 12
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
138: iconst_0
istore 13
start local 13 139: goto 142
140: StackMap locals: org.h2.server.TcpServerThread int int org.h2.command.Command int int java.lang.Object int org.h2.result.ResultWithGeneratedKeys int org.h2.result.ResultInterface int int int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 10
iload 13
invokestatic org.h2.result.ResultColumn.writeColumn:(Lorg/h2/value/Transfer;Lorg/h2/result/ResultInterface;I)V
141: iinc 13 1
StackMap locals:
StackMap stack:
142: iload 13
iload 11
if_icmplt 140
end local 13 143: iconst_0
istore 13
start local 13 144: goto 147
145: StackMap locals:
StackMap stack:
aload 0
aload 10
invokevirtual org.h2.server.TcpServerThread.sendRow:(Lorg/h2/result/ResultInterface;)V
146: iinc 13 1
StackMap locals:
StackMap stack:
147: iload 13
iload 12
if_icmplt 145
end local 13 148: aload 10
invokeinterface org.h2.result.ResultInterface.close:()V
end local 12 end local 11 end local 10 149: StackMap locals: org.h2.server.TcpServerThread int int org.h2.command.Command int int java.lang.Object int org.h2.result.ResultWithGeneratedKeys int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
150: goto 238
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 151: StackMap locals: org.h2.server.TcpServerThread int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 152: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_1
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.command.Command
astore 3
start local 3 153: aload 3
ifnull 238
154: aload 3
invokevirtual org.h2.command.Command.close:()V
155: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
invokevirtual org.h2.util.SmallMap.freeObject:(I)V
156: goto 238
end local 3 end local 2 157: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 158: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 3
start local 3 159: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.result.ResultInterface
astore 4
start local 4 160: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
161: iconst_0
istore 5
start local 5 162: goto 165
163: StackMap locals: org.h2.server.TcpServerThread int int int org.h2.result.ResultInterface int
StackMap stack:
aload 0
aload 4
invokevirtual org.h2.server.TcpServerThread.sendRow:(Lorg/h2/result/ResultInterface;)V
164: iinc 5 1
StackMap locals:
StackMap stack:
165: iload 5
iload 3
if_icmplt 163
end local 5 166: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
167: goto 238
end local 4 end local 3 end local 2 168: StackMap locals: org.h2.server.TcpServerThread int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 169: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.result.ResultInterface
astore 3
start local 3 170: aload 3
invokeinterface org.h2.result.ResultInterface.reset:()V
171: goto 238
end local 3 end local 2 172: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 173: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_1
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.result.ResultInterface
astore 3
start local 3 174: aload 3
ifnull 238
175: aload 3
invokeinterface org.h2.result.ResultInterface.close:()V
176: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
invokevirtual org.h2.util.SmallMap.freeObject:(I)V
177: goto 238
end local 3 end local 2 178: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 179: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 3
start local 3 180: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
astore 4
start local 4 181: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
invokevirtual org.h2.util.SmallMap.freeObject:(I)V
182: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 3
aload 4
invokevirtual org.h2.util.SmallMap.addObject:(ILjava/lang/Object;)I
pop
183: goto 238
end local 4 end local 3 end local 2 184: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
putfield org.h2.server.TcpServerThread.sessionId:Ljava/lang/String;
185: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
186: aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
bipush 15
if_icmplt 188
187: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getAutoCommit:()Z
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
pop
188: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
189: goto 238
190: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readBoolean:()Z
istore 2
start local 2 191: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
iload 2
invokevirtual org.h2.engine.Session.setAutoCommit:(Z)V
192: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
193: goto 238
end local 2 194: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
195: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.hasPendingTransaction:()Z
ifeq 196
iconst_1
goto 197
StackMap locals:
StackMap stack: org.h2.value.Transfer
196: iconst_0
StackMap locals: org.h2.server.TcpServerThread int
StackMap stack: org.h2.value.Transfer int
197: invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
198: goto 238
199: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readLong:()J
lstore 2
start local 2 200: aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
bipush 11
if_icmplt 212
201: aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
bipush 12
if_icmplt 205
202: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readBytes:()[B
astore 4
start local 4 203: iconst_1
istore 6
start local 6 204: goto 207
end local 6 end local 4 205: StackMap locals: long
StackMap stack:
aconst_null
astore 4
start local 4 206: iconst_0
istore 6
start local 6 207: StackMap locals: org.h2.server.TcpServerThread int long byte[] top int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.lobs:Lorg/h2/util/SmallLRUCache;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.h2.util.SmallLRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.server.TcpServerThread$CachedInputStream
astore 5
start local 5 208: aload 5
ifnonnull 215
iload 6
ifeq 215
209: new org.h2.server.TcpServerThread$CachedInputStream
dup
aconst_null
invokespecial org.h2.server.TcpServerThread$CachedInputStream.<init>:(Ljava/io/InputStream;)V
astore 5
210: aload 0
getfield org.h2.server.TcpServerThread.lobs:Lorg/h2/util/SmallLRUCache;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 5
invokevirtual org.h2.util.SmallLRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
211: goto 215
end local 6 end local 5 end local 4 212: StackMap locals: org.h2.server.TcpServerThread int long
StackMap stack:
iconst_0
istore 6
start local 6 213: aconst_null
astore 4
start local 4 214: aload 0
getfield org.h2.server.TcpServerThread.lobs:Lorg/h2/util/SmallLRUCache;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.h2.util.SmallLRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.server.TcpServerThread$CachedInputStream
astore 5
start local 5 215: StackMap locals: byte[] org.h2.server.TcpServerThread$CachedInputStream int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readLong:()J
lstore 7
start local 7 216: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.readInt:()I
istore 9
start local 9 217: iload 6
ifeq 219
218: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 4
lload 2
invokevirtual org.h2.value.Transfer.verifyLobMac:([BJ)V
219: StackMap locals: long int
StackMap stack:
aload 5
ifnonnull 221
220: ldc 90007
invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
athrow
221: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.h2.server.TcpServerThread$CachedInputStream.getPos:()J
lload 7
lcmp
ifeq 228
222: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getDataHandler:()Lorg/h2/store/DataHandler;
invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
astore 10
start local 10 223: bipush 15
aconst_null
iconst_m1
lload 2
aload 4
ldc -1
invokestatic org.h2.value.ValueLobDb.create:(ILorg/h2/store/DataHandler;IJ[BJ)Lorg/h2/value/ValueLobDb;
astore 11
start local 11 224: aload 10
aload 11
aload 4
ldc -1
invokeinterface org.h2.store.LobStorageInterface.getInputStream:(Lorg/h2/value/ValueLobDb;[BJ)Ljava/io/InputStream;
astore 12
start local 12 225: new org.h2.server.TcpServerThread$CachedInputStream
dup
aload 12
invokespecial org.h2.server.TcpServerThread$CachedInputStream.<init>:(Ljava/io/InputStream;)V
astore 5
226: aload 0
getfield org.h2.server.TcpServerThread.lobs:Lorg/h2/util/SmallLRUCache;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 5
invokevirtual org.h2.util.SmallLRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
227: aload 12
lload 7
invokevirtual java.io.InputStream.skip:(J)J
pop2
end local 12 end local 11 end local 10 228: StackMap locals:
StackMap stack:
ldc 65536
iload 9
invokestatic java.lang.Math.min:(II)I
istore 9
229: iload 9
newarray 8
astore 10
start local 10 230: aload 5
aload 10
iload 9
invokestatic org.h2.util.IOUtils.readFully:(Ljava/io/InputStream;[BI)I
istore 9
231: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
232: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iload 9
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
233: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 10
iconst_0
iload 9
invokevirtual org.h2.value.Transfer.writeBytes:([BII)Lorg/h2/value/Transfer;
pop
234: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
invokevirtual org.h2.value.Transfer.flush:()V
235: goto 238
end local 10 end local 9 end local 7 end local 6 end local 5 end local 4 end local 2 236: StackMap locals: org.h2.server.TcpServerThread int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Unknown operation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.server.TcpServerThread.trace:(Ljava/lang/String;)V
237: aload 0
invokevirtual org.h2.server.TcpServerThread.close:()V
238: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 239 0 this Lorg/h2/server/TcpServerThread;
1 239 1 operation I
3 22 2 id I
4 22 3 sql Ljava/lang/String;
5 22 4 old I
6 22 5 command Lorg/h2/command/Command;
7 22 6 readonly Z
9 22 7 isQuery Z
14 22 8 params Ljava/util/ArrayList<+Lorg/h2/expression/ParameterInterface;>;
18 19 9 p Lorg/h2/expression/ParameterInterface;
30 33 2 old I
34 48 2 id I
35 48 3 objectId I
36 48 4 command Lorg/h2/command/Command;
37 48 5 result Lorg/h2/result/ResultInterface;
39 48 6 columnCount I
42 46 7 i I
49 80 2 id I
50 80 3 objectId I
51 80 4 maxRows I
52 80 5 fetchSize I
53 80 6 command Lorg/h2/command/Command;
55 80 7 old I
57 59 8 result Lorg/h2/result/ResultInterface;
61 80 8 result Lorg/h2/result/ResultInterface;
63 80 9 columnCount I
64 80 10 state I
66 80 11 rowCount I
68 72 12 i I
73 80 12 fetch I
74 78 13 i I
81 151 2 id I
82 151 3 command Lorg/h2/command/Command;
86 151 4 supportsGeneratedKeys Z
87 151 5 writeGeneratedKeys Z
91 93 6 generatedKeysRequest Ljava/lang/Object;
94 95 6 generatedKeysRequest Ljava/lang/Object;
103 104 6 generatedKeysRequest Ljava/lang/Object;
112 113 6 generatedKeysRequest Ljava/lang/Object;
116 117 6 generatedKeysRequest Ljava/lang/Object;
118 151 6 generatedKeysRequest Ljava/lang/Object;
89 116 7 mode I
96 104 8 len I
97 104 9 keys [I
98 102 10 i I
105 113 8 len I
106 113 9 keys [Ljava/lang/String;
107 111 10 i I
119 151 7 old I
121 123 8 result Lorg/h2/result/ResultWithGeneratedKeys;
125 151 8 result Lorg/h2/result/ResultWithGeneratedKeys;
127 129 9 status I
130 151 9 status I
134 149 10 generatedKeys Lorg/h2/result/ResultInterface;
135 149 11 columnCount I
137 149 12 rowCount I
139 143 13 i I
144 148 13 i I
152 157 2 id I
153 157 3 command Lorg/h2/command/Command;
158 168 2 id I
159 168 3 count I
160 168 4 result Lorg/h2/result/ResultInterface;
162 166 5 i I
169 172 2 id I
170 172 3 result Lorg/h2/result/ResultInterface;
173 178 2 id I
174 178 3 result Lorg/h2/result/ResultInterface;
179 184 2 oldId I
180 184 3 newId I
181 184 4 obj Ljava/lang/Object;
191 194 2 autoCommit Z
200 236 2 lobId J
203 205 4 hmac [B
206 212 4 hmac [B
214 236 4 hmac [B
208 212 5 in Lorg/h2/server/TcpServerThread$CachedInputStream;
215 236 5 in Lorg/h2/server/TcpServerThread$CachedInputStream;
204 205 6 verifyMac Z
207 212 6 verifyMac Z
213 236 6 verifyMac Z
216 236 7 offset J
217 236 9 length I
223 228 10 lobStorage Lorg/h2/store/LobStorageInterface;
224 228 11 lob Lorg/h2/value/ValueLobDb;
225 228 12 lobIn Ljava/io/InputStream;
230 236 10 buff [B
Exception table:
from to target type
56 58 59 any
59 60 59 any
120 122 123 any
123 124 123 any
Exceptions:
throws java.io.IOException
private int getState(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
ifnonnull 2
1: iconst_2
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.session:Lorg/h2/engine/Session;
invokevirtual org.h2.engine.Session.getModificationId:()I
iload 1
if_icmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_3
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/server/TcpServerThread;
0 5 1 oldModificationId I
MethodParameters:
Name Flags
oldModificationId
private void sendRow(org.h2.result.ResultInterface);
descriptor: (Lorg/h2/result/ResultInterface;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.h2.result.ResultInterface.next:()Z
ifeq 12
1: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_1
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
pop
2: aload 1
invokeinterface org.h2.result.ResultInterface.currentRow:()[Lorg/h2/value/Value;
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 10
5: StackMap locals: org.h2.value.Value[] int
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.clientVersion:I
bipush 12
if_icmplt 8
6: aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 2
iload 3
aaload
invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
aaload
invokevirtual org.h2.server.TcpServerThread.writeValue:(Lorg/h2/value/Value;)V
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 1
invokeinterface org.h2.result.ResultInterface.getVisibleColumnCount:()I
if_icmplt 5
end local 3 end local 2 11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
iconst_0
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
pop
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/server/TcpServerThread;
0 14 1 result Lorg/h2/result/ResultInterface;
3 11 2 v [Lorg/h2/value/Value;
4 11 3 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
result
private void writeValue(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.h2.value.Value.getValueType:()I
invokestatic org.h2.value.DataType.isLargeObject:(I)Z
ifeq 6
1: aload 1
instanceof org.h2.value.ValueLobDb
ifeq 6
2: aload 1
checkcast org.h2.value.ValueLobDb
astore 2
start local 2 3: aload 2
invokevirtual org.h2.value.ValueLobDb.isStored:()Z
ifeq 6
4: aload 2
invokevirtual org.h2.value.ValueLobDb.getLobId:()J
lstore 3
start local 3 5: aload 0
getfield org.h2.server.TcpServerThread.lobs:Lorg/h2/util/SmallLRUCache;
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
new org.h2.server.TcpServerThread$CachedInputStream
dup
aconst_null
invokespecial org.h2.server.TcpServerThread$CachedInputStream.<init>:(Ljava/io/InputStream;)V
invokevirtual org.h2.util.SmallLRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.server.TcpServerThread.transfer:Lorg/h2/value/Transfer;
aload 1
invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/server/TcpServerThread;
0 8 1 v Lorg/h2/value/Value;
3 6 2 lob Lorg/h2/value/ValueLobDb;
5 6 3 id J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
v
void setThread(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.h2.server.TcpServerThread.thread:Ljava/lang/Thread;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/server/TcpServerThread;
0 2 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
java.lang.Thread getThread();
descriptor: ()Ljava/lang/Thread;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.server.TcpServerThread.thread:Ljava/lang/Thread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/server/TcpServerThread;
void cancelStatement(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield org.h2.server.TcpServerThread.sessionId:Ljava/lang/String;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 3
1: aload 0
getfield org.h2.server.TcpServerThread.cache:Lorg/h2/util/SmallMap;
iload 2
iconst_0
invokevirtual org.h2.util.SmallMap.getObject:(IZ)Ljava/lang/Object;
checkcast org.h2.command.Command
astore 3
start local 3 2: aload 3
invokevirtual org.h2.command.Command.cancel:()V
end local 3 3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/server/TcpServerThread;
0 4 1 targetSessionId Ljava/lang/String;
0 4 2 statementId I
2 3 3 cmd Lorg/h2/command/Command;
MethodParameters:
Name Flags
targetSessionId
statementId
}
SourceFile: "TcpServerThread.java"
NestMembers:
org.h2.server.TcpServerThread$CachedInputStream
InnerClasses:
CachedInputStream = org.h2.server.TcpServerThread$CachedInputStream of org.h2.server.TcpServerThread