public abstract class org.h2.index.BaseIndex extends org.h2.schema.SchemaObjectBase implements org.h2.index.Index
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.h2.index.BaseIndex
super_class: org.h2.schema.SchemaObjectBase
{
protected org.h2.table.IndexColumn[] indexColumns;
descriptor: [Lorg/h2/table/IndexColumn;
flags: (0x0004) ACC_PROTECTED
protected org.h2.table.Column[] columns;
descriptor: [Lorg/h2/table/Column;
flags: (0x0004) ACC_PROTECTED
protected int[] columnIds;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
protected final org.h2.table.Table table;
descriptor: Lorg/h2/table/Table;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.h2.index.IndexType indexType;
descriptor: Lorg/h2/index/IndexType;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$h2$engine$Mode$UniqueIndexNullsHandling;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
protected void <init>(org.h2.table.Table, int, java.lang.String, org.h2.table.IndexColumn[], org.h2.index.IndexType);
descriptor: (Lorg/h2/table/Table;ILjava/lang/String;[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual org.h2.table.Table.getSchema:()Lorg/h2/schema/Schema;
iload 2
aload 3
iconst_5
invokespecial org.h2.schema.SchemaObjectBase.<init>:(Lorg/h2/schema/Schema;ILjava/lang/String;I)V
1: aload 0
aload 5
putfield org.h2.index.BaseIndex.indexType:Lorg/h2/index/IndexType;
2: aload 0
aload 1
putfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
3: aload 4
ifnull 15
4: aload 0
aload 4
putfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
5: aload 0
aload 4
arraylength
anewarray org.h2.table.Column
putfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
6: aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
arraylength
istore 6
start local 6 7: aload 0
iload 6
newarray 10
putfield org.h2.index.BaseIndex.columnIds:[I
8: iconst_0
istore 7
start local 7 9: goto 14
10: StackMap locals: org.h2.index.BaseIndex org.h2.table.Table int java.lang.String org.h2.table.IndexColumn[] org.h2.index.IndexType int int
StackMap stack:
aload 4
iload 7
aaload
getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
astore 8
start local 8 11: aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
iload 7
aload 8
aastore
12: aload 0
getfield org.h2.index.BaseIndex.columnIds:[I
iload 7
aload 8
invokevirtual org.h2.table.Column.getColumnId:()I
iastore
end local 8 13: iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 6
if_icmplt 10
end local 7 end local 6 15: StackMap locals:
StackMap stack:
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 16 0 this Lorg/h2/index/BaseIndex;
0 16 1 newTable Lorg/h2/table/Table;
0 16 2 id I
0 16 3 name Ljava/lang/String;
0 16 4 newIndexColumns [Lorg/h2/table/IndexColumn;
0 16 5 newIndexType Lorg/h2/index/IndexType;
7 15 6 len I
9 15 7 i I
11 13 8 col Lorg/h2/table/Column;
MethodParameters:
Name Flags
newTable
id
name
newIndexColumns
newIndexType
protected static void checkIndexColumnTypes(org.h2.table.IndexColumn[]);
descriptor: ([Lorg/h2/table/IndexColumn;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: org.h2.table.IndexColumn[] top int int org.h2.table.IndexColumn[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
invokestatic org.h2.value.DataType.isLargeObject:(I)Z
ifeq 5
3: new java.lang.StringBuilder
dup
ldc "Index on BLOB or CLOB column: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
invokevirtual org.h2.table.Column.getCreateSQL:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 1
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 columns [Lorg/h2/table/IndexColumn;
2 5 1 c Lorg/h2/table/IndexColumn;
MethodParameters:
Name Flags
columns
public java.lang.String getDropSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
protected org.h2.message.DbException getDuplicateKeyException(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/h2/message/DbException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 0
aload 2
iconst_0
invokevirtual org.h2.index.BaseIndex.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
ldc " ON "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
aload 2
iconst_0
invokevirtual org.h2.table.Table.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 2
aload 0
iconst_0
invokevirtual org.h2.index.BaseIndex.getColumnListSQL:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 2
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: aload 1
ifnull 7
6: aload 2
ldc " VALUES "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals: java.lang.StringBuilder
StackMap stack:
sipush 23505
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
astore 3
start local 3 8: aload 3
aload 0
invokevirtual org.h2.message.DbException.setSource:(Ljava/lang/Object;)V
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 this Lorg/h2/index/BaseIndex;
0 10 1 key Ljava/lang/String;
1 10 2 builder Ljava/lang/StringBuilder;
8 10 3 e Lorg/h2/message/DbException;
MethodParameters:
Name Flags
key
public java.lang.String getPlanSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual org.h2.index.BaseIndex.getSQL:(Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public void removeChildrenAndResources(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
aload 0
invokevirtual org.h2.table.Table.removeIndex:(Lorg/h2/index/Index;)V
1: aload 0
aload 1
invokevirtual org.h2.index.BaseIndex.remove:(Lorg/h2/engine/Session;)V
2: aload 0
getfield org.h2.index.BaseIndex.database:Lorg/h2/engine/Database;
aload 1
aload 0
invokevirtual org.h2.index.BaseIndex.getId:()I
invokevirtual org.h2.engine.Database.removeMeta:(Lorg/h2/engine/Session;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/index/BaseIndex;
0 4 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public boolean canFindNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public boolean isFindUsingFullTableScan();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public org.h2.index.Cursor find(org.h2.table.TableFilter, org.h2.result.SearchRow, org.h2.result.SearchRow);
descriptor: (Lorg/h2/table/TableFilter;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
flags: (0x0001) ACC_PUBLIC
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
invokevirtual org.h2.table.TableFilter.getSession:()Lorg/h2/engine/Session;
aload 2
aload 3
invokevirtual org.h2.index.BaseIndex.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 filter Lorg/h2/table/TableFilter;
0 1 2 first Lorg/h2/result/SearchRow;
0 1 3 last Lorg/h2/result/SearchRow;
MethodParameters:
Name Flags
filter
first
last
public org.h2.index.Cursor findNext(org.h2.engine.Session, org.h2.result.SearchRow, org.h2.result.SearchRow);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.h2.index.BaseIndex.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 session Lorg/h2/engine/Session;
0 1 2 higherThan Lorg/h2/result/SearchRow;
0 1 3 last Lorg/h2/result/SearchRow;
MethodParameters:
Name Flags
session
higherThan
last
protected final long getCostRangeIndex(int[], long, org.h2.table.TableFilter[], int, org.h2.result.SortOrder, boolean, org.h2.command.dml.AllColumnsForPlan);
descriptor: ([IJ[Lorg/h2/table/TableFilter;ILorg/h2/result/SortOrder;ZLorg/h2/command/dml/AllColumnsForPlan;)J
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=24, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 0: lload 2
ldc 1000
ladd
lstore 2
1: iconst_0
istore 9
start local 9 2: lload 2
lstore 10
start local 10 3: aload 1
ifnull 45
4: iconst_0
istore 12
start local 12 5: aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
arraylength
istore 13
start local 13 6: iconst_0
istore 14
start local 14 7: goto 38
8: StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long int int int
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
iload 12
iinc 12 1
aaload
astore 15
start local 15 9: aload 15
invokevirtual org.h2.table.Column.getColumnId:()I
istore 16
start local 16 10: aload 1
iload 16
iaload
istore 17
start local 17 11: iload 17
iconst_1
iand
iconst_1
if_icmpne 23
12: iload 12
iload 13
if_icmpne 15
aload 0
invokevirtual org.h2.index.BaseIndex.getIndexType:()Lorg/h2/index/IndexType;
invokevirtual org.h2.index.IndexType.isUnique:()Z
ifeq 15
13: ldc 3
lstore 10
14: goto 39
15: StackMap locals: org.h2.table.Column int int
StackMap stack:
bipush 100
bipush 100
iload 9
isub
16: bipush 100
aload 15
invokevirtual org.h2.table.Column.getSelectivity:()I
isub
imul
bipush 100
idiv
17: isub
istore 9
18: lload 2
iload 9
i2l
lmul
ldc 100
ldiv
lstore 18
start local 18 19: lload 18
lconst_0
lcmp
ifgt 21
20: lconst_1
lstore 18
21: StackMap locals: long
StackMap stack:
ldc 2
lload 2
lload 18
ldiv
lconst_1
invokestatic java.lang.Math.max:(JJ)J
ladd
lstore 10
end local 18 22: goto 38
StackMap locals:
StackMap stack:
23: iload 17
bipush 6
iand
bipush 6
if_icmpne 27
24: ldc 2
lload 10
ldc 4
ldiv
ladd
lstore 10
25: iconst_1
istore 14
26: goto 39
27: StackMap locals:
StackMap stack:
iload 17
iconst_2
iand
iconst_2
if_icmpne 31
28: ldc 2
lload 10
ldc 3
ldiv
ladd
lstore 10
29: iconst_1
istore 14
30: goto 39
31: StackMap locals:
StackMap stack:
iload 17
iconst_4
iand
iconst_4
if_icmpne 35
32: lload 10
ldc 3
ldiv
lstore 10
33: iconst_1
istore 14
34: goto 39
35: StackMap locals:
StackMap stack:
iload 17
ifne 39
36: iinc 12 -1
37: goto 39
end local 17 end local 16 end local 15 38: StackMap locals:
StackMap stack:
iload 12
iload 13
if_icmplt 8
39: StackMap locals:
StackMap stack:
iload 14
ifeq 44
40: goto 43
41: StackMap locals:
StackMap stack:
iinc 12 1
42: lload 10
lconst_1
lsub
lstore 10
43: StackMap locals:
StackMap stack:
iload 12
iload 13
if_icmpge 44
aload 1
aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
iload 12
aaload
invokevirtual org.h2.table.Column.getColumnId:()I
iaload
ifne 41
44: StackMap locals:
StackMap stack:
lload 10
iload 13
iload 12
isub
i2l
ladd
lstore 10
end local 14 end local 13 end local 12 45: StackMap locals:
StackMap stack:
lconst_0
lstore 12
start local 12 46: aload 6
ifnull 48
47: ldc 100
lload 2
ldc 10
ldiv
ladd
lstore 12
48: StackMap locals: long
StackMap stack:
aload 6
ifnull 77
iload 7
ifne 77
49: iconst_1
istore 14
start local 14 50: iconst_0
istore 15
start local 15 51: aload 6
invokevirtual org.h2.result.SortOrder.getSortTypes:()[I
astore 16
start local 16 52: aload 4
ifnonnull 53
aconst_null
goto 54
StackMap locals: int int int[]
StackMap stack:
53: aload 4
iload 5
aaload
StackMap locals:
StackMap stack: org.h2.table.TableFilter
54: astore 17
start local 17 55: iconst_0
istore 18
start local 18 56: aload 16
arraylength
istore 19
start local 19 57: goto 74
58: StackMap locals: org.h2.table.TableFilter int int
StackMap stack:
iload 18
aload 0
getfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
arraylength
if_icmplt 60
59: goto 75
60: StackMap locals:
StackMap stack:
aload 6
iload 18
aload 17
invokevirtual org.h2.result.SortOrder.getColumn:(ILorg/h2/table/TableFilter;)Lorg/h2/table/Column;
astore 20
start local 20 61: aload 20
ifnonnull 64
62: iconst_0
istore 14
63: goto 75
64: StackMap locals: org.h2.table.Column
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
iload 18
aaload
astore 21
start local 21 65: aload 20
aload 21
getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
invokevirtual org.h2.table.Column.equals:(Ljava/lang/Object;)Z
ifne 68
66: iconst_0
istore 14
67: goto 75
68: StackMap locals: org.h2.table.IndexColumn
StackMap stack:
aload 16
iload 18
iaload
istore 22
start local 22 69: iload 22
aload 21
getfield org.h2.table.IndexColumn.sortType:I
if_icmpeq 72
70: iconst_0
istore 14
71: goto 75
72: StackMap locals: int
StackMap stack:
iinc 15 1
end local 22 end local 21 end local 20 73: iinc 18 1
StackMap locals:
StackMap stack:
74: iload 18
iload 19
if_icmplt 58
end local 19 end local 18 75: StackMap locals:
StackMap stack:
iload 14
ifeq 77
76: bipush 100
iload 15
isub
i2l
lstore 12
end local 17 end local 16 end local 15 end local 14 77: StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long long
StackMap stack:
iconst_1
istore 14
start local 14 78: iload 7
ifne 98
aload 8
ifnull 98
79: iconst_1
istore 15
start local 15 80: aload 8
aload 0
invokevirtual org.h2.index.BaseIndex.getTable:()Lorg/h2/table/Table;
invokevirtual org.h2.command.dml.AllColumnsForPlan.get:(Lorg/h2/table/Table;)Ljava/util/ArrayList;
astore 16
start local 16 81: aload 16
ifnull 96
82: aload 16
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 18
goto 95
StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long long int int java.util.ArrayList top java.util.Iterator
StackMap stack:
83: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.table.Column
astore 17
start local 17 84: iconst_0
istore 19
start local 19 85: aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
dup
astore 23
arraylength
istore 22
iconst_0
istore 21
goto 91
StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long long int int java.util.ArrayList org.h2.table.Column java.util.Iterator int top int int org.h2.table.Column[]
StackMap stack:
86: aload 23
iload 21
aaload
astore 20
start local 20 87: aload 17
aload 20
if_acmpne 90
88: iconst_1
istore 19
89: goto 92
end local 20 90: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
91: iload 21
iload 22
if_icmplt 86
92: StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long long int int java.util.ArrayList org.h2.table.Column java.util.Iterator int
StackMap stack:
iload 19
ifne 95
93: iconst_0
istore 15
94: goto 96
end local 19 end local 17 95: StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long long int int java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 83
96: StackMap locals: org.h2.index.BaseIndex int[] long org.h2.table.TableFilter[] int org.h2.result.SortOrder int org.h2.command.dml.AllColumnsForPlan int long long int int java.util.ArrayList
StackMap stack:
iload 15
ifeq 98
97: iconst_0
istore 14
end local 16 end local 15 98: StackMap locals:
StackMap stack:
iload 7
ifeq 101
99: lload 10
lload 12
ladd
ldc 20
ladd
lstore 15
start local 15 100: goto 105
end local 15 StackMap locals:
StackMap stack:
101: iload 14
ifeq 104
102: lload 10
lload 10
ladd
lload 12
ladd
ldc 20
ladd
lstore 15
start local 15 103: goto 105
end local 15 104: StackMap locals:
StackMap stack:
lload 10
lload 12
ladd
aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
arraylength
i2l
ladd
lstore 15
start local 15 105: StackMap locals: long
StackMap stack:
lload 15
lreturn
end local 15 end local 14 end local 12 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 106 0 this Lorg/h2/index/BaseIndex;
0 106 1 masks [I
0 106 2 rowCount J
0 106 4 filters [Lorg/h2/table/TableFilter;
0 106 5 filter I
0 106 6 sortOrder Lorg/h2/result/SortOrder;
0 106 7 isScanIndex Z
0 106 8 allColumnsSet Lorg/h2/command/dml/AllColumnsForPlan;
2 106 9 totalSelectivity I
3 106 10 rowsCost J
5 45 12 i I
6 45 13 len I
7 45 14 tryAdditional Z
9 38 15 column Lorg/h2/table/Column;
10 38 16 index I
11 38 17 mask I
19 22 18 distinctRows J
46 106 12 sortingCost J
50 77 14 sortOrderMatches Z
51 77 15 coveringCount I
52 77 16 sortTypes [I
55 77 17 tableFilter Lorg/h2/table/TableFilter;
56 75 18 i I
57 75 19 len I
61 73 20 col Lorg/h2/table/Column;
65 73 21 indexCol Lorg/h2/table/IndexColumn;
69 73 22 sortType I
78 106 14 needsToReadFromScanIndex Z
80 98 15 foundAllColumnsWeNeed Z
81 98 16 foundCols Ljava/util/ArrayList<Lorg/h2/table/Column;>;
84 95 17 c Lorg/h2/table/Column;
85 95 19 found Z
87 90 20 c2 Lorg/h2/table/Column;
100 101 15 rc J
103 104 15 rc J
105 106 15 rc J
MethodParameters:
Name Flags
masks
rowCount
filters
filter
sortOrder
isScanIndex
allColumnsSet
public int compareRows(org.h2.result.SearchRow, org.h2.result.SearchRow);
descriptor: (Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: aload 0
getfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
arraylength
istore 4
start local 4 4: goto 14
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.columnIds:[I
iload 3
iaload
istore 5
start local 5 6: aload 1
iload 5
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
astore 6
start local 6 7: aload 2
iload 5
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
astore 7
start local 7 8: aload 6
ifnull 9
aload 7
ifnonnull 10
9: StackMap locals: int org.h2.value.Value org.h2.value.Value
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 7
aload 0
getfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
iload 3
aaload
getfield org.h2.table.IndexColumn.sortType:I
invokevirtual org.h2.index.BaseIndex.compareValues:(Lorg/h2/value/Value;Lorg/h2/value/Value;I)I
istore 8
start local 8 11: iload 8
ifeq 13
12: iload 8
ireturn
end local 8 end local 7 end local 6 end local 5 13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
iload 4
if_icmplt 5
end local 4 end local 3 15: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/h2/index/BaseIndex;
0 16 1 rowData Lorg/h2/result/SearchRow;
0 16 2 compare Lorg/h2/result/SearchRow;
3 15 3 i I
4 15 4 len I
6 13 5 index I
7 13 6 v1 Lorg/h2/value/Value;
8 13 7 v2 Lorg/h2/value/Value;
11 13 8 c I
MethodParameters:
Name Flags
rowData
compare
protected boolean mayHaveNullDuplicates(org.h2.result.SearchRow);
descriptor: (Lorg/h2/result/SearchRow;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: invokestatic org.h2.index.BaseIndex.$SWITCH_TABLE$org$h2$engine$Mode$UniqueIndexNullsHandling:()[I
aload 0
getfield org.h2.index.BaseIndex.database:Lorg/h2/engine/Database;
invokevirtual org.h2.engine.Database.getMode:()Lorg/h2/engine/Mode;
getfield org.h2.engine.Mode.uniqueIndexNullsHandling:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
invokevirtual org.h2.engine.Mode$UniqueIndexNullsHandling.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 1
2: 8
default: 15
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.columnIds:[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: org.h2.index.BaseIndex org.h2.result.SearchRow top int int int[]
StackMap stack:
2: aload 5
iload 3
iaload
istore 2
start local 2 3: aload 1
iload 2
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 5
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: iconst_0
ireturn
8: StackMap locals: org.h2.index.BaseIndex org.h2.result.SearchRow
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.columnIds:[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 13
StackMap locals: org.h2.index.BaseIndex org.h2.result.SearchRow top int int int[]
StackMap stack:
9: aload 5
iload 3
iaload
istore 2
start local 2 10: aload 1
iload 2
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpeq 12
11: iconst_0
ireturn
end local 2 12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
iload 4
if_icmplt 9
14: iconst_1
ireturn
15: StackMap locals: org.h2.index.BaseIndex org.h2.result.SearchRow
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/h2/index/BaseIndex;
0 16 1 searchRow Lorg/h2/result/SearchRow;
3 5 2 index I
10 12 2 index I
MethodParameters:
Name Flags
searchRow
int compareKeys(org.h2.result.SearchRow, org.h2.result.SearchRow);
descriptor: (Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)I
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.h2.result.SearchRow.getKey:()J
lstore 3
start local 3 1: aload 2
invokeinterface org.h2.result.SearchRow.getKey:()J
lstore 5
start local 5 2: lload 3
lload 5
lcmp
ifne 4
3: iconst_0
ireturn
4: StackMap locals: long long
StackMap stack:
lload 3
lload 5
lcmp
ifle 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_m1
StackMap locals:
StackMap stack: int
6: ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/index/BaseIndex;
0 7 1 rowData Lorg/h2/result/SearchRow;
0 7 2 compare Lorg/h2/result/SearchRow;
1 7 3 k1 J
2 7 5 k2 J
MethodParameters:
Name Flags
rowData
compare
private int compareValues(org.h2.value.Value, org.h2.value.Value, int);
descriptor: (Lorg/h2/value/Value;Lorg/h2/value/Value;I)I
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: aload 1
aload 2
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: aload 2
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 6
iconst_1
goto 7
StackMap locals: int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: iload 4
ifne 9
iload 5
ifeq 10
9: StackMap locals: int
StackMap stack:
iload 4
iload 3
invokestatic org.h2.result.SortOrder.compareNull:(ZI)I
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
aload 1
aload 2
invokevirtual org.h2.table.Table.compareValues:(Lorg/h2/value/Value;Lorg/h2/value/Value;)I
istore 6
start local 6 11: iload 3
iconst_1
iand
ifeq 13
12: iload 6
ineg
istore 6
13: StackMap locals: int
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 14 0 this Lorg/h2/index/BaseIndex;
0 14 1 a Lorg/h2/value/Value;
0 14 2 b Lorg/h2/value/Value;
0 14 3 sortType I
5 14 4 aNull Z
8 14 5 bNull Z
11 14 6 comp I
MethodParameters:
Name Flags
a
b
sortType
public int getColumnIndex(org.h2.table.Column);
descriptor: (Lorg/h2/table/Column;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
arraylength
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
iload 2
aaload
aload 1
invokevirtual org.h2.table.Column.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iload 2
ireturn
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 3
end local 3 end local 2 7: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/index/BaseIndex;
0 8 1 col Lorg/h2/table/Column;
1 7 2 i I
2 7 3 len I
MethodParameters:
Name Flags
col
public boolean isFirstColumn(org.h2.table.Column);
descriptor: (Lorg/h2/table/Column;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
iconst_0
aaload
invokevirtual org.h2.table.Column.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 column Lorg/h2/table/Column;
MethodParameters:
Name Flags
column
private java.lang.String getColumnListSQL(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
iload 1
invokestatic org.h2.table.IndexColumn.writeColumns:(Ljava/lang/StringBuilder;[Lorg/h2/table/IndexColumn;Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 alwaysQuote Z
MethodParameters:
Name Flags
alwaysQuote
public java.lang.String getCreateSQLForCopy(org.h2.table.Table, java.lang.String);
descriptor: (Lorg/h2/table/Table;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "CREATE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 3
start local 3 1: aload 3
aload 0
getfield org.h2.index.BaseIndex.indexType:Lorg/h2/index/IndexType;
invokevirtual org.h2.index.IndexType.getSQL:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.isHidden:()Z
ifeq 5
4: aload 3
ldc "IF NOT EXISTS "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 3
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 3
ldc " ON "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 3
iconst_1
invokevirtual org.h2.table.Table.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
8: aload 0
getfield org.h2.index.BaseIndex.comment:Ljava/lang/String;
ifnull 11
9: aload 3
ldc " COMMENT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 3
aload 0
getfield org.h2.index.BaseIndex.comment:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 3
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
iconst_1
invokevirtual org.h2.index.BaseIndex.getColumnListSQL:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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/BaseIndex;
0 13 1 targetTable Lorg/h2/table/Table;
0 13 2 quotedName Ljava/lang/String;
1 13 3 buff Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
targetTable
quotedName
public java.lang.String getCreateSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
aload 0
iconst_1
invokevirtual org.h2.index.BaseIndex.getSQL:(Z)Ljava/lang/String;
invokevirtual org.h2.index.BaseIndex.getCreateSQLForCopy:(Lorg/h2/table/Table;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public org.h2.table.IndexColumn[] getIndexColumns();
descriptor: ()[Lorg/h2/table/IndexColumn;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.BaseIndex.indexColumns:[Lorg/h2/table/IndexColumn;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public org.h2.table.Column[] getColumns();
descriptor: ()[Lorg/h2/table/Column;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.BaseIndex.columns:[Lorg/h2/table/Column;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public org.h2.index.IndexType getIndexType();
descriptor: ()Lorg/h2/index/IndexType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.BaseIndex.indexType:Lorg/h2/index/IndexType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public int getType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public org.h2.table.Table getTable();
descriptor: ()Lorg/h2/table/Table;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public org.h2.result.Row getRow(org.h2.engine.Session, long);
descriptor: (Lorg/h2/engine/Session;J)Lorg/h2/result/Row;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.h2.index.BaseIndex.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 session Lorg/h2/engine/Session;
0 1 2 key J
MethodParameters:
Name Flags
session
key
public boolean isHidden();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.BaseIndex.table:Lorg/h2/table/Table;
invokevirtual org.h2.table.Table.isHidden:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public boolean isRowIdIndex();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public boolean canScan();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
public void setSortedInsertMode(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 sortedInsertMode Z
MethodParameters:
Name Flags
sortedInsertMode
public org.h2.index.IndexLookupBatch createLookupBatch(org.h2.table.TableFilter[], int);
descriptor: ([Lorg/h2/table/TableFilter;I)Lorg/h2/index/IndexLookupBatch;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/BaseIndex;
0 1 1 filters [Lorg/h2/table/TableFilter;
0 1 2 filter I
MethodParameters:
Name Flags
filters
filter
public void update(org.h2.engine.Session, org.h2.result.Row, org.h2.result.Row);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.h2.index.BaseIndex.remove:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
1: aload 0
aload 1
aload 3
invokevirtual org.h2.index.BaseIndex.add:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
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/BaseIndex;
0 3 1 session Lorg/h2/engine/Session;
0 3 2 oldRow Lorg/h2/result/Row;
0 3 3 newRow Lorg/h2/result/Row;
MethodParameters:
Name Flags
session
oldRow
newRow
static int[] $SWITCH_TABLE$org$h2$engine$Mode$UniqueIndexNullsHandling();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.h2.index.BaseIndex.$SWITCH_TABLE$org$h2$engine$Mode$UniqueIndexNullsHandling:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.h2.engine.Mode$UniqueIndexNullsHandling.values:()[Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.ALLOW_DUPLICATES_WITH_ALL_NULLS:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
invokevirtual org.h2.engine.Mode$UniqueIndexNullsHandling.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.ALLOW_DUPLICATES_WITH_ANY_NULL:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
invokevirtual org.h2.engine.Mode$UniqueIndexNullsHandling.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.FORBID_ANY_DUPLICATES:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
invokevirtual org.h2.engine.Mode$UniqueIndexNullsHandling.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.h2.index.BaseIndex.$SWITCH_TABLE$org$h2$engine$Mode$UniqueIndexNullsHandling:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "BaseIndex.java"
InnerClasses:
public final UniqueIndexNullsHandling = org.h2.engine.Mode$UniqueIndexNullsHandling of org.h2.engine.Mode