public class org.h2.engine.SessionRemote extends org.h2.engine.SessionWithState implements org.h2.store.DataHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.engine.SessionRemote
super_class: org.h2.engine.SessionWithState
{
public static final int SESSION_PREPARE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int SESSION_CLOSE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int COMMAND_EXECUTE_QUERY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int COMMAND_EXECUTE_UPDATE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int COMMAND_CLOSE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int RESULT_FETCH_ROWS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int RESULT_RESET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int RESULT_CLOSE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int COMMAND_COMMIT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int CHANGE_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final int COMMAND_GET_META_DATA;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final int SESSION_PREPARE_READ_PARAMS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 11
public static final int SESSION_SET_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 12
public static final int SESSION_CANCEL_STATEMENT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 13
public static final int SESSION_CHECK_KEY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 14
public static final int SESSION_SET_AUTOCOMMIT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 15
public static final int SESSION_HAS_PENDING_TRANSACTION;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int LOB_READ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 17
public static final int SESSION_PREPARE_READ_PARAMS2;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 18
public static final int STATUS_ERROR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int STATUS_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int STATUS_CLOSED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int STATUS_OK_STATE_CHANGED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static org.h2.engine.SessionFactory sessionFactory;
descriptor: Lorg/h2/engine/SessionFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private org.h2.message.TraceSystem traceSystem;
descriptor: Lorg/h2/message/TraceSystem;
flags: (0x0002) ACC_PRIVATE
private org.h2.message.Trace trace;
descriptor: Lorg/h2/message/Trace;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<org.h2.value.Transfer> transferList;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;
private int nextId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean autoCommit;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.h2.engine.ConnectionInfo connectionInfo;
descriptor: Lorg/h2/engine/ConnectionInfo;
flags: (0x0002) ACC_PRIVATE
private java.lang.String databaseName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String cipher;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private byte[] fileEncryptionKey;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object lobSyncObject;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String sessionId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int clientVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean autoReconnect;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int lastReconnect;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.h2.engine.SessionInterface embedded;
descriptor: Lorg/h2/engine/SessionInterface;
flags: (0x0002) ACC_PRIVATE
private org.h2.api.DatabaseEventListener eventListener;
descriptor: Lorg/h2/api/DatabaseEventListener;
flags: (0x0002) ACC_PRIVATE
private org.h2.store.LobStorageFrontend lobStorage;
descriptor: Lorg/h2/store/LobStorageFrontend;
flags: (0x0002) ACC_PRIVATE
private boolean cluster;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.h2.util.TempFileDeleter tempFileDeleter;
descriptor: Lorg/h2/util/TempFileDeleter;
flags: (0x0002) ACC_PRIVATE
private org.h2.api.JavaObjectSerializer javaObjectSerializer;
descriptor: Lorg/h2/api/JavaObjectSerializer;
flags: (0x0002) ACC_PRIVATE
private volatile boolean javaObjectSerializerInitialized;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final org.h2.value.CompareMode compareMode;
descriptor: Lorg/h2/value/CompareMode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.h2.engine.ConnectionInfo);
descriptor: (Lorg/h2/engine/ConnectionInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.h2.engine.SessionWithState.<init>:()V
1: aload 0
invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
putfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
2: aload 0
iconst_1
putfield org.h2.engine.SessionRemote.autoCommit:Z
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.h2.engine.SessionRemote.lobSyncObject:Ljava/lang/Object;
4: aload 0
aconst_null
iconst_0
invokestatic org.h2.value.CompareMode.getInstance:(Ljava/lang/String;I)Lorg/h2/value/CompareMode;
putfield org.h2.engine.SessionRemote.compareMode:Lorg/h2/value/CompareMode;
5: aload 0
aload 1
putfield org.h2.engine.SessionRemote.connectionInfo:Lorg/h2/engine/ConnectionInfo;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/engine/SessionRemote;
0 7 1 ci Lorg/h2/engine/ConnectionInfo;
MethodParameters:
Name Flags
ci
public java.util.ArrayList<java.lang.String> getClusterServers();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: org.h2.engine.SessionRemote java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 2
start local 2 3: aload 1
new java.lang.StringBuilder
dup
aload 2
invokevirtual org.h2.value.Transfer.getSocket:()Ljava/net/Socket;
invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
4: invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 2
invokevirtual org.h2.value.Transfer.getSocket:()Ljava/net/Socket;
invokevirtual java.net.Socket.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/engine/SessionRemote;
1 9 1 serverList Ljava/util/ArrayList<Ljava/lang/String;>;
3 7 2 transfer Lorg/h2/value/Transfer;
Signature: ()Ljava/util/ArrayList<Ljava/lang/String;>;
private org.h2.value.Transfer initTransfer(org.h2.engine.ConnectionInfo, java.lang.String, java.lang.String);
descriptor: (Lorg/h2/engine/ConnectionInfo;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/value/Transfer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
1: sipush 9092
aload 1
invokevirtual org.h2.engine.ConnectionInfo.isSSL:()Z
2: invokestatic org.h2.util.NetUtils.createSocket:(Ljava/lang/String;IZ)Ljava/net/Socket;
astore 4
start local 4 3: new org.h2.value.Transfer
dup
aload 0
aload 4
invokespecial org.h2.value.Transfer.<init>:(Lorg/h2/engine/SessionInterface;Ljava/net/Socket;)V
astore 5
start local 5 4: aload 5
aload 1
invokevirtual org.h2.engine.ConnectionInfo.isSSL:()Z
invokevirtual org.h2.value.Transfer.setSSL:(Z)V
5: aload 5
invokevirtual org.h2.value.Transfer.init:()V
6: aload 5
bipush 9
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
7: aload 5
bipush 18
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
8: aload 5
aload 2
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
9: aload 5
aload 1
invokevirtual org.h2.engine.ConnectionInfo.getOriginalURL:()Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
10: aload 5
aload 1
invokevirtual org.h2.engine.ConnectionInfo.getUserName:()Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
11: aload 5
aload 1
invokevirtual org.h2.engine.ConnectionInfo.getUserPasswordHash:()[B
invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
pop
12: aload 5
aload 1
invokevirtual org.h2.engine.ConnectionInfo.getFilePasswordHash:()[B
invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
pop
13: aload 1
invokevirtual org.h2.engine.ConnectionInfo.getKeys:()[Ljava/lang/String;
astore 6
start local 6 14: aload 5
aload 6
arraylength
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
15: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 19
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String java.lang.String java.net.Socket org.h2.value.Transfer java.lang.String[] top int int java.lang.String[]
StackMap stack:
16: aload 10
iload 8
aaload
astore 7
start local 7 17: aload 5
aload 7
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
aload 1
aload 7
invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
end local 7 18: iinc 8 1
StackMap locals:
StackMap stack:
19: iload 8
iload 9
if_icmplt 16
20: aload 0
aload 5
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
21: aload 0
aload 5
invokevirtual org.h2.value.Transfer.readInt:()I
putfield org.h2.engine.SessionRemote.clientVersion:I
22: aload 5
aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
invokevirtual org.h2.value.Transfer.setVersion:(I)V
23: aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
bipush 14
if_icmplt 26
24: aload 1
invokevirtual org.h2.engine.ConnectionInfo.getFileEncryptionKey:()[B
ifnull 26
25: aload 5
aload 1
invokevirtual org.h2.engine.ConnectionInfo.getFileEncryptionKey:()[B
invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
pop
26: StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String java.lang.String java.net.Socket org.h2.value.Transfer java.lang.String[]
StackMap stack:
aload 5
bipush 12
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
27: aload 5
aload 0
getfield org.h2.engine.SessionRemote.sessionId:Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
28: aload 0
aload 5
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
29: aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
bipush 15
if_icmplt 32
30: aload 0
aload 5
invokevirtual org.h2.value.Transfer.readBoolean:()Z
putfield org.h2.engine.SessionRemote.autoCommit:Z
31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.engine.SessionRemote.autoCommit:Z
33: StackMap locals:
StackMap stack:
aload 5
34: areturn
35: StackMap locals:
StackMap stack: org.h2.message.DbException
astore 7
start local 7 36: aload 5
invokevirtual org.h2.value.Transfer.close:()V
37: aload 7
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/h2/engine/SessionRemote;
0 38 1 ci Lorg/h2/engine/ConnectionInfo;
0 38 2 db Ljava/lang/String;
0 38 3 server Ljava/lang/String;
3 38 4 socket Ljava/net/Socket;
4 38 5 trans Lorg/h2/value/Transfer;
14 38 6 keys [Ljava/lang/String;
17 18 7 key Ljava/lang/String;
36 38 7 e Lorg/h2/message/DbException;
Exception table:
from to target type
20 34 35 Class org.h2.message.DbException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ci
db
server
public boolean hasPendingTransaction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
bipush 10
if_icmpge 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 17
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 3
start local 3 6: aload 0
ldc "SESSION_HAS_PENDING_TRANSACTION"
iconst_0
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
7: aload 3
8: bipush 16
9: invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
10: aload 0
aload 3
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
11: aload 3
invokevirtual org.h2.value.Transfer.readInt:()I
ifeq 12
iconst_1
ireturn
StackMap locals: org.h2.value.Transfer
StackMap stack:
12: iconst_0
13: ireturn
14: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 15: aload 0
aload 4
iload 1
iinc 1 -1
iinc 2 1
iload 2
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 4 end local 3 16: iinc 1 1
StackMap locals:
StackMap stack:
17: iload 1
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
end local 2 end local 1 18: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/h2/engine/SessionRemote;
3 18 1 i I
4 18 2 count I
6 16 3 transfer Lorg/h2/value/Transfer;
15 16 4 e Ljava/io/IOException;
Exception table:
from to target type
6 13 14 Class java.io.IOException
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public void cancelStatement(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals: org.h2.engine.SessionRemote int top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 2
start local 2 2: aload 2
invokevirtual org.h2.value.Transfer.openNewConnection:()Lorg/h2/value/Transfer;
astore 4
start local 4 3: aload 4
invokevirtual org.h2.value.Transfer.init:()V
4: aload 4
aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
5: aload 4
aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
6: aload 4
aconst_null
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
7: aload 4
aconst_null
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
8: aload 4
aload 0
getfield org.h2.engine.SessionRemote.sessionId:Ljava/lang/String;
invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
pop
9: aload 4
bipush 13
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
10: aload 4
iload 1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
11: aload 4
invokevirtual org.h2.value.Transfer.close:()V
end local 4 12: goto 15
StackMap locals: org.h2.engine.SessionRemote int org.h2.value.Transfer java.util.Iterator
StackMap stack: java.io.IOException
13: astore 4
start local 4 14: aload 0
getfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
aload 4
ldc "could not cancel statement"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/Throwable;Ljava/lang/String;)V
end local 4 end local 2 15: StackMap locals: org.h2.engine.SessionRemote int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/h2/engine/SessionRemote;
0 17 1 id I
2 15 2 transfer Lorg/h2/value/Transfer;
3 12 4 trans Lorg/h2/value/Transfer;
14 15 4 e Ljava/io/IOException;
Exception table:
from to target type
2 12 13 Class java.io.IOException
MethodParameters:
Name Flags
id
private void checkClusterDisableAutoCommit(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.engine.SessionRemote.autoCommit:Z
ifeq 8
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmple 8
1: aload 0
iconst_0
invokevirtual org.h2.engine.SessionRemote.setAutoCommitSend:(Z)V
2: aload 0
3: new java.lang.StringBuilder
dup
ldc "SET CLUSTER "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc 2147483647
4: invokevirtual org.h2.engine.SessionRemote.prepareCommand:(Ljava/lang/String;I)Lorg/h2/command/CommandInterface;
astore 2
start local 2 5: aload 2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface org.h2.command.CommandInterface.executeUpdate:(Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
pop
6: aload 0
iconst_1
putfield org.h2.engine.SessionRemote.autoCommit:Z
7: aload 0
iconst_1
putfield org.h2.engine.SessionRemote.cluster:Z
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/engine/SessionRemote;
0 9 1 serverList Ljava/lang/String;
5 8 2 c Lorg/h2/command/CommandInterface;
MethodParameters:
Name Flags
serverList
public int getClientVersion();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public boolean getAutoCommit();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.autoCommit:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public void setAutoCommit(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.engine.SessionRemote.cluster:Z
ifne 2
1: aload 0
iload 1
invokevirtual org.h2.engine.SessionRemote.setAutoCommitSend:(Z)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.h2.engine.SessionRemote.autoCommit:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/engine/SessionRemote;
0 4 1 autoCommit Z
MethodParameters:
Name Flags
autoCommit
public void setAutoCommitFromServer(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.engine.SessionRemote.cluster:Z
ifeq 5
1: iload 1
ifeq 6
2: aload 0
iconst_0
invokevirtual org.h2.engine.SessionRemote.setAutoCommitSend:(Z)V
3: aload 0
iconst_1
putfield org.h2.engine.SessionRemote.autoCommit:Z
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.h2.engine.SessionRemote.autoCommit:Z
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/engine/SessionRemote;
0 7 1 autoCommit Z
MethodParameters:
Name Flags
autoCommit
private synchronized void setAutoCommitSend(boolean);
descriptor: (Z)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 14
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 4
start local 4 4: aload 0
ldc "SESSION_SET_AUTOCOMMIT"
iload 1
ifeq 5
iconst_1
goto 6
StackMap locals: org.h2.engine.SessionRemote int int int org.h2.value.Transfer
StackMap stack: org.h2.engine.SessionRemote java.lang.String
5: iconst_0
StackMap locals: org.h2.engine.SessionRemote int int int org.h2.value.Transfer
StackMap stack: org.h2.engine.SessionRemote java.lang.String int
6: invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
7: aload 4
bipush 15
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
8: iload 1
invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
pop
9: aload 0
aload 4
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
10: goto 13
StackMap locals:
StackMap stack: java.io.IOException
11: astore 5
start local 5 12: aload 0
aload 5
iload 2
iinc 2 -1
iinc 3 1
iload 3
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 5 end local 4 13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 3
end local 3 end local 2 15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/h2/engine/SessionRemote;
0 16 1 autoCommit Z
1 15 2 i I
2 15 3 count I
4 13 4 transfer Lorg/h2/value/Transfer;
12 13 5 e Ljava/io/IOException;
Exception table:
from to target type
4 10 11 Class java.io.IOException
MethodParameters:
Name Flags
autoCommit
public void autoCommitIfCluster();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.autoCommit:Z
ifeq 13
aload 0
getfield org.h2.engine.SessionRemote.cluster:Z
ifeq 13
1: iconst_0
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 12
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 3
start local 3 5: aload 0
ldc "COMMAND_COMMIT"
iconst_0
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
6: aload 3
bipush 8
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
7: aload 0
aload 3
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
8: goto 11
StackMap locals: org.h2.engine.SessionRemote int int org.h2.value.Transfer
StackMap stack: java.io.IOException
9: astore 4
start local 4 10: aload 0
aload 4
iload 1
iinc 1 -1
iinc 2 1
iload 2
invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
end local 4 end local 3 11: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
12: iload 1
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 2 end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/engine/SessionRemote;
2 13 1 i I
3 13 2 count I
5 11 3 transfer Lorg/h2/value/Transfer;
10 11 4 e Ljava/io/IOException;
Exception table:
from to target type
5 8 9 Class java.io.IOException
private java.lang.String getFilePrefix(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 3
start local 3 3: goto 10
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.databaseName:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 5: iload 4
invokestatic java.lang.Character.isLetterOrDigit:(C)Z
ifeq 8
6: aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: goto 9
8: StackMap locals: int
StackMap stack:
aload 2
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield org.h2.engine.SessionRemote.databaseName:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 3 11: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/h2/engine/SessionRemote;
0 12 1 dir Ljava/lang/String;
1 12 2 buff Ljava/lang/StringBuilder;
3 11 3 i I
5 9 4 ch C
MethodParameters:
Name Flags
dir
public int getPowerOffCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public void setPowerOffCount(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "remote"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
0 1 1 count I
MethodParameters:
Name Flags
count
public org.h2.engine.SessionInterface connectEmbeddedOrServer(boolean);
descriptor: (Z)Lorg/h2/engine/SessionInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.engine.SessionRemote.connectionInfo:Lorg/h2/engine/ConnectionInfo;
astore 2
start local 2 1: aload 2
invokevirtual org.h2.engine.ConnectionInfo.isRemote:()Z
ifeq 4
2: aload 0
aload 2
invokevirtual org.h2.engine.SessionRemote.connectServer:(Lorg/h2/engine/ConnectionInfo;)V
3: aload 0
areturn
4: StackMap locals: org.h2.engine.ConnectionInfo
StackMap stack:
aload 2
ldc "AUTO_SERVER"
iconst_0
invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
istore 3
start local 3 5: aconst_null
astore 4
start local 4 6: iload 3
ifeq 9
7: aload 2
invokevirtual org.h2.engine.ConnectionInfo.clone:()Lorg/h2/engine/ConnectionInfo;
astore 4
8: aload 0
aload 2
invokevirtual org.h2.engine.ConnectionInfo.clone:()Lorg/h2/engine/ConnectionInfo;
putfield org.h2.engine.SessionRemote.connectionInfo:Lorg/h2/engine/ConnectionInfo;
9: StackMap locals: int org.h2.engine.ConnectionInfo
StackMap stack:
iload 1
ifeq 11
10: aload 2
ldc "OPEN_NEW"
ldc "true"
invokevirtual org.h2.engine.ConnectionInfo.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
getstatic org.h2.engine.SessionRemote.sessionFactory:Lorg/h2/engine/SessionFactory;
ifnonnull 16
12: ldc "org.h2.engine.Engine"
13: invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
14: ldc "getInstance"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
15: checkcast org.h2.engine.SessionFactory
putstatic org.h2.engine.SessionRemote.sessionFactory:Lorg/h2/engine/SessionFactory;
16: StackMap locals:
StackMap stack:
getstatic org.h2.engine.SessionRemote.sessionFactory:Lorg/h2/engine/SessionFactory;
aload 2
invokeinterface org.h2.engine.SessionFactory.createSession:(Lorg/h2/engine/ConnectionInfo;)Lorg/h2/engine/SessionInterface;
17: areturn
18: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 19: aload 5
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
astore 6
start local 6 20: aload 6
invokevirtual org.h2.message.DbException.getErrorCode:()I
ldc 90020
if_icmpne 28
21: iload 3
ifeq 28
22: aload 6
invokevirtual org.h2.message.DbException.getSQLException:()Ljava/sql/SQLException;
checkcast org.h2.jdbc.JdbcException
invokeinterface org.h2.jdbc.JdbcException.getSQL:()Ljava/lang/String;
astore 7
start local 7 23: aload 7
ifnull 28
24: aload 4
aload 7
invokevirtual org.h2.engine.ConnectionInfo.setServerKey:(Ljava/lang/String;)V
25: aload 4
ldc "OPEN_NEW"
aconst_null
invokevirtual org.h2.engine.ConnectionInfo.removeProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
26: aload 0
aload 4
invokevirtual org.h2.engine.SessionRemote.connectServer:(Lorg/h2/engine/ConnectionInfo;)V
27: aload 0
areturn
end local 7 28: StackMap locals: java.lang.Exception org.h2.message.DbException
StackMap stack:
aload 6
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/h2/engine/SessionRemote;
0 29 1 openNew Z
1 29 2 ci Lorg/h2/engine/ConnectionInfo;
5 29 3 autoServerMode Z
6 29 4 backup Lorg/h2/engine/ConnectionInfo;
19 29 5 re Ljava/lang/Exception;
20 29 6 e Lorg/h2/message/DbException;
23 28 7 serverKey Ljava/lang/String;
Exception table:
from to target type
6 17 18 Class java.lang.Exception
MethodParameters:
Name Flags
openNew
private void connectServer(org.h2.engine.ConnectionInfo);
descriptor: (Lorg/h2/engine/ConnectionInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=17, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.h2.engine.ConnectionInfo.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ldc "//"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 2
ldc "//"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 4: iload 3
ifge 6
5: aload 1
invokevirtual org.h2.engine.ConnectionInfo.getFormatException:()Lorg/h2/message/DbException;
athrow
6: StackMap locals: int
StackMap stack:
aload 0
aload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield org.h2.engine.SessionRemote.databaseName:Ljava/lang/String;
7: aload 2
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 8: aload 0
new org.h2.message.TraceSystem
dup
aconst_null
invokespecial org.h2.message.TraceSystem.<init>:(Ljava/lang/String;)V
putfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
9: aload 1
10: bipush 10
aconst_null
11: invokevirtual org.h2.engine.ConnectionInfo.getProperty:(ILjava/lang/String;)Ljava/lang/String;
astore 5
start local 5 12: aload 5
ifnull 26
13: aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
start local 6 14: aload 0
15: getstatic org.h2.engine.SysProperties.CLIENT_TRACE_DIRECTORY:Ljava/lang/String;
16: invokevirtual org.h2.engine.SessionRemote.getFilePrefix:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 17: aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
iload 6
invokevirtual org.h2.message.TraceSystem.setLevelFile:(I)V
18: iload 6
ifle 26
iload 6
iconst_4
if_icmpge 26
19: aload 7
20: ldc ".trace.db"
iconst_0
21: invokestatic org.h2.store.fs.FileUtils.createTempFile:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
astore 8
start local 8 22: aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
aload 8
invokevirtual org.h2.message.TraceSystem.setFileName:(Ljava/lang/String;)V
end local 8 23: goto 26
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String int java.lang.String
StackMap stack: java.io.IOException
24: astore 8
start local 8 25: aload 8
aload 7
invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 8 end local 7 end local 6 26: StackMap locals:
StackMap stack:
aload 1
27: bipush 9
aconst_null
28: invokevirtual org.h2.engine.ConnectionInfo.getProperty:(ILjava/lang/String;)Ljava/lang/String;
astore 6
start local 6 29: aload 6
ifnull 32
30: aload 6
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7
start local 7 31: aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
iload 7
invokevirtual org.h2.message.TraceSystem.setLevelSystemOut:(I)V
end local 7 32: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
bipush 6
invokevirtual org.h2.message.TraceSystem.getTrace:(I)Lorg/h2/message/Trace;
putfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
33: aconst_null
astore 7
start local 7 34: aload 4
bipush 44
invokevirtual java.lang.String.indexOf:(I)I
iflt 37
35: aload 4
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/String;)Ljava/lang/String;
astore 7
36: aload 1
ldc "CLUSTER"
ldc "TRUE"
invokevirtual org.h2.engine.ConnectionInfo.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
37: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
ldc "AUTO_RECONNECT"
iconst_0
invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
putfield org.h2.engine.SessionRemote.autoReconnect:Z
38: aload 1
ldc "AUTO_SERVER"
iconst_0
invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
istore 8
start local 8 39: iload 8
ifeq 42
aload 7
ifnull 42
40: ldc "autoServer && serverList != null"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
41: athrow
42: StackMap locals: int
StackMap stack:
aload 0
dup
getfield org.h2.engine.SessionRemote.autoReconnect:Z
iload 8
ior
putfield org.h2.engine.SessionRemote.autoReconnect:Z
43: aload 0
getfield org.h2.engine.SessionRemote.autoReconnect:Z
ifeq 53
44: aload 1
ldc "DATABASE_EVENT_LISTENER"
invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 45: aload 9
ifnull 53
46: aload 9
iconst_1
iconst_1
ldc "'"
invokestatic org.h2.util.StringUtils.trim:(Ljava/lang/String;ZZLjava/lang/String;)Ljava/lang/String;
astore 9
47: aload 0
48: aload 9
invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.api.DatabaseEventListener
49: putfield org.h2.engine.SessionRemote.eventListener:Lorg/h2/api/DatabaseEventListener;
50: goto 53
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String
StackMap stack: java.lang.Throwable
51: astore 10
start local 10 52: aload 10
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 10 end local 9 53: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "CIPHER"
invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putfield org.h2.engine.SessionRemote.cipher:Ljava/lang/String;
54: aload 0
getfield org.h2.engine.SessionRemote.cipher:Ljava/lang/String;
ifnull 56
55: aload 0
bipush 32
invokestatic org.h2.util.MathUtils.secureRandomBytes:(I)[B
putfield org.h2.engine.SessionRemote.fileEncryptionKey:[B
56: StackMap locals:
StackMap stack:
aload 4
bipush 44
iconst_1
invokestatic org.h2.util.StringUtils.arraySplit:(Ljava/lang/String;CZ)[Ljava/lang/String;
astore 9
start local 9 57: aload 9
arraylength
istore 10
start local 10 58: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
59: aload 0
bipush 32
invokestatic org.h2.util.MathUtils.secureRandomBytes:(I)[B
invokestatic org.h2.util.StringUtils.convertBytesToHex:([B)Ljava/lang/String;
putfield org.h2.engine.SessionRemote.sessionId:Ljava/lang/String;
60: iconst_0
istore 11
start local 11 61: aload 9
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 71
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] int int top int int java.lang.String[]
StackMap stack:
62: aload 15
iload 13
aaload
astore 12
start local 12 63: aload 0
aload 1
aload 0
getfield org.h2.engine.SessionRemote.databaseName:Ljava/lang/String;
aload 12
invokevirtual org.h2.engine.SessionRemote.initTransfer:(Lorg/h2/engine/ConnectionInfo;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/value/Transfer;
astore 16
start local 16 64: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
aload 16
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 16 65: goto 70
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] int int java.lang.String int int java.lang.String[]
StackMap stack: java.io.IOException
66: astore 16
start local 16 67: iload 10
iconst_1
if_icmpne 69
68: ldc 90067
aload 16
iconst_1
anewarray java.lang.String
dup
iconst_0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
69: StackMap locals: java.io.IOException
StackMap stack:
iconst_1
istore 11
end local 16 end local 12 70: StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] int int top int int java.lang.String[]
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
71: iload 13
iload 14
if_icmplt 62
72: aload 0
invokevirtual org.h2.engine.SessionRemote.checkClosed:()V
73: iload 11
ifeq 75
74: aload 0
invokevirtual org.h2.engine.SessionRemote.switchOffCluster:()V
75: StackMap locals: org.h2.engine.SessionRemote org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] int int
StackMap stack:
aload 0
aload 7
invokevirtual org.h2.engine.SessionRemote.checkClusterDisableAutoCommit:(Ljava/lang/String;)V
76: goto 80
StackMap locals:
StackMap stack: org.h2.message.DbException
77: astore 12
start local 12 78: aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
invokevirtual org.h2.message.TraceSystem.close:()V
79: aload 12
athrow
end local 12 80: StackMap locals:
StackMap stack:
return
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 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Lorg/h2/engine/SessionRemote;
0 81 1 ci Lorg/h2/engine/ConnectionInfo;
1 81 2 name Ljava/lang/String;
4 81 3 idx I
8 81 4 server Ljava/lang/String;
12 81 5 traceLevelFile Ljava/lang/String;
14 26 6 level I
17 26 7 prefix Ljava/lang/String;
22 23 8 file Ljava/lang/String;
25 26 8 e Ljava/io/IOException;
29 81 6 traceLevelSystemOut Ljava/lang/String;
31 32 7 level I
34 81 7 serverList Ljava/lang/String;
39 81 8 autoServer Z
45 53 9 className Ljava/lang/String;
52 53 10 e Ljava/lang/Throwable;
57 81 9 servers [Ljava/lang/String;
58 81 10 len I
61 81 11 switchOffCluster Z
63 70 12 s Ljava/lang/String;
64 65 16 trans Lorg/h2/value/Transfer;
67 70 16 e Ljava/io/IOException;
78 80 12 e Lorg/h2/message/DbException;
Exception table:
from to target type
17 23 24 Class java.io.IOException
47 50 51 Class java.lang.Throwable
63 65 66 Class java.io.IOException
61 76 77 Class org.h2.message.DbException
MethodParameters:
Name Flags
ci
private void switchOffCluster();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "SET CLUSTER ''"
ldc 2147483647
invokevirtual org.h2.engine.SessionRemote.prepareCommand:(Ljava/lang/String;I)Lorg/h2/command/CommandInterface;
astore 1
start local 1 1: aload 1
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface org.h2.command.CommandInterface.executeUpdate:(Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/engine/SessionRemote;
1 3 1 ci Lorg/h2/command/CommandInterface;
public void removeServer(java.io.IOException, int, int);
descriptor: (Ljava/io/IOException;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
aload 1
ldc "removing server because of exception"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/Throwable;Ljava/lang/String;)V
1: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
2: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 4
aload 0
iload 3
invokevirtual org.h2.engine.SessionRemote.autoReconnect:(I)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.engine.SessionRemote.checkClosed:()V
5: aload 0
invokevirtual org.h2.engine.SessionRemote.switchOffCluster:()V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/engine/SessionRemote;
0 7 1 e Ljava/io/IOException;
0 7 2 i I
0 7 3 count I
MethodParameters:
Name Flags
e
i
count
public synchronized org.h2.command.CommandInterface prepareCommand(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lorg/h2/command/CommandInterface;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.h2.engine.SessionRemote.checkClosed:()V
1: new org.h2.command.CommandRemote
dup
aload 0
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
aload 1
iload 2
invokespecial org.h2.command.CommandRemote.<init>:(Lorg/h2/engine/SessionRemote;Ljava/util/ArrayList;Ljava/lang/String;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/engine/SessionRemote;
0 2 1 sql Ljava/lang/String;
0 2 2 fetchSize I
MethodParameters:
Name Flags
sql
fetchSize
private boolean autoReconnect(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.h2.engine.SessionRemote.isClosed:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.autoReconnect:Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.cluster:Z
ifne 6
aload 0
getfield org.h2.engine.SessionRemote.autoCommit:Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iload 1
getstatic org.h2.engine.SysProperties.MAX_RECONNECT:I
if_icmple 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.h2.engine.SessionRemote.lastReconnect:I
iconst_1
iadd
putfield org.h2.engine.SessionRemote.lastReconnect:I
9: StackMap locals:
StackMap stack:
aload 0
aload 0
iconst_0
invokevirtual org.h2.engine.SessionRemote.connectEmbeddedOrServer:(Z)Lorg/h2/engine/SessionInterface;
putfield org.h2.engine.SessionRemote.embedded:Lorg/h2/engine/SessionInterface;
10: goto 18
11: StackMap locals:
StackMap stack: org.h2.message.DbException
astore 2
start local 2 12: aload 2
invokevirtual org.h2.message.DbException.getErrorCode:()I
ldc 90135
if_icmpeq 14
13: aload 2
athrow
14: StackMap locals: org.h2.message.DbException
StackMap stack:
ldc 500
invokestatic java.lang.Thread.sleep:(J)V
15: goto 9
StackMap locals:
StackMap stack: java.lang.Exception
16: pop
end local 2 17: goto 9
18: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.embedded:Lorg/h2/engine/SessionInterface;
aload 0
if_acmpne 21
19: aload 0
aconst_null
putfield org.h2.engine.SessionRemote.embedded:Lorg/h2/engine/SessionInterface;
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual org.h2.engine.SessionRemote.connectEmbeddedOrServer:(Z)Lorg/h2/engine/SessionInterface;
pop
22: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.engine.SessionRemote.recreateSessionState:()V
23: aload 0
getfield org.h2.engine.SessionRemote.eventListener:Lorg/h2/api/DatabaseEventListener;
ifnull 27
24: aload 0
getfield org.h2.engine.SessionRemote.eventListener:Lorg/h2/api/DatabaseEventListener;
iconst_4
25: aload 0
getfield org.h2.engine.SessionRemote.databaseName:Ljava/lang/String;
iload 1
getstatic org.h2.engine.SysProperties.MAX_RECONNECT:I
26: invokeinterface org.h2.api.DatabaseEventListener.setProgress:(ILjava/lang/String;II)V
27: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/h2/engine/SessionRemote;
0 28 1 count I
12 17 2 e Lorg/h2/message/DbException;
Exception table:
from to target type
9 10 11 Class org.h2.message.DbException
14 15 16 Class java.lang.Exception
MethodParameters:
Name Flags
count
public void checkClosed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.engine.SessionRemote.isClosed:()Z
ifeq 2
1: ldc 90067
ldc "session closed"
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/engine/SessionRemote;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
ifnull 22
2: aload 0
dup
astore 2
monitorenter
3: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals: org.h2.engine.SessionRemote java.lang.RuntimeException org.h2.engine.SessionRemote top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.value.Transfer
astore 3
start local 3 5: aload 0
ldc "SESSION_CLOSE"
iconst_0
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
6: aload 3
iconst_1
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
7: aload 0
aload 3
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
8: aload 3
invokevirtual org.h2.value.Transfer.close:()V
9: goto 16
StackMap locals: org.h2.engine.SessionRemote java.lang.RuntimeException org.h2.engine.SessionRemote org.h2.value.Transfer java.util.Iterator
StackMap stack: java.lang.RuntimeException
10: astore 5
start local 5 11: aload 0
getfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
aload 5
ldc "close"
invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
12: aload 5
astore 1
end local 5 13: goto 16
14: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 15: aload 0
getfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
aload 5
ldc "close"
invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
end local 5 end local 3 16: StackMap locals: org.h2.engine.SessionRemote java.lang.RuntimeException org.h2.engine.SessionRemote top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
17: aload 2
monitorexit
18: goto 21
StackMap locals: org.h2.engine.SessionRemote java.lang.RuntimeException org.h2.engine.SessionRemote
StackMap stack: java.lang.Throwable
19: aload 2
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
22: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
invokevirtual org.h2.message.TraceSystem.close:()V
23: aload 0
getfield org.h2.engine.SessionRemote.embedded:Lorg/h2/engine/SessionInterface;
ifnull 26
24: aload 0
getfield org.h2.engine.SessionRemote.embedded:Lorg/h2/engine/SessionInterface;
invokeinterface org.h2.engine.SessionInterface.close:()V
25: aload 0
aconst_null
putfield org.h2.engine.SessionRemote.embedded:Lorg/h2/engine/SessionInterface;
26: StackMap locals:
StackMap stack:
aload 1
ifnull 28
27: aload 1
athrow
28: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/h2/engine/SessionRemote;
1 29 1 closeError Ljava/lang/RuntimeException;
5 16 3 transfer Lorg/h2/value/Transfer;
11 13 5 e Ljava/lang/RuntimeException;
15 16 5 e Ljava/lang/Exception;
Exception table:
from to target type
5 9 10 Class java.lang.RuntimeException
5 9 14 Class java.lang.Exception
3 18 19 any
19 20 19 any
public org.h2.message.Trace getTrace();
descriptor: ()Lorg/h2/message/Trace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.traceSystem:Lorg/h2/message/TraceSystem;
bipush 6
invokevirtual org.h2.message.TraceSystem.getTrace:(I)Lorg/h2/message/Trace;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public int getNextId();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield org.h2.engine.SessionRemote.nextId:I
dup_x1
iconst_1
iadd
putfield org.h2.engine.SessionRemote.nextId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public int getCurrentId();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.nextId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public void done(org.h2.value.Transfer);
descriptor: (Lorg/h2/value/Transfer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.h2.value.Transfer.flush:()V
1: aload 1
invokevirtual org.h2.value.Transfer.readInt:()I
istore 2
start local 2 2: iload 2
ifne 12
3: aload 1
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 3
start local 3 4: aload 1
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 4
start local 4 5: aload 1
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 5
start local 5 6: aload 1
invokevirtual org.h2.value.Transfer.readInt:()I
istore 6
start local 6 7: aload 1
invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
astore 7
start local 7 8: aload 4
aload 5
aload 3
iload 6
aconst_null
aload 7
invokestatic org.h2.message.DbException.getJdbcSQLException:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;Ljava/lang/String;)Ljava/sql/SQLException;
astore 8
start local 8 9: iload 6
ldc 90067
if_icmpne 11
10: new java.io.IOException
dup
aload 8
invokevirtual java.sql.SQLException.toString:()Ljava/lang/String;
aload 8
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
11: StackMap locals: org.h2.engine.SessionRemote org.h2.value.Transfer int java.lang.String java.lang.String java.lang.String int java.lang.String java.sql.SQLException
StackMap stack:
aload 8
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 12: StackMap locals: org.h2.engine.SessionRemote org.h2.value.Transfer int
StackMap stack:
iload 2
iconst_2
if_icmpne 15
13: aload 0
aconst_null
putfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
14: goto 22
StackMap locals:
StackMap stack:
15: iload 2
iconst_3
if_icmpne 18
16: aload 0
iconst_1
putfield org.h2.engine.SessionRemote.sessionStateChanged:Z
17: goto 22
StackMap locals:
StackMap stack:
18: iload 2
iconst_1
if_icmpeq 22
19: ldc 90067
20: new java.lang.StringBuilder
dup
ldc "unexpected status "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/h2/engine/SessionRemote;
0 23 1 transfer Lorg/h2/value/Transfer;
2 23 2 status I
4 12 3 sqlstate Ljava/lang/String;
5 12 4 message Ljava/lang/String;
6 12 5 sql Ljava/lang/String;
7 12 6 errorCode I
8 12 7 stackTrace Ljava/lang/String;
9 12 8 s Ljava/sql/SQLException;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
transfer
public boolean isClustered();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.cluster:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
ifnull 1
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/engine/SessionRemote;
public void traceOperation(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.h2.engine.SessionRemote.trace:Lorg/h2/message/Trace;
ldc "{0} {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/engine/SessionRemote;
0 3 1 operation Ljava/lang/String;
0 3 2 id I
MethodParameters:
Name Flags
operation
id
public void checkPowerOff();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public void checkWritingAllowed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public java.lang.String getDatabasePath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ""
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public java.lang.String getLobCompressionAlgorithm(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
0 1 1 type I
MethodParameters:
Name Flags
type
public int getMaxLengthInplaceLob();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.h2.engine.SysProperties.LOB_CLIENT_MAX_SIZE_MEMORY:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public org.h2.store.FileStore openFile(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 2
aload 1
invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
ifne 2
1: ldc 90124
aload 1
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.cipher:Ljava/lang/String;
ifnonnull 5
3: aload 0
aload 1
aload 2
invokestatic org.h2.store.FileStore.open:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/store/FileStore;
astore 4
start local 4 4: goto 6
end local 4 5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 0
getfield org.h2.engine.SessionRemote.cipher:Ljava/lang/String;
aload 0
getfield org.h2.engine.SessionRemote.fileEncryptionKey:[B
iconst_0
invokestatic org.h2.store.FileStore.open:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BI)Lorg/h2/store/FileStore;
astore 4
start local 4 6: StackMap locals: org.h2.store.FileStore
StackMap stack:
aload 4
iconst_0
invokevirtual org.h2.store.FileStore.setCheckedWriting:(Z)V
7: aload 4
invokevirtual org.h2.store.FileStore.init:()V
8: goto 12
StackMap locals:
StackMap stack: org.h2.message.DbException
9: astore 5
start local 5 10: aload 4
invokevirtual org.h2.store.FileStore.closeSilently:()V
11: aload 5
athrow
end local 5 12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/h2/engine/SessionRemote;
0 13 1 name Ljava/lang/String;
0 13 2 mode Ljava/lang/String;
0 13 3 mustExist Z
4 5 4 store Lorg/h2/store/FileStore;
6 13 4 store Lorg/h2/store/FileStore;
10 12 5 e Lorg/h2/message/DbException;
Exception table:
from to target type
7 8 9 Class org.h2.message.DbException
MethodParameters:
Name Flags
name
mode
mustExist
public org.h2.store.DataHandler getDataHandler();
descriptor: ()Lorg/h2/store/DataHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public java.lang.Object getLobSyncObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.lobSyncObject:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public org.h2.util.SmallLRUCache<java.lang.String, java.lang.String[]> getLobFileListCache();
descriptor: ()Lorg/h2/util/SmallLRUCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
Signature: ()Lorg/h2/util/SmallLRUCache<Ljava/lang/String;[Ljava/lang/String;>;
public int getLastReconnect();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.lastReconnect:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public org.h2.util.TempFileDeleter getTempFileDeleter();
descriptor: ()Lorg/h2/util/TempFileDeleter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.tempFileDeleter:Lorg/h2/util/TempFileDeleter;
ifnonnull 2
1: aload 0
invokestatic org.h2.util.TempFileDeleter.getInstance:()Lorg/h2/util/TempFileDeleter;
putfield org.h2.engine.SessionRemote.tempFileDeleter:Lorg/h2/util/TempFileDeleter;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.tempFileDeleter:Lorg/h2/util/TempFileDeleter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/engine/SessionRemote;
public boolean isReconnectNeeded(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
0 1 1 write Z
MethodParameters:
Name Flags
write
public org.h2.engine.SessionInterface reconnect(boolean);
descriptor: (Z)Lorg/h2/engine/SessionInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
0 1 1 write Z
MethodParameters:
Name Flags
write
public void afterWriting();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public org.h2.store.LobStorageInterface getLobStorage();
descriptor: ()Lorg/h2/store/LobStorageInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.lobStorage:Lorg/h2/store/LobStorageFrontend;
ifnonnull 2
1: aload 0
new org.h2.store.LobStorageFrontend
dup
aload 0
invokespecial org.h2.store.LobStorageFrontend.<init>:(Lorg/h2/store/DataHandler;)V
putfield org.h2.engine.SessionRemote.lobStorage:Lorg/h2/store/LobStorageFrontend;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.lobStorage:Lorg/h2/store/LobStorageFrontend;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/engine/SessionRemote;
public synchronized int readLob(long, byte[], long, byte[], int, int);
descriptor: (J[BJ[BII)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=13, args_size=7
start local 0 start local 1 start local 3 start local 4 start local 6 start local 7 start local 8 0: aload 0
invokevirtual org.h2.engine.SessionRemote.checkClosed:()V
1: iconst_0
istore 9
start local 9 2: iconst_0
istore 10
start local 10 3: goto 23
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.engine.SessionRemote.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 5: aload 0
ldc "LOB_READ"
lload 1
l2i
invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
6: aload 11
bipush 17
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
7: aload 11
lload 1
invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
pop
8: aload 0
getfield org.h2.engine.SessionRemote.clientVersion:I
bipush 12
if_icmplt 10
9: aload 11
aload 3
invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
pop
10: StackMap locals: org.h2.value.Transfer
StackMap stack:
aload 11
lload 4
invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
pop
11: aload 11
iload 8
invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
pop
12: aload 0
aload 11
invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
13: aload 11
invokevirtual org.h2.value.Transfer.readInt:()I
istore 8
14: iload 8
ifgt 17
15: iload 8
16: ireturn
17: StackMap locals:
StackMap stack:
aload 11
aload 6
iload 7
iload 8
invokevirtual org.h2.value.Transfer.readBytes:([BII)V
18: iload 8
19: ireturn
20: StackMap locals:
StackMap stack: java.io.IOException
astore 12
start local 12 21: aload 0
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 22: iinc 9 1
StackMap locals:
StackMap stack:
23: iload 9
aload 0
getfield org.h2.engine.SessionRemote.transferList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 10 end local 9 24: iconst_1
ireturn
end local 8 end local 7 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/h2/engine/SessionRemote;
0 25 1 lobId J
0 25 3 hmac [B
0 25 4 offset J
0 25 6 buff [B
0 25 7 off I
0 25 8 length I
2 24 9 i I
3 24 10 count I
5 22 11 transfer Lorg/h2/value/Transfer;
21 22 12 e Ljava/io/IOException;
Exception table:
from to target type
5 16 20 Class java.io.IOException
17 19 20 Class java.io.IOException
MethodParameters:
Name Flags
lobId
hmac
offset
buff
off
length
public org.h2.api.JavaObjectSerializer getJavaObjectSerializer();
descriptor: ()Lorg/h2/api/JavaObjectSerializer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.engine.SessionRemote.initJavaObjectSerializer:()V
1: aload 0
getfield org.h2.engine.SessionRemote.javaObjectSerializer:Lorg/h2/api/JavaObjectSerializer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/engine/SessionRemote;
private void initJavaObjectSerializer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.javaObjectSerializerInitialized:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
3: aload 0
getfield org.h2.engine.SessionRemote.javaObjectSerializerInitialized:Z
ifeq 6
4: aload 1
monitorexit
5: return
6: StackMap locals: org.h2.engine.SessionRemote
StackMap stack:
aload 0
invokevirtual org.h2.engine.SessionRemote.readSerializationSettings:()Ljava/lang/String;
astore 2
start local 2 7: aload 2
ifnull 16
8: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
9: aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 16
aload 2
ldc "null"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
10: aload 0
11: aload 2
invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.api.JavaObjectSerializer
12: putfield org.h2.engine.SessionRemote.javaObjectSerializer:Lorg/h2/api/JavaObjectSerializer;
13: goto 16
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.SessionRemote java.lang.String
StackMap stack: java.lang.Exception
14: astore 3
start local 3 15: aload 3
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 3 16: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.engine.SessionRemote.javaObjectSerializerInitialized:Z
end local 2 17: aload 1
monitorexit
18: goto 21
StackMap locals: org.h2.engine.SessionRemote org.h2.engine.SessionRemote
StackMap stack: java.lang.Throwable
19: aload 1
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/h2/engine/SessionRemote;
7 17 2 serializerFQN Ljava/lang/String;
15 16 3 e Ljava/lang/Exception;
Exception table:
from to target type
10 13 14 Class java.lang.Exception
3 5 19 any
6 18 19 any
19 20 19 any
private java.lang.String readSerializationSettings();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
2: ldc "SELECT VALUE FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME='JAVA_OBJECT_SERIALIZER'"
3: ldc 2147483647
4: invokevirtual org.h2.engine.SessionRemote.prepareCommand:(Ljava/lang/String;I)Lorg/h2/command/CommandInterface;
astore 2
start local 2 5: aload 2
iconst_0
iconst_0
invokeinterface org.h2.command.CommandInterface.executeQuery:(IZ)Lorg/h2/result/ResultInterface;
astore 3
start local 3 6: aload 3
invokeinterface org.h2.result.ResultInterface.next:()Z
ifeq 13
7: aload 3
invokeinterface org.h2.result.ResultInterface.currentRow:()[Lorg/h2/value/Value;
astore 4
start local 4 8: aload 4
iconst_0
aaload
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
astore 1
end local 4 end local 3 9: goto 13
StackMap locals: org.h2.engine.SessionRemote java.lang.String org.h2.command.CommandInterface
StackMap stack: java.lang.Throwable
10: astore 5
11: aload 2
invokeinterface org.h2.command.CommandInterface.close:()V
12: aload 5
athrow
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.h2.command.CommandInterface.close:()V
14: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/h2/engine/SessionRemote;
1 15 1 javaObjectSerializerFQN Ljava/lang/String;
5 15 2 ci Lorg/h2/command/CommandInterface;
6 9 3 result Lorg/h2/result/ResultInterface;
8 9 4 row [Lorg/h2/value/Value;
Exception table:
from to target type
5 10 10 any
public void addTemporaryLob(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
0 1 1 v Lorg/h2/value/Value;
MethodParameters:
Name Flags
v
public org.h2.value.CompareMode getCompareMode();
descriptor: ()Lorg/h2/value/CompareMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.engine.SessionRemote.compareMode:Lorg/h2/value/CompareMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public boolean isRemote();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public java.lang.String getCurrentSchemaName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "getSchema && remote session"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
public void setCurrentSchemaName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "setSchema && remote session"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/engine/SessionRemote;
0 1 1 schema Ljava/lang/String;
MethodParameters:
Name Flags
schema
public boolean isSupportsGeneratedKeys();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.engine.SessionRemote.getClientVersion:()I
bipush 17
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/engine/SessionRemote;
public void readSessionState();
descriptor: ()V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.h2.engine.SessionWithState.readSessionState:()V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SessionRemote.java"