abstract class org.h2.index.PageData extends org.h2.store.Page
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.h2.index.PageData
super_class: org.h2.store.Page
{
static final int START_PARENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int ROOT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int UNKNOWN_ROWCOUNT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1
protected final org.h2.index.PageDataIndex index;
descriptor: Lorg/h2/index/PageDataIndex;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected int parentPageId;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected final org.h2.store.Data data;
descriptor: Lorg/h2/store/Data;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected int entryCount;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected long[] keys;
descriptor: [J
flags: (0x0004) ACC_PROTECTED
protected boolean written;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private final int memoryEstimated;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.h2.index.PageDataIndex, int, org.h2.store.Data);
descriptor: (Lorg/h2/index/PageDataIndex;ILorg/h2/store/Data;)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
invokespecial org.h2.store.Page.<init>:()V
1: aload 0
aload 1
putfield org.h2.index.PageData.index:Lorg/h2/index/PageDataIndex;
2: aload 0
aload 3
putfield org.h2.index.PageData.data:Lorg/h2/store/Data;
3: aload 0
iload 2
invokevirtual org.h2.index.PageData.setPos:(I)V
4: aload 0
aload 1
invokevirtual org.h2.index.PageDataIndex.getMemoryPerPage:()I
putfield org.h2.index.PageData.memoryEstimated:I
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/index/PageData;
0 6 1 index Lorg/h2/index/PageDataIndex;
0 6 2 pageId I
0 6 3 data Lorg/h2/store/Data;
MethodParameters:
Name Flags
index
pageId
data
abstract int getRowCount();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
abstract void setRowCountStored(int);
descriptor: (I)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
rowCount
abstract long getDiskSpaceUsed();
descriptor: ()J
flags: (0x0400) ACC_ABSTRACT
int find(long);
descriptor: (J)I
flags: (0x0000)
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: aload 0
getfield org.h2.index.PageData.entryCount:I
istore 4
start local 4 2: goto 11
3: StackMap locals: int int
StackMap stack:
iload 3
iload 4
iadd
iconst_1
iushr
istore 5
start local 5 4: aload 0
getfield org.h2.index.PageData.keys:[J
iload 5
laload
lstore 6
start local 6 5: lload 6
lload 1
lcmp
ifne 7
6: iload 5
ireturn
7: StackMap locals: int long
StackMap stack:
lload 6
lload 1
lcmp
ifle 10
8: iload 5
istore 4
9: goto 11
10: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 3
end local 6 end local 5 11: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 3
12: iload 3
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/h2/index/PageData;
0 13 1 key J
1 13 3 l I
2 13 4 r I
4 11 5 i I
5 11 6 k J
MethodParameters:
Name Flags
key
abstract int addRowTry(org.h2.result.Row);
descriptor: (Lorg/h2/result/Row;)I
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
row
abstract org.h2.index.Cursor find(org.h2.engine.Session, long, long);
descriptor: (Lorg/h2/engine/Session;JJ)Lorg/h2/index/Cursor;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
session
minKey
maxKey
long getKey(int);
descriptor: (I)J
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageData.keys:[J
iload 1
laload
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/PageData;
0 1 1 at I
MethodParameters:
Name Flags
at
abstract org.h2.index.PageData split(int);
descriptor: (I)Lorg/h2/index/PageData;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
splitPoint
void setPageId(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.h2.index.PageData.getPos:()I
istore 2
start local 2 1: aload 0
getfield org.h2.index.PageData.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
invokevirtual org.h2.index.PageData.getPos:()I
invokevirtual org.h2.store.PageStore.removeFromCache:(I)V
2: aload 0
iload 1
invokevirtual org.h2.index.PageData.setPos:(I)V
3: aload 0
getfield org.h2.index.PageData.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aconst_null
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
4: aload 0
iload 2
invokevirtual org.h2.index.PageData.remapChildren:(I)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/PageData;
0 6 1 id I
1 6 2 old I
MethodParameters:
Name Flags
id
abstract long getLastKey();
descriptor: ()J
flags: (0x0400) ACC_ABSTRACT
abstract org.h2.index.PageDataLeaf getFirstLeaf();
descriptor: ()Lorg/h2/index/PageDataLeaf;
flags: (0x0400) ACC_ABSTRACT
void setParentPageId(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.PageData.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
aload 0
aload 0
getfield org.h2.index.PageData.data:Lorg/h2/store/Data;
invokevirtual org.h2.store.PageStore.logUndo:(Lorg/h2/store/Page;Lorg/h2/store/Data;)V
1: aload 0
iload 1
putfield org.h2.index.PageData.parentPageId:I
2: aload 0
getfield org.h2.index.PageData.written:Z
ifeq 5
3: aload 0
aload 0
getfield org.h2.index.PageData.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.PageData.changeCount:J
4: aload 0
getfield org.h2.index.PageData.data:Lorg/h2/store/Data;
iconst_3
aload 0
getfield org.h2.index.PageData.parentPageId:I
invokevirtual org.h2.store.Data.setInt:(II)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/index/PageData;
0 6 1 id I
MethodParameters:
Name Flags
id
abstract void remapChildren(int);
descriptor: (I)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
old
abstract boolean remove(long);
descriptor: (J)Z
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
key
abstract void freeRecursive();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
abstract org.h2.result.Row getRowWithKey(long);
descriptor: (J)Lorg/h2/result/Row;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
key
public int getMemory();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageData.memoryEstimated:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/PageData;
int getParentPageId();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageData.parentPageId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/PageData;
public boolean canRemove();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.PageData.changeCount:J
aload 0
getfield org.h2.index.PageData.index:Lorg/h2/index/PageDataIndex;
invokevirtual org.h2.index.PageDataIndex.getPageStore:()Lorg/h2/store/PageStore;
invokevirtual org.h2.store.PageStore.getChangeCount:()J
lcmp
ifge 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/PageData;
}
SourceFile: "PageData.java"