public class org.h2.index.PageDataLeaf extends org.h2.index.PageData
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.index.PageDataLeaf
super_class: org.h2.index.PageData
{
private final boolean optimizeUpdate;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] offsets;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private org.h2.result.Row[] rows;
descriptor: [Lorg/h2/result/Row;
flags: (0x0002) ACC_PRIVATE
private java.lang.ref.SoftReference<org.h2.result.Row> rowRef;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/SoftReference<Lorg/h2/result/Row;>;
private int firstOverflowPageId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int start;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int overflowRowSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int columnCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int memoryData;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean writtenData;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/h2/index/PageDataLeaf;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.h2.index.PageDataLeaf.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(org.h2.index.PageDataIndex, int, org.h2.store.Data);
descriptor: (Lorg/h2/index/PageDataIndex;ILorg/h2/store/Data;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokespecial org.h2.index.PageData.<init>:(Lorg/h2/index/PageDataIndex;ILorg/h2/store/Data;)V
1: aload 0
aload 1
invokevirtual org.h2.index.PageDataIndex.getDatabase:()Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
getfield org.h2.engine.DbSettings.optimizeUpdate:Z
putfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/index/PageDataLeaf;
0 3 1 index Lorg/h2/index/PageDataIndex;
0 3 2 pageId I
0 3 3 data Lorg/h2/store/Data;
MethodParameters:
Name Flags
index
pageId
data
static org.h2.index.PageDataLeaf create(org.h2.index.PageDataIndex, int, int);
descriptor: (Lorg/h2/index/PageDataIndex;II)Lorg/h2/index/PageDataLeaf;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.h2.index.PageDataLeaf
dup
aload 0
iload 1
aload 0
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
1: invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
2: invokespecial org.h2.index.PageDataLeaf.<init>:(Lorg/h2/index/PageDataIndex;ILorg/h2/store/Data;)V
astore 3
start local 3 3: aload 0
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 3
aconst_null
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
4: aload 3
getstatic org.h2.result.Row.EMPTY_ARRAY:[Lorg/h2/result/Row;
putfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
5: aload 3
iload 2
putfield org.h2.index.PageDataLeaf.parentPageId:I
6: aload 3
aload 0
invokevirtual org.h2.index.PageDataIndex.getTable:()Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.getColumns:()[Lorg/h2/table/Column;
arraylength
putfield org.h2.index.PageDataLeaf.columnCount:I
7: aload 3
invokevirtual org.h2.index.PageDataLeaf.writeHead:()V
8: aload 3
aload 3
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
putfield org.h2.index.PageDataLeaf.start:I
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 index Lorg/h2/index/PageDataIndex;
0 10 1 pageId I
0 10 2 parentPageId I
3 10 3 p Lorg/h2/index/PageDataLeaf;
MethodParameters:
Name Flags
index
pageId
parentPageId
public static org.h2.store.Page read(org.h2.index.PageDataIndex, org.h2.store.Data, int);
descriptor: (Lorg/h2/index/PageDataIndex;Lorg/h2/store/Data;I)Lorg/h2/store/Page;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.h2.index.PageDataLeaf
dup
aload 0
iload 2
aload 1
invokespecial org.h2.index.PageDataLeaf.<init>:(Lorg/h2/index/PageDataIndex;ILorg/h2/store/Data;)V
astore 3
start local 3 1: aload 3
invokevirtual org.h2.index.PageDataLeaf.read:()V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 index Lorg/h2/index/PageDataIndex;
0 3 1 data Lorg/h2/store/Data;
0 3 2 pageId I
1 3 3 p Lorg/h2/index/PageDataLeaf;
MethodParameters:
Name Flags
index
data
pageId
private void read();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.reset:()V
1: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readByte:()B
istore 1
start local 1 2: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readShortInt:()S
pop
3: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readInt:()I
putfield org.h2.index.PageDataLeaf.parentPageId:I
4: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readVarInt:()I
istore 2
start local 2 5: iload 2
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getId:()I
if_icmpeq 11
6: ldc 90030
7: new java.lang.StringBuilder
dup
ldc "page:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " expected table:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " got:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " type:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
11: StackMap locals: int int
StackMap stack:
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readVarInt:()I
putfield org.h2.index.PageDataLeaf.columnCount:I
12: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readShortInt:()S
putfield org.h2.index.PageDataLeaf.entryCount:I
13: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
newarray 10
putfield org.h2.index.PageDataLeaf.offsets:[I
14: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
newarray 11
putfield org.h2.index.PageDataLeaf.keys:[J
15: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
anewarray org.h2.result.Row
putfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
16: iload 1
iconst_1
if_icmpne 20
17: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
if_icmpeq 19
18: new java.lang.StringBuilder
dup
ldc "entries: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
19: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readInt:()I
putfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
20: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 21: goto 25
22: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 3
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readVarLong:()J
lastore
23: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 3
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.readShortInt:()S
iastore
24: iinc 3 1
StackMap locals:
StackMap stack:
25: iload 3
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
if_icmplt 22
end local 3 26: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
putfield org.h2.index.PageDataLeaf.start:I
27: aload 0
iconst_1
putfield org.h2.index.PageDataLeaf.written:Z
28: aload 0
iconst_1
putfield org.h2.index.PageDataLeaf.writtenData:Z
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/h2/index/PageDataLeaf;
2 30 1 type I
5 30 2 tableId I
21 26 3 i I
private int getRowLength(org.h2.result.Row);
descriptor: (Lorg/h2/result/Row;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, 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 5
3: StackMap locals: int int
StackMap stack:
iload 2
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 1
iload 3
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
invokevirtual org.h2.store.Data.getValueLen:(Lorg/h2/value/Value;)I
iadd
istore 2
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.h2.index.PageDataLeaf.columnCount:I
if_icmplt 3
end local 3 6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/index/PageDataLeaf;
0 7 1 row Lorg/h2/result/Row;
1 7 2 size I
2 6 3 i I
MethodParameters:
Name Flags
row
private int findInsertionPoint(long);
descriptor: (J)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual org.h2.index.PageDataLeaf.find:(J)I
istore 3
start local 3 1: iload 3
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
if_icmpge 3
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 3
laload
lload 1
lcmp
ifne 3
2: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
lload 1
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokevirtual org.h2.index.PageDataIndex.getDuplicateKeyException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
3: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/index/PageDataLeaf;
0 4 1 key J
1 4 3 x I
MethodParameters:
Name Flags
key
int addRowTry(org.h2.result.Row);
descriptor: (Lorg/h2/result/Row;)I
flags: (0x0000)
Code:
stack=8, locals=18, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
1: aload 0
aload 1
invokevirtual org.h2.index.PageDataLeaf.getRowLength:(Lorg/h2/result/Row;)I
istore 2
start local 2 2: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
istore 3
start local 3 3: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ifne 4
iload 3
goto 5
StackMap locals: int int
StackMap stack:
4: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
iaload
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: iconst_2
aload 1
invokeinterface org.h2.result.Row.getKey:()J
invokestatic org.h2.store.Data.getVarLongLen:(J)I
iadd
istore 5
start local 5 7: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ifle 23
iload 4
iload 2
isub
aload 0
getfield org.h2.index.PageDataLeaf.start:I
iload 5
iadd
if_icmpge 23
8: aload 0
aload 1
invokeinterface org.h2.result.Row.getKey:()J
invokevirtual org.h2.index.PageDataLeaf.findInsertionPoint:(J)I
istore 6
start local 6 9: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
if_icmple 22
10: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_5
if_icmpge 12
11: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_2
idiv
ireturn
12: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.isSortedInsertMode:()Z
ifeq 17
13: iload 6
iconst_2
if_icmpge 14
iconst_1
goto 16
StackMap locals:
StackMap stack:
14: iload 6
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
if_icmple 15
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
goto 16
StackMap locals:
StackMap stack:
15: iload 6
StackMap locals:
StackMap stack: int
16: ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_3
idiv
istore 7
start local 7 18: iload 6
iload 7
if_icmpge 19
iload 7
goto 21
StackMap locals: int
StackMap stack:
19: iload 6
iconst_2
iload 7
imul
if_icmplt 20
iconst_2
iload 7
imul
goto 21
StackMap locals:
StackMap stack:
20: iload 6
StackMap locals:
StackMap stack: int
21: ireturn
end local 7 22: StackMap locals:
StackMap stack:
iload 6
ireturn
end local 6 23: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
24: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ifne 27
25: iconst_0
istore 6
start local 6 26: goto 30
end local 6 27: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
ifne 29
28: aload 0
invokevirtual org.h2.index.PageDataLeaf.readAllRows:()V
29: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.h2.result.Row.getKey:()J
invokevirtual org.h2.index.PageDataLeaf.findInsertionPoint:(J)I
istore 6
start local 6 30: StackMap locals: int
StackMap stack:
aload 0
iconst_0
putfield org.h2.index.PageDataLeaf.written:Z
31: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getChangeCount:()J
putfield org.h2.index.PageDataLeaf.changeCount:J
32: iload 6
ifne 33
iload 3
goto 34
StackMap locals:
StackMap stack:
33: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 6
iconst_1
isub
iaload
StackMap locals:
StackMap stack: int
34: istore 4
35: iload 4
iload 2
isub
istore 7
start local 7 36: aload 0
dup
getfield org.h2.index.PageDataLeaf.start:I
iload 5
iadd
putfield org.h2.index.PageDataLeaf.start:I
37: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iload 6
iload 7
invokestatic org.h2.index.PageDataLeaf.insert:([IIII)[I
putfield org.h2.index.PageDataLeaf.offsets:[I
38: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 6
iconst_1
iadd
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
iadd
iload 2
ineg
invokestatic org.h2.index.PageDataLeaf.add:([IIII)V
39: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iload 6
aload 1
invokeinterface org.h2.result.Row.getKey:()J
invokestatic org.h2.index.PageDataLeaf.insert:([JIIJ)[J
putfield org.h2.index.PageDataLeaf.keys:[J
40: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iload 6
aload 1
invokestatic org.h2.index.PageDataLeaf.insert:([Ljava/lang/Object;IILjava/lang/Object;)[Ljava/lang/Object;
checkcast org.h2.result.Row[]
putfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
41: aload 0
dup
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
iadd
putfield org.h2.index.PageDataLeaf.entryCount:I
42: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
invokevirtual org.h2.store.PageStore.update:(Lorg/h2/store/Page;)V
43: aload 0
getfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
ifeq 57
44: aload 0
getfield org.h2.index.PageDataLeaf.writtenData:Z
ifeq 57
iload 7
aload 0
getfield org.h2.index.PageDataLeaf.start:I
if_icmplt 57
45: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.getBytes:()[B
astore 8
start local 8 46: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
iaload
iload 2
iadd
istore 9
start local 9 47: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 6
iaload
istore 10
start local 10 48: aload 8
iload 9
aload 8
iload 9
iload 2
isub
49: iload 10
iload 9
isub
iload 2
iadd
50: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
51: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
iload 10
invokevirtual org.h2.store.Data.setPos:(I)V
52: iconst_0
istore 11
start local 11 53: goto 56
54: StackMap locals: org.h2.index.PageDataLeaf org.h2.result.Row int int int int int int byte[] int int int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 1
iload 11
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
invokevirtual org.h2.store.Data.writeValue:(Lorg/h2/value/Value;)V
55: iinc 11 1
StackMap locals:
StackMap stack:
56: iload 11
aload 0
getfield org.h2.index.PageDataLeaf.columnCount:I
if_icmplt 54
end local 11 end local 10 end local 9 end local 8 57: StackMap locals: org.h2.index.PageDataLeaf org.h2.result.Row int int int int int int
StackMap stack:
iload 7
aload 0
getfield org.h2.index.PageDataLeaf.start:I
if_icmpge 96
58: aload 0
iconst_0
putfield org.h2.index.PageDataLeaf.writtenData:Z
59: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
if_icmple 61
60: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
61: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.h2.index.PageDataLeaf.start:I
iconst_4
iadd
putfield org.h2.index.PageDataLeaf.start:I
62: iload 2
iload 3
aload 0
getfield org.h2.index.PageDataLeaf.start:I
isub
isub
istore 8
start local 8 63: aload 0
getfield org.h2.index.PageDataLeaf.start:I
istore 7
64: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 6
iload 7
iastore
65: aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
istore 9
start local 9 66: iload 3
istore 10
start local 10 67: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.allocatePage:()I
istore 11
start local 11 68: aload 0
iload 11
putfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
69: aload 0
iload 3
iload 2
iadd
putfield org.h2.index.PageDataLeaf.overflowRowSize:I
70: aload 0
invokevirtual org.h2.index.PageDataLeaf.writeData:()V
71: aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
iconst_0
aaload
astore 12
start local 12 72: aload 0
new java.lang.ref.SoftReference
dup
aload 12
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
73: aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
iconst_0
aconst_null
aastore
74: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
astore 13
start local 13 75: aload 13
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.Data.checkCapacity:(I)V
76: aload 13
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.Data.write:([BII)V
77: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
invokevirtual org.h2.store.Data.truncate:(I)V
78: StackMap locals: org.h2.index.PageDataLeaf org.h2.result.Row int int int int int int int int int int org.h2.result.Row org.h2.store.Data
StackMap stack:
iload 8
iload 3
bipush 9
isub
if_icmpgt 83
79: bipush 19
istore 14
start local 14 80: iload 8
istore 15
start local 15 81: iconst_0
istore 16
start local 16 82: goto 86
end local 16 end local 15 end local 14 83: StackMap locals:
StackMap stack:
iconst_3
istore 14
start local 14 84: iload 3
bipush 11
isub
istore 15
start local 15 85: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.allocatePage:()I
istore 16
start local 16 86: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
87: iload 11
iload 14
iload 9
iload 16
aload 13
iload 10
iload 15
88: invokestatic org.h2.index.PageDataOverflow.create:(Lorg/h2/store/PageStore;IIIILorg/h2/store/Data;II)Lorg/h2/index/PageDataOverflow;
astore 17
start local 17 89: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 17
invokevirtual org.h2.store.PageStore.update:(Lorg/h2/store/Page;)V
90: iload 10
iload 15
iadd
istore 10
91: iload 8
iload 15
isub
istore 8
92: iload 11
istore 9
93: iload 16
istore 11
end local 17 end local 16 end local 15 end local 14 94: iload 8
95: ifgt 78
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 96: StackMap locals: org.h2.index.PageDataLeaf org.h2.result.Row int int int int int int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
ifnonnull 99
97: aload 0
iconst_1
aload 1
invokevirtual org.h2.index.PageDataLeaf.memoryChange:(ZLorg/h2/result/Row;)V
98: goto 100
99: StackMap locals:
StackMap stack:
aload 0
iconst_1
aconst_null
invokevirtual org.h2.index.PageDataLeaf.memoryChange:(ZLorg/h2/result/Row;)V
100: StackMap locals:
StackMap stack:
iconst_m1
ireturn
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 101 0 this Lorg/h2/index/PageDataLeaf;
0 101 1 row Lorg/h2/result/Row;
2 101 2 rowLength I
3 101 3 pageSize I
6 101 4 last I
7 101 5 keyOffsetPairLen I
9 23 6 x I
18 22 7 third I
26 27 6 x I
30 101 6 x I
36 101 7 offset I
46 57 8 d [B
47 57 9 dataStart I
48 57 10 dataEnd I
53 57 11 j I
63 96 8 remaining I
66 96 9 previous I
67 96 10 dataOffset I
68 96 11 page I
72 96 12 r Lorg/h2/result/Row;
75 96 13 all Lorg/h2/store/Data;
80 83 14 type I
84 94 14 type I
81 83 15 size I
85 94 15 size I
82 83 16 next I
86 94 16 next I
89 94 17 overflow Lorg/h2/index/PageDataOverflow;
MethodParameters:
Name Flags
row
private void removeRow(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
1: aload 0
iconst_0
putfield org.h2.index.PageDataLeaf.written:Z
2: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getChangeCount:()J
putfield org.h2.index.PageDataLeaf.changeCount:J
3: aload 0
getfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
ifne 5
4: aload 0
invokevirtual org.h2.index.PageDataLeaf.readAllRows:()V
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
astore 2
start local 2 6: aload 2
ifnull 8
7: aload 0
iconst_0
aload 2
invokevirtual org.h2.index.PageDataLeaf.memoryChange:(ZLorg/h2/result/Row;)V
8: StackMap locals: org.h2.result.Row
StackMap stack:
aload 0
dup
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
putfield org.h2.index.PageDataLeaf.entryCount:I
9: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ifge 11
10: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
11: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifeq 17
12: aload 0
dup
getfield org.h2.index.PageDataLeaf.start:I
iconst_4
isub
putfield org.h2.index.PageDataLeaf.start:I
13: aload 0
invokevirtual org.h2.index.PageDataLeaf.freeOverflow:()V
14: aload 0
iconst_0
putfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
15: aload 0
iconst_0
putfield org.h2.index.PageDataLeaf.overflowRowSize:I
16: aload 0
aconst_null
putfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
17: StackMap locals:
StackMap stack:
iconst_2
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 1
laload
invokestatic org.h2.store.Data.getVarLongLen:(J)I
iadd
istore 3
start local 3 18: iload 1
ifle 19
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iconst_1
isub
iaload
goto 20
StackMap locals: int
StackMap stack:
19: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
StackMap locals:
StackMap stack: int
20: istore 4
start local 4 21: iload 4
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iaload
isub
istore 5
start local 5 22: aload 0
getfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
ifeq 31
23: aload 0
getfield org.h2.index.PageDataLeaf.writtenData:Z
ifeq 33
24: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.getBytes:()[B
astore 6
start local 6 25: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iaload
istore 7
start local 7 26: aload 6
iload 7
aload 6
iload 7
iload 5
iadd
27: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iaload
iload 7
isub
28: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
29: aload 6
iload 7
iload 7
iload 5
iadd
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
end local 7 end local 6 30: goto 33
31: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iaload
istore 6
start local 6 32: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.getBytes:()[B
iload 6
iload 6
iload 5
iadd
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
end local 6 33: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.h2.index.PageDataLeaf.start:I
iload 3
isub
putfield org.h2.index.PageDataLeaf.start:I
34: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
iadd
iload 1
invokestatic org.h2.index.PageDataLeaf.remove:([III)[I
putfield org.h2.index.PageDataLeaf.offsets:[I
35: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iload 5
invokestatic org.h2.index.PageDataLeaf.add:([IIII)V
36: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
iadd
iload 1
invokestatic org.h2.index.PageDataLeaf.remove:([JII)[J
putfield org.h2.index.PageDataLeaf.keys:[J
37: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
iadd
iload 1
invokestatic org.h2.index.PageDataLeaf.remove:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast org.h2.result.Row[]
putfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
38: 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 39 0 this Lorg/h2/index/PageDataLeaf;
0 39 1 i I
6 39 2 r Lorg/h2/result/Row;
18 39 3 keyOffsetPairLen I
21 39 4 startNext I
22 39 5 rowLength I
25 30 6 d [B
26 30 7 dataStart I
32 33 6 clearStart I
MethodParameters:
Name Flags
i
org.h2.index.Cursor find(org.h2.engine.Session, long, long);
descriptor: (Lorg/h2/engine/Session;JJ)Lorg/h2/index/Cursor;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
lload 2
invokevirtual org.h2.index.PageDataLeaf.find:(J)I
istore 6
start local 6 1: new org.h2.index.PageDataCursor
dup
aload 0
iload 6
lload 4
invokespecial org.h2.index.PageDataCursor.<init>:(Lorg/h2/index/PageDataLeaf;IJ)V
areturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/index/PageDataLeaf;
0 2 1 session Lorg/h2/engine/Session;
0 2 2 minKey J
0 2 4 maxKey J
1 2 6 x I
MethodParameters:
Name Flags
session
minKey
maxKey
org.h2.result.Row getRowAt(int);
descriptor: (I)Lorg/h2/result/Row;
flags: (0x0000)
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
iload 1
aaload
astore 2
start local 2 1: aload 2
ifnonnull 26
2: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifne 5
3: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iaload
aload 0
getfield org.h2.index.PageDataLeaf.columnCount:I
invokevirtual org.h2.index.PageDataLeaf.readRow:(Lorg/h2/store/Data;II)Lorg/h2/result/Row;
astore 2
4: goto 20
5: StackMap locals: org.h2.result.Row
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
ifnull 9
6: aload 0
getfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast org.h2.result.Row
astore 2
7: aload 2
ifnull 9
8: aload 2
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
astore 3
start local 3 10: aload 3
invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
astore 4
start local 4 11: aload 3
invokevirtual org.h2.store.PageStore.getPageSize:()I
istore 5
start local 5 12: aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iaload
istore 6
start local 6 13: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.getBytes:()[B
iload 6
iload 5
iload 6
isub
invokevirtual org.h2.store.Data.write:([BII)V
14: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
istore 7
start local 7 15: StackMap locals: org.h2.index.PageDataLeaf int org.h2.result.Row org.h2.store.PageStore org.h2.store.Data int int int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
iload 7
invokevirtual org.h2.index.PageDataIndex.getPageOverflow:(I)Lorg/h2/index/PageDataOverflow;
astore 8
start local 8 16: aload 8
aload 4
invokevirtual org.h2.index.PageDataOverflow.readInto:(Lorg/h2/store/Data;)I
istore 7
end local 8 17: iload 7
ifne 15
18: aload 0
iload 5
aload 4
invokevirtual org.h2.store.Data.length:()I
iadd
putfield org.h2.index.PageDataLeaf.overflowRowSize:I
19: aload 0
aload 4
iconst_0
aload 0
getfield org.h2.index.PageDataLeaf.columnCount:I
invokevirtual org.h2.index.PageDataLeaf.readRow:(Lorg/h2/store/Data;II)Lorg/h2/result/Row;
astore 2
end local 7 end local 6 end local 5 end local 4 end local 3 20: StackMap locals: org.h2.index.PageDataLeaf int org.h2.result.Row
StackMap stack:
aload 2
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 1
laload
invokeinterface org.h2.result.Row.setKey:(J)V
21: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifeq 24
22: aload 0
new java.lang.ref.SoftReference
dup
aload 2
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
iload 1
aload 2
aastore
25: aload 0
iconst_1
aload 2
invokevirtual org.h2.index.PageDataLeaf.memoryChange:(ZLorg/h2/result/Row;)V
26: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/h2/index/PageDataLeaf;
0 27 1 at I
1 27 2 r Lorg/h2/result/Row;
10 20 3 store Lorg/h2/store/PageStore;
11 20 4 buff Lorg/h2/store/Data;
12 20 5 pageSize I
13 20 6 offset I
15 20 7 next I
16 17 8 page Lorg/h2/index/PageDataOverflow;
MethodParameters:
Name Flags
at
int getEntryCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/PageDataLeaf;
org.h2.index.PageData split(int);
descriptor: (I)Lorg/h2/index/PageData;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.allocatePage:()I
istore 2
start local 2 1: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
iload 2
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
invokestatic org.h2.index.PageDataLeaf.create:(Lorg/h2/index/PageDataIndex;II)Lorg/h2/index/PageDataLeaf;
astore 3
start local 3 2: goto 7
3: StackMap locals: int org.h2.index.PageDataLeaf
StackMap stack:
aload 3
aload 0
iload 1
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
invokevirtual org.h2.index.PageDataLeaf.addRowTry:(Lorg/h2/result/Row;)I
istore 4
start local 4 4: iload 4
iconst_m1
if_icmpeq 6
5: new java.lang.StringBuilder
dup
ldc "split "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual org.h2.index.PageDataLeaf.removeRow:(I)V
end local 4 7: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
if_icmplt 3
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/index/PageDataLeaf;
0 9 1 splitPoint I
1 9 2 newPageId I
2 9 3 p2 Lorg/h2/index/PageDataLeaf;
4 7 4 split I
MethodParameters:
Name Flags
splitPoint
long getLastKey();
descriptor: ()J
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ifne 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
invokeinterface org.h2.result.Row.getKey:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/index/PageDataLeaf;
org.h2.index.PageDataLeaf getNextPage();
descriptor: ()Lorg/h2/index/PageDataLeaf;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
iconst_m1
invokevirtual org.h2.index.PageDataIndex.getPage:(II)Lorg/h2/index/PageData;
checkcast org.h2.index.PageDataNode
astore 1
start local 1 3: aload 1
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
isub
laload
invokevirtual org.h2.index.PageDataNode.getNextPage:(J)Lorg/h2/index/PageDataLeaf;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/index/PageDataLeaf;
3 4 1 next Lorg/h2/index/PageDataNode;
org.h2.index.PageDataLeaf getFirstLeaf();
descriptor: ()Lorg/h2/index/PageDataLeaf;
flags: (0x0000)
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/index/PageDataLeaf;
protected void remapChildren(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
invokevirtual org.h2.index.PageDataIndex.getPageOverflow:(I)Lorg/h2/index/PageDataOverflow;
astore 2
start local 2 3: aload 2
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
invokevirtual org.h2.index.PageDataOverflow.setParentPageId:(I)V
4: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 2
invokevirtual org.h2.store.PageStore.update:(Lorg/h2/store/Page;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/index/PageDataLeaf;
0 6 1 old I
3 6 2 overflow Lorg/h2/index/PageDataOverflow;
MethodParameters:
Name Flags
old
boolean remove(long);
descriptor: (J)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual org.h2.index.PageDataLeaf.find:(J)I
istore 3
start local 3 1: aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
ifnull 2
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 3
laload
lload 1
lcmp
ifeq 8
2: StackMap locals: int
StackMap stack:
ldc 90112
3: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iconst_0
invokevirtual org.h2.index.PageDataIndex.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
4: aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
ifnonnull 5
ldc -1
goto 6
StackMap locals: org.h2.index.PageDataLeaf long int
StackMap stack: int java.lang.StringBuilder
5: aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 3
laload
StackMap locals: org.h2.index.PageDataLeaf long int
StackMap stack: int java.lang.StringBuilder long
6: invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
9: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
iconst_1
if_icmpne 12
10: aload 0
invokevirtual org.h2.index.PageDataLeaf.freeRecursive:()V
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual org.h2.index.PageDataLeaf.removeRow:(I)V
13: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
invokevirtual org.h2.store.PageStore.update:(Lorg/h2/store/Page;)V
14: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/h2/index/PageDataLeaf;
0 15 1 key J
1 15 3 i I
MethodParameters:
Name Flags
key
void freeRecursive();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
1: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
invokevirtual org.h2.store.PageStore.free:(I)V
2: aload 0
invokevirtual org.h2.index.PageDataLeaf.freeOverflow:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/index/PageDataLeaf;
private void freeOverflow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifeq 6
1: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
istore 1
start local 1 2: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
iload 1
invokevirtual org.h2.index.PageDataIndex.getPageOverflow:(I)Lorg/h2/index/PageDataOverflow;
astore 2
start local 2 3: aload 2
invokevirtual org.h2.index.PageDataOverflow.free:()V
4: aload 2
invokevirtual org.h2.index.PageDataOverflow.getNextOverflow:()I
istore 1
end local 2 5: iload 1
ifne 2
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/index/PageDataLeaf;
2 6 1 next I
3 5 2 page Lorg/h2/index/PageDataOverflow;
org.h2.result.Row getRowWithKey(long);
descriptor: (J)Lorg/h2/result/Row;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual org.h2.index.PageDataLeaf.find:(J)I
istore 3
start local 3 1: aload 0
iload 3
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/index/PageDataLeaf;
0 2 1 key J
1 2 3 at I
MethodParameters:
Name Flags
key
int getRowCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/PageDataLeaf;
void setRowCountStored(int);
descriptor: (I)V
flags: (0x0000)
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/index/PageDataLeaf;
0 1 1 rowCount I
MethodParameters:
Name Flags
rowCount
long getDiskSpaceUsed();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/PageDataLeaf;
public void write();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.index.PageDataLeaf.writeData:()V
1: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.writePage:(ILorg/h2/store/Data;)V
2: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
invokevirtual org.h2.store.Data.truncate:(I)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/index/PageDataLeaf;
private void readAllRows();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
pop
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
if_icmplt 2
end local 1 5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/index/PageDataLeaf;
1 5 1 i I
private void writeHead();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.reset:()V
1: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifne 4
2: bipush 17
istore 1
start local 1 3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 5: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
iload 1
i2b
invokevirtual org.h2.store.Data.writeByte:(B)V
6: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
iconst_0
invokevirtual org.h2.store.Data.writeShortInt:(I)V
7: getstatic org.h2.index.PageDataLeaf.$assertionsDisabled:Z
ifne 8
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
iconst_3
if_icmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
invokevirtual org.h2.store.Data.writeInt:(I)V
9: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getId:()I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
10: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.columnCount:I
invokevirtual org.h2.store.Data.writeVarInt:(I)V
11: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
invokevirtual org.h2.store.Data.writeShortInt:(I)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/h2/index/PageDataLeaf;
3 4 1 type I
5 13 1 type I
private void writeData();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.written:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
ifne 4
3: aload 0
invokevirtual org.h2.index.PageDataLeaf.readAllRows:()V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.index.PageDataLeaf.writeHead:()V
5: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifeq 8
6: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
invokevirtual org.h2.store.Data.writeInt:(I)V
7: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.overflowRowSize:I
invokevirtual org.h2.store.Data.checkCapacity:(I)V
8: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 9: goto 13
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
iload 1
laload
invokevirtual org.h2.store.Data.writeVarLong:(J)V
11: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iaload
invokevirtual org.h2.store.Data.writeShortInt:(I)V
12: iinc 1 1
StackMap locals:
StackMap stack:
13: iload 1
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
if_icmplt 10
end local 1 14: aload 0
getfield org.h2.index.PageDataLeaf.writtenData:Z
ifeq 15
aload 0
getfield org.h2.index.PageDataLeaf.optimizeUpdate:Z
ifne 27
15: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 16: goto 25
17: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
iload 1
iaload
invokevirtual org.h2.store.Data.setPos:(I)V
18: aload 0
iload 1
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
astore 2
start local 2 19: iconst_0
istore 3
start local 3 20: goto 23
21: StackMap locals: org.h2.result.Row int
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 2
iload 3
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
invokevirtual org.h2.store.Data.writeValue:(Lorg/h2/value/Value;)V
22: iinc 3 1
StackMap locals:
StackMap stack:
23: iload 3
aload 0
getfield org.h2.index.PageDataLeaf.columnCount:I
if_icmplt 21
end local 3 end local 2 24: iinc 1 1
StackMap locals:
StackMap stack:
25: iload 1
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
if_icmplt 17
end local 1 26: aload 0
iconst_1
putfield org.h2.index.PageDataLeaf.writtenData:Z
27: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.index.PageDataLeaf.written:Z
28: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/h2/index/PageDataLeaf;
9 14 1 i I
16 26 1 i I
19 24 2 r Lorg/h2/result/Row;
20 24 3 j I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "page["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] data leaf table:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getTable:()Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " entries:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " parent:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifne 4
ldc ""
goto 5
StackMap locals:
StackMap stack: java.lang.StringBuilder
4: new java.lang.StringBuilder
dup
ldc " overflow:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: org.h2.index.PageDataLeaf
StackMap stack: java.lang.StringBuilder java.lang.String
5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc " keys:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
invokestatic java.util.Arrays.toString:([J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " offsets:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
invokestatic java.util.Arrays.toString:([I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/index/PageDataLeaf;
public void moveTo(org.h2.engine.Session, int);
descriptor: (Lorg/h2/engine/Session;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
astore 3
start local 3 1: aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
ifeq 3
2: aload 3
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
pop
3: StackMap locals: org.h2.store.PageStore
StackMap stack:
aload 3
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
4: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
iload 2
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
invokestatic org.h2.index.PageDataLeaf.create:(Lorg/h2/index/PageDataIndex;II)Lorg/h2/index/PageDataLeaf;
astore 4
start local 4 5: aload 0
invokevirtual org.h2.index.PageDataLeaf.readAllRows:()V
6: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.keys:[J
putfield org.h2.index.PageDataLeaf.keys:[J
7: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.overflowRowSize:I
putfield org.h2.index.PageDataLeaf.overflowRowSize:I
8: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
putfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
9: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
putfield org.h2.index.PageDataLeaf.rowRef:Ljava/lang/ref/SoftReference;
10: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
putfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
11: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifeq 13
12: aload 4
getfield org.h2.index.PageDataLeaf.rows:[Lorg/h2/result/Row;
iconst_0
aload 0
iconst_0
invokevirtual org.h2.index.PageDataLeaf.getRowAt:(I)Lorg/h2/result/Row;
aastore
13: StackMap locals: org.h2.index.PageDataLeaf
StackMap stack:
aload 4
aload 0
getfield org.h2.index.PageDataLeaf.entryCount:I
putfield org.h2.index.PageDataLeaf.entryCount:I
14: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.offsets:[I
putfield org.h2.index.PageDataLeaf.offsets:[I
15: aload 4
aload 0
getfield org.h2.index.PageDataLeaf.start:I
putfield org.h2.index.PageDataLeaf.start:I
16: aload 4
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
invokevirtual org.h2.index.PageDataLeaf.remapChildren:(I)V
17: aload 4
invokevirtual org.h2.index.PageDataLeaf.writeData:()V
18: aload 4
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
invokevirtual org.h2.store.Data.truncate:(I)V
19: aload 3
aload 4
invokevirtual org.h2.store.PageStore.update:(Lorg/h2/store/Page;)V
20: aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
ifne 23
21: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
aload 1
iload 2
invokevirtual org.h2.index.PageDataIndex.setRootPageId:(Lorg/h2/engine/Session;I)V
22: goto 25
23: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield org.h2.index.PageDataLeaf.parentPageId:I
invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
checkcast org.h2.index.PageDataNode
astore 5
start local 5 24: aload 5
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
iload 2
invokevirtual org.h2.index.PageDataNode.moveChild:(II)V
end local 5 25: StackMap locals:
StackMap stack:
aload 3
aload 0
invokevirtual org.h2.index.PageDataLeaf.getPos:()I
invokevirtual org.h2.store.PageStore.free:(I)V
26: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/h2/index/PageDataLeaf;
0 27 1 session Lorg/h2/engine/Session;
0 27 2 newPos I
1 27 3 store Lorg/h2/store/PageStore;
5 27 4 p2 Lorg/h2/index/PageDataLeaf;
24 25 5 p Lorg/h2/index/PageDataNode;
MethodParameters:
Name Flags
session
newPos
void setOverflow(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
if_icmpeq 2
1: new java.lang.StringBuilder
dup
ldc "move "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
3: aload 0
iload 2
putfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
4: aload 0
getfield org.h2.index.PageDataLeaf.written:Z
ifeq 8
5: aload 0
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getChangeCount:()J
putfield org.h2.index.PageDataLeaf.changeCount:J
6: aload 0
invokevirtual org.h2.index.PageDataLeaf.writeHead:()V
7: aload 0
getfield org.h2.index.PageDataLeaf.data:Lorg/h2/store/Data;
aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
invokevirtual org.h2.store.Data.writeInt:(I)V
8: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
invokevirtual org.h2.store.PageStore.update:(Lorg/h2/store/Page;)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/index/PageDataLeaf;
0 10 1 old I
0 10 2 overflow I
MethodParameters:
Name Flags
old
overflow
private void memoryChange(boolean, org.h2.result.Row);
descriptor: (ZLorg/h2/result/Row;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: bipush 20
aload 2
invokeinterface org.h2.result.Row.getMemory:()I
iadd
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 0
dup
getfield org.h2.index.PageDataLeaf.memoryData:I
iload 1
ifeq 4
iload 3
goto 5
StackMap locals: org.h2.index.PageDataLeaf int org.h2.result.Row int
StackMap stack: org.h2.index.PageDataLeaf int
4: iload 3
ineg
StackMap locals: org.h2.index.PageDataLeaf int org.h2.result.Row int
StackMap stack: org.h2.index.PageDataLeaf int int
5: iadd
putfield org.h2.index.PageDataLeaf.memoryData:I
6: aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
sipush 240
7: aload 0
getfield org.h2.index.PageDataLeaf.memoryData:I
iadd
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getPageSize:()I
iadd
iconst_2
ishr
8: invokevirtual org.h2.index.PageDataIndex.memoryChange:(I)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/index/PageDataLeaf;
0 10 1 add Z
0 10 2 r Lorg/h2/result/Row;
3 10 3 diff I
MethodParameters:
Name Flags
add
r
public boolean isStream();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageDataLeaf.firstOverflowPageId:I
ifle 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/index/PageDataLeaf;
private org.h2.result.Row readRow(org.h2.store.Data, int, int);
descriptor: (Lorg/h2/store/Data;II)Lorg/h2/result/Row;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
anewarray org.h2.value.Value
astore 4
start local 4 1: aload 1
dup
astore 5
monitorenter
2: aload 1
iload 2
invokevirtual org.h2.store.Data.setPos:(I)V
3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: org.h2.value.Value[] org.h2.store.Data int
StackMap stack:
aload 4
iload 6
aload 1
invokevirtual org.h2.store.Data.readValue:()Lorg/h2/value/Value;
aastore
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 3
if_icmplt 5
end local 6 8: aload 5
monitorexit
9: goto 12
StackMap locals: org.h2.index.PageDataLeaf org.h2.store.Data int int org.h2.value.Value[] org.h2.store.Data
StackMap stack: java.lang.Throwable
10: aload 5
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.PageDataLeaf.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getDatabase:()Lorg/h2/engine/Database;
aload 4
iconst_m1
invokevirtual org.h2.engine.Database.createRow:([Lorg/h2/value/Value;I)Lorg/h2/result/Row;
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/index/PageDataLeaf;
0 13 1 data Lorg/h2/store/Data;
0 13 2 pos I
0 13 3 columnCount I
1 13 4 values [Lorg/h2/value/Value;
4 8 6 i I
Exception table:
from to target type
2 9 10 any
10 11 10 any
MethodParameters:
Name Flags
data
pos
columnCount
public int getMemory();
descriptor: ()I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.h2.index.PageData.getMemory:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean canRemove();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.h2.index.PageData.canRemove:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "PageDataLeaf.java"