public class org.h2.store.PageLog
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.store.PageLog
super_class: java.lang.Object
{
public static final int NOOP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int UNDO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int COMMIT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int PREPARE_COMMIT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int ROLLBACK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int ADD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int REMOVE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int TRUNCATE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int CHECKPOINT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int FREE_LOG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final int RECOVERY_STAGE_UNDO;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int RECOVERY_STAGE_ALLOCATE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int RECOVERY_STAGE_REDO;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final boolean COMPRESS_UNDO;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final org.h2.store.PageStore store;
descriptor: Lorg/h2/store/PageStore;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.h2.message.Trace trace;
descriptor: Lorg/h2/message/Trace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.h2.store.Data writeBuffer;
descriptor: Lorg/h2/store/Data;
flags: (0x0002) ACC_PRIVATE
private org.h2.store.PageOutputStream pageOut;
descriptor: Lorg/h2/store/PageOutputStream;
flags: (0x0002) ACC_PRIVATE
private int firstTrunkPage;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int firstDataPage;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.h2.store.Data dataBuffer;
descriptor: Lorg/h2/store/Data;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int logKey;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int logSectionId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int logPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int firstSectionId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.h2.compress.CompressLZF compress;
descriptor: Lorg/h2/compress/CompressLZF;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] compressBuffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.BitSet undo;
descriptor: Ljava/util/BitSet;
flags: (0x0002) ACC_PRIVATE
private final java.util.BitSet undoAll;
descriptor: Ljava/util/BitSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.h2.util.IntIntHashMap logSectionPageMap;
descriptor: Lorg/h2/util/IntIntHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.HashMap<java.lang.Integer, org.h2.store.SessionState> sessionStates;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/Integer;Lorg/h2/store/SessionState;>;
private java.util.BitSet usedLogPages;
descriptor: Ljava/util/BitSet;
flags: (0x0002) ACC_PRIVATE
private boolean freeing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(org.h2.store.PageStore);
descriptor: (Lorg/h2/store/PageStore;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
2: aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield org.h2.store.PageLog.undoAll:Ljava/util/BitSet;
3: aload 0
new org.h2.util.IntIntHashMap
dup
invokespecial org.h2.util.IntIntHashMap.<init>:()V
putfield org.h2.store.PageLog.logSectionPageMap:Lorg/h2/util/IntIntHashMap;
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.h2.store.PageLog.sessionStates:Ljava/util/HashMap;
5: aload 0
aload 1
putfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
6: aload 0
aload 1
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
putfield org.h2.store.PageLog.dataBuffer:Lorg/h2/store/Data;
7: aload 0
aload 1
invokevirtual org.h2.store.PageStore.getTrace:()Lorg/h2/message/Trace;
putfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
8: aload 0
new org.h2.compress.CompressLZF
dup
invokespecial org.h2.compress.CompressLZF.<init>:()V
putfield org.h2.store.PageLog.compress:Lorg/h2/compress/CompressLZF;
9: aload 0
aload 1
invokevirtual org.h2.store.PageStore.getPageSize:()I
iconst_2
imul
newarray 8
putfield org.h2.store.PageLog.compressBuffer:[B
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/store/PageLog;
0 11 1 store Lorg/h2/store/PageStore;
MethodParameters:
Name Flags
store
void openForWriting(int, boolean);
descriptor: (IZ)V
flags: (0x0000)
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log openForWriting firstPage: "
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.message.Trace.debug:(Ljava/lang/String;)V
1: aload 0
iload 1
putfield org.h2.store.PageLog.firstTrunkPage:I
2: aload 0
dup
getfield org.h2.store.PageLog.logKey:I
iconst_1
iadd
putfield org.h2.store.PageLog.logKey:I
3: aload 0
new org.h2.store.PageOutputStream
dup
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
4: iload 1
aload 0
getfield org.h2.store.PageLog.undoAll:Ljava/util/BitSet;
aload 0
getfield org.h2.store.PageLog.logKey:I
iload 2
invokespecial org.h2.store.PageOutputStream.<init>:(Lorg/h2/store/PageStore;ILjava/util/BitSet;IZ)V
5: putfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
6: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
iconst_1
invokevirtual org.h2.store.PageOutputStream.reserve:(I)V
7: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
aload 0
getfield org.h2.store.PageLog.logKey:I
iload 1
8: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.getCurrentDataPageId:()I
9: invokevirtual org.h2.store.PageStore.setLogFirstPage:(III)V
10: aload 0
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
putfield org.h2.store.PageLog.writeBuffer:Lorg/h2/store/Data;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/h2/store/PageLog;
0 12 1 newFirstTrunkPage I
0 12 2 atEnd Z
MethodParameters:
Name Flags
newFirstTrunkPage
atEnd
void free();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log free"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
ifnull 6
4: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.getCurrentDataPageId:()I
istore 1
5: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.freeReserved:()V
6: StackMap locals: int
StackMap stack:
aload 0
iconst_1
putfield org.h2.store.PageLog.freeing:Z
7: iconst_0
istore 2
start local 2 8: sipush 1024
istore 3
start local 3 9: iconst_0
istore 4
start local 4 10: new org.h2.store.PageStreamTrunk$Iterator
dup
11: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
12: invokespecial org.h2.store.PageStreamTrunk$Iterator.<init>:(Lorg/h2/store/PageStore;I)V
astore 5
start local 5 13: goto 29
14: StackMap locals: org.h2.store.PageLog int int int int org.h2.store.PageStreamTrunk$Iterator
StackMap stack:
aload 5
invokevirtual org.h2.store.PageStreamTrunk$Iterator.next:()Lorg/h2/store/PageStreamTrunk;
astore 6
start local 6 15: aload 6
ifnonnull 19
16: aload 5
invokevirtual org.h2.store.PageStreamTrunk$Iterator.canDelete:()Z
ifeq 34
17: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
iconst_0
invokevirtual org.h2.store.PageStore.free:(IZ)V
18: goto 34
19: StackMap locals: org.h2.store.PageStreamTrunk
StackMap stack:
iload 4
iinc 4 1
iload 3
if_icmplt 24
20: aload 6
invokevirtual org.h2.store.PageStreamTrunk.getPos:()I
istore 2
21: iconst_0
istore 4
22: iload 3
iconst_2
imul
istore 3
23: goto 27
StackMap locals:
StackMap stack:
24: iload 2
ifeq 27
iload 2
aload 6
invokevirtual org.h2.store.PageStreamTrunk.getPos:()I
if_icmpne 27
25: new java.lang.StringBuilder
dup
ldc "endless loop at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
27: StackMap locals:
StackMap stack:
aload 6
iload 1
invokevirtual org.h2.store.PageStreamTrunk.free:(I)I
pop
28: aload 0
aload 6
invokevirtual org.h2.store.PageStreamTrunk.getNextTrunk:()I
putfield org.h2.store.PageLog.firstTrunkPage:I
end local 6 29: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
ifeq 34
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageCount:()I
if_icmplt 14
end local 5 end local 4 end local 3 end local 2 30: goto 34
StackMap locals: org.h2.store.PageLog int
StackMap stack: java.lang.Throwable
31: astore 7
32: aload 0
iconst_0
putfield org.h2.store.PageLog.freeing:Z
33: aload 7
athrow
34: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.h2.store.PageLog.freeing:Z
35: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/h2/store/PageLog;
3 36 1 currentDataPage I
8 30 2 first I
9 30 3 loopDetect I
10 30 4 loopCount I
13 30 5 it Lorg/h2/store/PageStreamTrunk$Iterator;
15 29 6 t Lorg/h2/store/PageStreamTrunk;
Exception table:
from to target type
6 31 31 any
void openForReading(int, int, int);
descriptor: (III)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
putfield org.h2.store.PageLog.logKey:I
1: aload 0
iload 2
putfield org.h2.store.PageLog.firstTrunkPage:I
2: aload 0
iload 3
putfield org.h2.store.PageLog.firstDataPage:I
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/store/PageLog;
0 4 1 newLogKey I
0 4 2 newFirstTrunkPage I
0 4 3 newFirstDataPage I
MethodParameters:
Name Flags
newLogKey
newFirstTrunkPage
newFirstDataPage
boolean recover(int);
descriptor: (I)Z
flags: (0x0000)
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log recover stage: "
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.message.Trace.debug:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 9
3: new org.h2.store.PageInputStream
dup
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
4: aload 0
getfield org.h2.store.PageLog.logKey:I
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
aload 0
getfield org.h2.store.PageLog.firstDataPage:I
5: invokespecial org.h2.store.PageInputStream.<init>:(Lorg/h2/store/PageStore;III)V
astore 2
start local 2 6: aload 0
aload 2
invokevirtual org.h2.store.PageInputStream.allocateAllPages:()Ljava/util/BitSet;
putfield org.h2.store.PageLog.usedLogPages:Ljava/util/BitSet;
7: aload 2
invokevirtual org.h2.store.PageInputStream.close:()V
8: iconst_1
ireturn
end local 2 9: StackMap locals:
StackMap stack:
new org.h2.store.PageInputStream
dup
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
10: aload 0
getfield org.h2.store.PageLog.logKey:I
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
aload 0
getfield org.h2.store.PageLog.firstDataPage:I
11: invokespecial org.h2.store.PageInputStream.<init>:(Lorg/h2/store/PageStore;III)V
astore 2
start local 2 12: new org.h2.store.DataReader
dup
aload 2
invokespecial org.h2.store.DataReader.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 13: iconst_0
istore 4
start local 4 14: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
astore 5
start local 5 15: iconst_1
istore 6
start local 6 16: iconst_0
istore 7
start local 7 17: StackMap locals: org.h2.store.PageLog int org.h2.store.PageInputStream org.h2.store.DataReader int org.h2.store.Data int int
StackMap stack:
aload 3
invokevirtual org.h2.store.DataReader.readByte:()B
istore 8
start local 8 18: iload 8
ifge 20
19: goto 148
20: StackMap locals: int
StackMap stack:
iinc 7 1
21: iconst_0
istore 6
22: iload 8
iconst_1
if_icmpne 49
23: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 24: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 10
start local 10 25: iload 10
ifne 28
26: aload 3
aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
invokevirtual org.h2.store.DataReader.readFully:([BI)V
27: goto 38
StackMap locals: int int
StackMap stack:
28: iload 10
iconst_1
if_icmpne 31
29: aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
30: goto 38
31: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield org.h2.store.PageLog.compressBuffer:[B
iload 10
invokevirtual org.h2.store.DataReader.readFully:([BI)V
32: aload 0
getfield org.h2.store.PageLog.compress:Lorg/h2/compress/CompressLZF;
aload 0
getfield org.h2.store.PageLog.compressBuffer:[B
iconst_0
iload 10
33: aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
34: invokevirtual org.h2.compress.CompressLZF.expand:([BII[BII)V
35: goto 38
StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
36: astore 11
start local 11 37: aload 11
invokestatic org.h2.message.DbException.convertToIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
pop
end local 11 38: StackMap locals:
StackMap stack:
iload 1
ifne 17
39: aload 0
getfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
iload 9
invokevirtual java.util.BitSet.get:(I)Z
ifne 46
40: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 42
41: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log undo {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
42: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 9
aload 5
invokevirtual org.h2.store.PageStore.writePage:(ILorg/h2/store/Data;)V
43: aload 0
getfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
iload 9
invokevirtual java.util.BitSet.set:(I)V
44: aload 0
getfield org.h2.store.PageLog.undoAll:Ljava/util/BitSet;
iload 9
invokevirtual java.util.BitSet.set:(I)V
45: goto 17
46: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 17
47: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log undo skip {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 10 end local 9 48: goto 17
StackMap locals:
StackMap stack:
49: iload 8
iconst_5
if_icmpne 69
50: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 51: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 10
start local 10 52: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getRowFactory:()Lorg/h2/result/RowFactory;
aload 3
aload 5
invokestatic org.h2.store.PageLog.readRow:(Lorg/h2/result/RowFactory;Lorg/h2/store/DataReader;Lorg/h2/store/Data;)Lorg/h2/result/Row;
astore 11
start local 11 53: iload 1
ifne 56
54: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 7
iload 10
aload 11
invokevirtual org.h2.store.PageStore.allocateIfIndexRoot:(IILorg/h2/result/Row;)V
55: goto 17
StackMap locals: int int org.h2.result.Row
StackMap stack:
56: iload 1
iconst_2
if_icmpne 17
57: aload 0
iload 9
iload 4
iload 7
invokevirtual org.h2.store.PageLog.isSessionCommitted:(III)Z
ifeq 64
58: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 62
59: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log redo + table: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
60: ldc " s: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
61: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
62: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 10
aload 11
iconst_1
invokevirtual org.h2.store.PageStore.redo:(ILorg/h2/result/Row;Z)V
63: goto 17
64: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 17
65: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log ignore s: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
66: ldc " + table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
67: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 68: goto 17
StackMap locals:
StackMap stack:
69: iload 8
bipush 6
if_icmpne 86
70: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 71: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 10
start local 10 72: aload 3
invokevirtual org.h2.store.DataReader.readVarLong:()J
lstore 11
start local 11 73: iload 1
iconst_2
if_icmpne 17
74: aload 0
iload 9
iload 4
iload 7
invokevirtual org.h2.store.PageLog.isSessionCommitted:(III)Z
ifeq 81
75: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 79
76: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log redo - table: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
77: ldc " s:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " key: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
78: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
79: StackMap locals: int int long
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 10
lload 11
invokevirtual org.h2.store.PageStore.redoDelete:(IJ)V
80: goto 17
81: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 17
82: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log ignore s: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
83: ldc " - table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
84: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 85: goto 17
StackMap locals:
StackMap stack:
86: iload 8
bipush 7
if_icmpne 100
87: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 88: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 10
start local 10 89: iload 1
iconst_2
if_icmpne 17
90: aload 0
iload 9
iload 4
iload 7
invokevirtual org.h2.store.PageLog.isSessionCommitted:(III)Z
ifeq 95
91: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 93
92: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log redo truncate table: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
93: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 10
invokevirtual org.h2.store.PageStore.redoTruncate:(I)V
94: goto 17
95: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 17
96: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log ignore s: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
97: ldc " truncate table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
98: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
end local 10 end local 9 99: goto 17
StackMap locals:
StackMap stack:
100: iload 8
iconst_3
if_icmpne 111
101: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 102: aload 3
invokevirtual org.h2.store.DataReader.readString:()Ljava/lang/String;
astore 10
start local 10 103: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 107
104: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log prepare commit "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
105: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " pos: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
106: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
107: StackMap locals: int java.lang.String
StackMap stack:
iload 1
ifne 17
108: aload 2
invokevirtual org.h2.store.PageInputStream.getDataPage:()I
istore 11
start local 11 109: aload 0
iload 9
iload 11
aload 10
invokevirtual org.h2.store.PageLog.setPrepareCommit:(IILjava/lang/String;)V
end local 11 end local 10 end local 9 110: goto 17
StackMap locals:
StackMap stack:
111: iload 8
iconst_4
if_icmpne 116
112: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 113: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 17
114: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log rollback "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " pos: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
end local 9 115: goto 17
StackMap locals:
StackMap stack:
116: iload 8
iconst_2
if_icmpne 123
117: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 118: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 120
119: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log commit "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " pos: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
120: StackMap locals: int
StackMap stack:
iload 1
ifne 17
121: aload 0
iload 9
iload 4
iload 7
invokevirtual org.h2.store.PageLog.setLastCommitForSession:(III)V
end local 9 122: goto 17
StackMap locals:
StackMap stack:
123: iload 8
ifeq 17
124: iload 8
bipush 8
if_icmpne 127
125: iinc 4 1
126: goto 17
StackMap locals:
StackMap stack:
127: iload 8
bipush 9
if_icmpne 138
128: aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 9
start local 9 129: iconst_0
istore 10
start local 10 130: goto 136
131: StackMap locals: int int
StackMap stack:
aload 3
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 11
start local 11 132: iload 1
iconst_2
if_icmpne 135
133: aload 0
getfield org.h2.store.PageLog.usedLogPages:Ljava/util/BitSet;
iload 11
invokevirtual java.util.BitSet.get:(I)Z
ifne 135
134: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 11
iconst_0
invokevirtual org.h2.store.PageStore.free:(IZ)V
end local 11 135: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
136: iload 10
iload 9
if_icmplt 131
end local 10 end local 9 137: goto 17
138: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 17
139: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log end"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
end local 8 end local 7 140: goto 148
StackMap locals: org.h2.store.PageLog int org.h2.store.PageInputStream org.h2.store.DataReader int org.h2.store.Data int
StackMap stack: org.h2.message.DbException
141: astore 7
start local 7 142: aload 7
invokevirtual org.h2.message.DbException.getErrorCode:()I
ldc 90030
if_icmpne 145
143: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log recovery stopped"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
144: goto 148
145: StackMap locals: org.h2.message.DbException
StackMap stack:
aload 7
athrow
end local 7 146: StackMap locals: org.h2.store.PageLog int org.h2.store.PageInputStream org.h2.store.DataReader int org.h2.store.Data int
StackMap stack: java.io.IOException
pop
147: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log recovery completed"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
148: StackMap locals:
StackMap stack:
aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
149: iload 1
iconst_2
if_icmpne 151
150: aload 0
aconst_null
putfield org.h2.store.PageLog.usedLogPages:Ljava/util/BitSet;
151: StackMap locals:
StackMap stack:
iload 6
ireturn
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 152 0 this Lorg/h2/store/PageLog;
0 152 1 stage I
6 9 2 in Lorg/h2/store/PageInputStream;
12 152 2 pageIn Lorg/h2/store/PageInputStream;
13 152 3 in Lorg/h2/store/DataReader;
14 152 4 logId I
15 152 5 data Lorg/h2/store/Data;
16 152 6 isEmpty Z
17 140 7 pos I
18 140 8 x I
24 48 9 pageId I
25 48 10 size I
37 38 11 e Ljava/lang/ArrayIndexOutOfBoundsException;
51 68 9 sessionId I
52 68 10 tableId I
53 68 11 row Lorg/h2/result/Row;
71 85 9 sessionId I
72 85 10 tableId I
73 85 11 key J
88 99 9 sessionId I
89 99 10 tableId I
102 110 9 sessionId I
103 110 10 transaction Ljava/lang/String;
109 110 11 page I
113 115 9 sessionId I
118 122 9 sessionId I
129 137 9 count I
130 137 10 i I
132 135 11 pageId I
142 146 7 e Lorg/h2/message/DbException;
Exception table:
from to target type
32 35 36 Class java.lang.ArrayIndexOutOfBoundsException
16 140 141 Class org.h2.message.DbException
16 140 146 Class java.io.IOException
MethodParameters:
Name Flags
stage
private void setPrepareCommit(int, int, java.lang.String);
descriptor: (IILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual org.h2.store.PageLog.getOrAddSessionState:(I)Lorg/h2/store/SessionState;
astore 4
start local 4 1: aload 3
ifnonnull 4
2: aconst_null
astore 5
start local 5 3: goto 7
end local 5 4: StackMap locals: org.h2.store.SessionState
StackMap stack:
new org.h2.store.PageStoreInDoubtTransaction
dup
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 1
iload 2
5: aload 3
6: invokespecial org.h2.store.PageStoreInDoubtTransaction.<init>:(Lorg/h2/store/PageStore;IILjava/lang/String;)V
astore 5
start local 5 7: StackMap locals: org.h2.store.PageStoreInDoubtTransaction
StackMap stack:
aload 4
aload 5
putfield org.h2.store.SessionState.inDoubtTransaction:Lorg/h2/store/PageStoreInDoubtTransaction;
8: return
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 9 0 this Lorg/h2/store/PageLog;
0 9 1 sessionId I
0 9 2 pageId I
0 9 3 transaction Ljava/lang/String;
1 9 4 state Lorg/h2/store/SessionState;
3 4 5 doubt Lorg/h2/store/PageStoreInDoubtTransaction;
7 9 5 doubt Lorg/h2/store/PageStoreInDoubtTransaction;
MethodParameters:
Name Flags
sessionId
pageId
transaction
public static org.h2.result.Row readRow(org.h2.result.RowFactory, org.h2.store.DataReader, org.h2.store.Data);
descriptor: (Lorg/h2/result/RowFactory;Lorg/h2/store/DataReader;Lorg/h2/store/Data;)Lorg/h2/result/Row;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.h2.store.DataReader.readVarLong:()J
lstore 3
start local 3 1: aload 1
invokevirtual org.h2.store.DataReader.readVarInt:()I
istore 5
start local 5 2: aload 2
invokevirtual org.h2.store.Data.reset:()V
3: aload 2
iload 5
invokevirtual org.h2.store.Data.checkCapacity:(I)V
4: aload 1
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
iload 5
invokevirtual org.h2.store.DataReader.readFully:([BI)V
5: aload 2
invokevirtual org.h2.store.Data.readVarInt:()I
istore 6
start local 6 6: iload 6
anewarray org.h2.value.Value
astore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 11
9: StackMap locals: org.h2.result.RowFactory org.h2.store.DataReader org.h2.store.Data long int int org.h2.value.Value[] int
StackMap stack:
aload 7
iload 8
aload 2
invokevirtual org.h2.store.Data.readValue:()Lorg/h2/value/Value;
aastore
10: iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
iload 6
if_icmplt 9
end local 8 12: aload 0
aload 7
iconst_m1
invokevirtual org.h2.result.RowFactory.createRow:([Lorg/h2/value/Value;I)Lorg/h2/result/Row;
astore 8
start local 8 13: aload 8
lload 3
invokeinterface org.h2.result.Row.setKey:(J)V
14: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 rowFactory Lorg/h2/result/RowFactory;
0 15 1 in Lorg/h2/store/DataReader;
0 15 2 data Lorg/h2/store/Data;
1 15 3 key J
2 15 5 len I
6 15 6 columnCount I
7 15 7 values [Lorg/h2/value/Value;
8 12 8 i I
13 15 8 row Lorg/h2/result/Row;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
rowFactory
in
data
boolean getUndo(int);
descriptor: (I)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.get:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/PageLog;
0 1 1 pageId I
MethodParameters:
Name Flags
pageId
void addUndo(int, org.h2.store.Data);
descriptor: (ILorg/h2/store/Data;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.get:(I)Z
ifne 1
aload 0
getfield org.h2.store.PageLog.freeing:Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 4
3: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log undo "
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.message.Trace.debug:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 2
ifnonnull 6
5: ldc "Undo entry not written"
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.set:(I)V
7: aload 0
getfield org.h2.store.PageLog.undoAll:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.set:(I)V
8: aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 3
start local 3 9: aload 3
iconst_1
invokevirtual org.h2.store.Data.writeByte:(B)V
10: aload 3
iload 1
invokevirtual org.h2.store.Data.writeVarInt:(I)V
11: aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
baload
ifne 14
12: aload 3
iconst_1
invokevirtual org.h2.store.Data.writeVarInt:(I)V
13: goto 26
14: StackMap locals: org.h2.store.Data
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
istore 4
start local 4 15: aload 0
getfield org.h2.store.PageLog.compress:Lorg/h2/compress/CompressLZF;
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
16: iload 4
aload 0
getfield org.h2.store.PageLog.compressBuffer:[B
iconst_0
17: invokevirtual org.h2.compress.CompressLZF.compress:([BI[BI)I
istore 5
start local 5 18: iload 5
iload 4
if_icmpge 23
19: aload 3
iload 5
invokevirtual org.h2.store.Data.writeVarInt:(I)V
20: aload 3
iload 5
invokevirtual org.h2.store.Data.checkCapacity:(I)V
21: aload 3
aload 0
getfield org.h2.store.PageLog.compressBuffer:[B
iconst_0
iload 5
invokevirtual org.h2.store.Data.write:([BII)V
22: goto 26
23: StackMap locals: int int
StackMap stack:
aload 3
iconst_0
invokevirtual org.h2.store.Data.writeVarInt:(I)V
24: aload 3
iload 4
invokevirtual org.h2.store.Data.checkCapacity:(I)V
25: aload 3
aload 2
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
iload 4
invokevirtual org.h2.store.Data.write:([BII)V
end local 5 end local 4 26: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/h2/store/PageLog;
0 28 1 pageId I
0 28 2 page Lorg/h2/store/Data;
9 28 3 buffer Lorg/h2/store/Data;
15 26 4 pageSize I
18 26 5 size I
MethodParameters:
Name Flags
pageId
page
private void freeLogPages(org.h2.util.IntArray);
descriptor: (Lorg/h2/util/IntArray;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 4
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log frees "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iconst_0
invokevirtual org.h2.util.IntArray.get:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ".."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 1
aload 1
invokevirtual org.h2.util.IntArray.size:()I
iconst_1
isub
invokevirtual org.h2.util.IntArray.get:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 2
start local 2 5: aload 2
bipush 9
invokevirtual org.h2.store.Data.writeByte:(B)V
6: aload 1
invokevirtual org.h2.util.IntArray.size:()I
istore 3
start local 3 7: aload 2
iload 3
invokevirtual org.h2.store.Data.writeVarInt:(I)V
8: iconst_0
istore 4
start local 4 9: goto 12
10: StackMap locals: org.h2.store.Data int int
StackMap stack:
aload 2
aload 1
iload 4
invokevirtual org.h2.util.IntArray.get:(I)I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 3
if_icmplt 10
end local 4 13: aload 0
aload 2
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/h2/store/PageLog;
0 15 1 pages Lorg/h2/util/IntArray;
5 15 2 buffer Lorg/h2/store/Data;
7 15 3 size I
9 13 4 i I
MethodParameters:
Name Flags
pages
private void write(org.h2.store.Data);
descriptor: (Lorg/h2/store/Data;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
aload 1
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 1
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.PageOutputStream.write:([BII)V
1: aload 1
invokevirtual org.h2.store.Data.reset:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/store/PageLog;
0 3 1 data Lorg/h2/store/Data;
MethodParameters:
Name Flags
data
void commit(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log commit s: "
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.message.Trace.debug:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getPageStore:()Lorg/h2/store/PageStore;
ifnonnull 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 2
start local 2 5: aload 2
iconst_2
invokevirtual org.h2.store.Data.writeByte:(B)V
6: aload 2
iload 1
invokevirtual org.h2.store.Data.writeVarInt:(I)V
7: aload 0
aload 2
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
8: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getFlushOnEachCommit:()Z
ifeq 10
9: aload 0
invokevirtual org.h2.store.PageLog.flush:()V
10: StackMap locals: org.h2.store.Data
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/store/PageLog;
0 11 1 sessionId I
5 11 2 buffer Lorg/h2/store/Data;
MethodParameters:
Name Flags
sessionId
void prepareCommit(org.h2.engine.Session, java.lang.String);
descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log prepare commit s: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.h2.engine.Session.getId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getPageStore:()Lorg/h2/store/PageStore;
ifnonnull 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
istore 3
start local 3 5: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.flush:()V
6: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.fillPage:()V
7: aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 4
start local 4 8: aload 4
iconst_3
invokevirtual org.h2.store.Data.writeByte:(B)V
9: aload 4
aload 1
invokevirtual org.h2.engine.Session.getId:()I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
10: aload 4
aload 2
invokevirtual org.h2.store.Data.writeString:(Ljava/lang/String;)V
11: aload 4
invokevirtual org.h2.store.Data.length:()I
iload 3
invokestatic org.h2.store.PageStreamData.getCapacity:(I)I
if_icmplt 14
12: ldc "transaction name (too long)"
aload 2
13: invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
athrow
14: StackMap locals: int org.h2.store.Data
StackMap stack:
aload 0
aload 4
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
15: aload 0
invokevirtual org.h2.store.PageLog.flushOut:()V
16: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.fillPage:()V
17: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getFlushOnEachCommit:()Z
ifeq 19
18: aload 0
invokevirtual org.h2.store.PageLog.flush:()V
19: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/h2/store/PageLog;
0 20 1 session Lorg/h2/engine/Session;
0 20 2 transaction Ljava/lang/String;
5 20 3 pageSize I
8 20 4 buffer Lorg/h2/store/Data;
MethodParameters:
Name Flags
session
transaction
void logAddOrRemoveRow(org.h2.engine.Session, int, org.h2.result.Row, boolean);
descriptor: (Lorg/h2/engine/Session;ILorg/h2/result/Row;Z)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 6
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
ifeq 2
ldc "+"
goto 3
StackMap locals: org.h2.store.PageLog org.h2.engine.Session int org.h2.result.Row int
StackMap stack: org.h2.message.Trace java.lang.StringBuilder
2: ldc "-"
StackMap locals: org.h2.store.PageLog org.h2.engine.Session int org.h2.result.Row int
StackMap stack: org.h2.message.Trace java.lang.StringBuilder java.lang.String
3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " s: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.h2.engine.Session.getId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " row: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.h2.store.PageLog.logSectionId:I
aload 0
getfield org.h2.store.PageLog.logPos:I
invokevirtual org.h2.engine.Session.addLogPos:(II)V
7: aload 0
dup
getfield org.h2.store.PageLog.logPos:I
iconst_1
iadd
putfield org.h2.store.PageLog.logPos:I
8: aload 0
getfield org.h2.store.PageLog.dataBuffer:Lorg/h2/store/Data;
astore 5
start local 5 9: aload 5
invokevirtual org.h2.store.Data.reset:()V
10: aload 3
invokeinterface org.h2.result.Row.getColumnCount:()I
istore 6
start local 6 11: aload 5
iload 6
invokevirtual org.h2.store.Data.writeVarInt:(I)V
12: aload 5
aload 3
aload 5
invokeinterface org.h2.result.Row.getByteCount:(Lorg/h2/store/Data;)I
invokevirtual org.h2.store.Data.checkCapacity:(I)V
13: aload 1
invokevirtual org.h2.engine.Session.isRedoLogBinaryEnabled:()Z
ifeq 20
14: iconst_0
istore 7
start local 7 15: goto 18
16: StackMap locals: org.h2.store.Data int int
StackMap stack:
aload 5
aload 3
iload 7
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
invokevirtual org.h2.store.Data.writeValue:(Lorg/h2/value/Value;)V
17: iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
iload 6
if_icmplt 16
end local 7 19: goto 29
20: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 21: goto 28
22: StackMap locals: int
StackMap stack:
aload 3
iload 7
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
astore 8
start local 8 23: aload 8
invokevirtual org.h2.value.Value.getValueType:()I
bipush 12
if_icmpne 26
24: aload 5
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
invokevirtual org.h2.store.Data.writeValue:(Lorg/h2/value/Value;)V
25: goto 27
26: StackMap locals: org.h2.value.Value
StackMap stack:
aload 5
aload 8
invokevirtual org.h2.store.Data.writeValue:(Lorg/h2/value/Value;)V
end local 8 27: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
28: iload 7
iload 6
if_icmplt 22
end local 7 29: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 7
start local 7 30: aload 7
iload 4
ifeq 31
iconst_5
goto 32
StackMap locals: org.h2.store.PageLog org.h2.engine.Session int org.h2.result.Row int org.h2.store.Data int org.h2.store.Data
StackMap stack: org.h2.store.Data
31: bipush 6
StackMap locals: org.h2.store.PageLog org.h2.engine.Session int org.h2.result.Row int org.h2.store.Data int org.h2.store.Data
StackMap stack: org.h2.store.Data int
32: i2b
invokevirtual org.h2.store.Data.writeByte:(B)V
33: aload 7
aload 1
invokevirtual org.h2.engine.Session.getId:()I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
34: aload 7
iload 2
invokevirtual org.h2.store.Data.writeVarInt:(I)V
35: aload 7
aload 3
invokeinterface org.h2.result.Row.getKey:()J
invokevirtual org.h2.store.Data.writeVarLong:(J)V
36: iload 4
ifeq 40
37: aload 7
aload 5
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
38: aload 7
aload 5
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.Data.checkCapacity:(I)V
39: aload 7
aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 5
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.Data.write:([BII)V
40: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
41: return
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 42 0 this Lorg/h2/store/PageLog;
0 42 1 session Lorg/h2/engine/Session;
0 42 2 tableId I
0 42 3 row Lorg/h2/result/Row;
0 42 4 add Z
9 42 5 data Lorg/h2/store/Data;
11 42 6 columns I
15 19 7 i I
21 29 7 i I
23 27 8 v Lorg/h2/value/Value;
30 42 7 buffer Lorg/h2/store/Data;
MethodParameters:
Name Flags
session
tableId
row
add
void logTruncate(org.h2.engine.Session, int);
descriptor: (Lorg/h2/engine/Session;I)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log truncate s: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.h2.engine.Session.getId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " table: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.h2.store.PageLog.logSectionId:I
aload 0
getfield org.h2.store.PageLog.logPos:I
invokevirtual org.h2.engine.Session.addLogPos:(II)V
3: aload 0
dup
getfield org.h2.store.PageLog.logPos:I
iconst_1
iadd
putfield org.h2.store.PageLog.logPos:I
4: aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 3
start local 3 5: aload 3
bipush 7
invokevirtual org.h2.store.Data.writeByte:(B)V
6: aload 3
aload 1
invokevirtual org.h2.engine.Session.getId:()I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
7: aload 3
iload 2
invokevirtual org.h2.store.Data.writeVarInt:(I)V
8: aload 0
aload 3
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/store/PageLog;
0 10 1 session Lorg/h2/engine/Session;
0 10 2 tableId I
5 10 3 buffer Lorg/h2/store/Data;
MethodParameters:
Name Flags
session
tableId
void flush();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
ifnull 2
1: aload 0
invokevirtual org.h2.store.PageLog.flushOut:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/store/PageLog;
void checkpoint();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.store.PageLog.getBuffer:()Lorg/h2/store/Data;
astore 1
start local 1 1: aload 1
bipush 8
invokevirtual org.h2.store.Data.writeByte:(B)V
2: aload 0
aload 1
invokevirtual org.h2.store.PageLog.write:(Lorg/h2/store/Data;)V
3: aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield org.h2.store.PageLog.undo:Ljava/util/BitSet;
4: aload 0
dup
getfield org.h2.store.PageLog.logSectionId:I
iconst_1
iadd
putfield org.h2.store.PageLog.logSectionId:I
5: aload 0
iconst_0
putfield org.h2.store.PageLog.logPos:I
6: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.flush:()V
7: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.fillPage:()V
8: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.getCurrentDataPageId:()I
istore 2
start local 2 9: aload 0
getfield org.h2.store.PageLog.logSectionPageMap:Lorg/h2/util/IntIntHashMap;
aload 0
getfield org.h2.store.PageLog.logSectionId:I
iload 2
invokevirtual org.h2.util.IntIntHashMap.put:(II)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/store/PageLog;
1 11 1 buffer Lorg/h2/store/Data;
9 11 2 currentDataPage I
int getLogSectionId();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.logSectionId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/PageLog;
int getLogFirstSectionId();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.firstSectionId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/PageLog;
int getLogPos();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.logPos:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/PageLog;
void removeUntil(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.logSectionPageMap:Lorg/h2/util/IntIntHashMap;
iload 1
invokevirtual org.h2.util.IntIntHashMap.get:(I)I
istore 2
start local 2 3: aload 0
aload 0
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
iload 2
invokevirtual org.h2.store.PageLog.removeUntil:(II)I
putfield org.h2.store.PageLog.firstTrunkPage:I
4: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
aload 0
getfield org.h2.store.PageLog.logKey:I
aload 0
getfield org.h2.store.PageLog.firstTrunkPage:I
iload 2
invokevirtual org.h2.store.PageStore.setLogFirstPage:(III)V
5: goto 9
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.store.PageLog.firstSectionId:I
ifle 8
7: aload 0
getfield org.h2.store.PageLog.logSectionPageMap:Lorg/h2/util/IntIntHashMap;
aload 0
getfield org.h2.store.PageLog.firstSectionId:I
invokevirtual org.h2.util.IntIntHashMap.remove:(I)V
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.h2.store.PageLog.firstSectionId:I
iconst_1
iadd
putfield org.h2.store.PageLog.firstSectionId:I
9: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.firstSectionId:I
iload 1
if_icmplt 6
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/store/PageLog;
0 11 1 firstUncommittedSection I
3 11 2 firstDataPageToKeep I
MethodParameters:
Name Flags
firstUncommittedSection
private int removeUntil(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
new java.lang.StringBuilder
dup
ldc "log.removeUntil "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
1: iload 1
istore 3
start local 3 2: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 1
invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
astore 4
start local 4 3: aload 4
checkcast org.h2.store.PageStreamTrunk
astore 5
start local 5 4: aload 5
ifnonnull 7
5: new java.lang.StringBuilder
dup
ldc "log.removeUntil not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " last "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
7: StackMap locals: org.h2.store.Page org.h2.store.PageStreamTrunk
StackMap stack:
aload 0
aload 5
invokevirtual org.h2.store.PageStreamTrunk.getLogKey:()I
putfield org.h2.store.PageLog.logKey:I
8: aload 5
invokevirtual org.h2.store.PageStreamTrunk.getPos:()I
istore 3
9: aload 5
iload 2
invokevirtual org.h2.store.PageStreamTrunk.contains:(I)Z
ifeq 11
10: iload 3
ireturn
11: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.h2.store.PageStreamTrunk.getNextTrunk:()I
istore 1
12: new org.h2.util.IntArray
dup
invokespecial org.h2.util.IntArray.<init>:()V
astore 6
start local 6 13: aload 6
aload 5
invokevirtual org.h2.store.PageStreamTrunk.getPos:()I
invokevirtual org.h2.util.IntArray.add:(I)V
14: iconst_0
istore 7
start local 7 15: StackMap locals: org.h2.util.IntArray int
StackMap stack:
aload 5
iload 7
invokevirtual org.h2.store.PageStreamTrunk.getPageData:(I)I
istore 8
start local 8 16: iload 8
iconst_m1
if_icmpne 18
17: goto 20
18: StackMap locals: int
StackMap stack:
aload 6
iload 8
invokevirtual org.h2.util.IntArray.add:(I)V
end local 8 19: iinc 7 1
goto 15
end local 7 20: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual org.h2.store.PageLog.freeLogPages:(Lorg/h2/util/IntArray;)V
21: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
aload 5
invokevirtual org.h2.store.PageOutputStream.free:(Lorg/h2/store/PageStreamTrunk;)V
end local 6 end local 5 end local 4 22: goto 2
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/h2/store/PageLog;
0 23 1 trunkPage I
0 23 2 firstDataPageToKeep I
2 23 3 last I
3 22 4 p Lorg/h2/store/Page;
4 22 5 t Lorg/h2/store/PageStreamTrunk;
13 22 6 list Lorg/h2/util/IntArray;
15 20 7 i I
16 19 8 next I
MethodParameters:
Name Flags
trunkPage
firstDataPageToKeep
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.trace:Lorg/h2/message/Trace;
ldc "log close"
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
1: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
ifnull 4
2: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.close:()V
3: aload 0
aconst_null
putfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.h2.store.PageLog.writeBuffer:Lorg/h2/store/Data;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/store/PageLog;
private boolean isSessionCommitted(int, int, int);
descriptor: (III)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.store.PageLog.sessionStates:Ljava/util/HashMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.store.SessionState
astore 4
start local 4 1: aload 4
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: org.h2.store.SessionState
StackMap stack:
aload 4
iload 2
iload 3
invokevirtual org.h2.store.SessionState.isCommitted:(II)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/store/PageLog;
0 4 1 sessionId I
0 4 2 logId I
0 4 3 pos I
1 4 4 state Lorg/h2/store/SessionState;
MethodParameters:
Name Flags
sessionId
logId
pos
private void setLastCommitForSession(int, int, int);
descriptor: (III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual org.h2.store.PageLog.getOrAddSessionState:(I)Lorg/h2/store/SessionState;
astore 4
start local 4 1: aload 4
iload 2
putfield org.h2.store.SessionState.lastCommitLog:I
2: aload 4
iload 3
putfield org.h2.store.SessionState.lastCommitPos:I
3: aload 4
aconst_null
putfield org.h2.store.SessionState.inDoubtTransaction:Lorg/h2/store/PageStoreInDoubtTransaction;
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/store/PageLog;
0 5 1 sessionId I
0 5 2 logId I
0 5 3 pos I
1 5 4 state Lorg/h2/store/SessionState;
MethodParameters:
Name Flags
sessionId
logId
pos
private org.h2.store.SessionState getOrAddSessionState(int);
descriptor: (I)Lorg/h2/store/SessionState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 2
start local 2 1: aload 0
getfield org.h2.store.PageLog.sessionStates:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.store.SessionState
astore 3
start local 3 2: aload 3
ifnonnull 6
3: new org.h2.store.SessionState
dup
invokespecial org.h2.store.SessionState.<init>:()V
astore 3
4: aload 0
getfield org.h2.store.PageLog.sessionStates:Ljava/util/HashMap;
aload 2
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 3
iload 1
putfield org.h2.store.SessionState.sessionId:I
6: StackMap locals: java.lang.Integer org.h2.store.SessionState
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/store/PageLog;
0 7 1 sessionId I
1 7 2 key Ljava/lang/Integer;
2 7 3 state Lorg/h2/store/SessionState;
MethodParameters:
Name Flags
sessionId
long getSize();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
ifnonnull 1
lconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.getSize:()J
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/store/PageLog;
java.util.ArrayList<org.h2.store.InDoubtTransaction> getInDoubtTransactions();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=1
start local 0 0: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 1
start local 1 1: aload 0
getfield org.h2.store.PageLog.sessionStates:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.h2.store.PageLog java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.store.SessionState
astore 2
start local 2 3: aload 2
getfield org.h2.store.SessionState.inDoubtTransaction:Lorg/h2/store/PageStoreInDoubtTransaction;
astore 4
start local 4 4: aload 4
ifnull 6
5: aload 1
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/store/PageLog;
1 8 1 list Ljava/util/ArrayList<Lorg/h2/store/InDoubtTransaction;>;
3 6 2 state Lorg/h2/store/SessionState;
4 6 4 in Lorg/h2/store/PageStoreInDoubtTransaction;
Signature: ()Ljava/util/ArrayList<Lorg/h2/store/InDoubtTransaction;>;
void setInDoubtTransactionState(int, int, boolean);
descriptor: (IIZ)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
iload 2
invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
checkcast org.h2.store.PageStreamData
astore 4
start local 4 1: aload 4
invokevirtual org.h2.store.PageStreamData.initWrite:()V
2: aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
astore 5
start local 5 3: aload 5
iload 3
ifeq 4
iconst_2
goto 5
StackMap locals: org.h2.store.PageLog int int int org.h2.store.PageStreamData org.h2.store.Data
StackMap stack: org.h2.store.Data
4: iconst_4
StackMap locals: org.h2.store.PageLog int int int org.h2.store.PageStreamData org.h2.store.Data
StackMap stack: org.h2.store.Data int
5: i2b
invokevirtual org.h2.store.Data.writeByte:(B)V
6: aload 5
iload 1
invokevirtual org.h2.store.Data.writeVarInt:(I)V
7: aload 5
invokevirtual org.h2.store.Data.getBytes:()[B
astore 6
start local 6 8: aload 4
aload 6
iconst_0
aload 6
arraylength
invokevirtual org.h2.store.PageStreamData.write:([BII)I
pop
9: aload 4
invokevirtual org.h2.store.PageStreamData.getRemaining:()I
newarray 8
astore 6
10: aload 4
aload 6
iconst_0
aload 6
arraylength
invokevirtual org.h2.store.PageStreamData.write:([BII)I
pop
11: aload 4
invokevirtual org.h2.store.PageStreamData.write:()V
12: return
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 13 0 this Lorg/h2/store/PageLog;
0 13 1 sessionId I
0 13 2 pageId I
0 13 3 commit Z
1 13 4 d Lorg/h2/store/PageStreamData;
3 13 5 buff Lorg/h2/store/Data;
8 13 6 bytes [B
MethodParameters:
Name Flags
sessionId
pageId
commit
void recoverEnd();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.h2.store.PageLog.sessionStates:Ljava/util/HashMap;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/store/PageLog;
private void flushOut();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.flush:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/store/PageLog;
private org.h2.store.Data getBuffer();
descriptor: ()Lorg/h2/store/Data;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.writeBuffer:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
ifne 2
1: aload 0
getfield org.h2.store.PageLog.writeBuffer:Lorg/h2/store/Data;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.PageLog.store:Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/store/PageLog;
int getMinPageId();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.h2.store.PageLog.pageOut:Lorg/h2/store/PageOutputStream;
invokevirtual org.h2.store.PageOutputStream.getMinPageId:()I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/store/PageLog;
}
SourceFile: "PageLog.java"
InnerClasses:
Iterator = org.h2.store.PageStreamTrunk$Iterator of org.h2.store.PageStreamTrunk