public class org.h2.index.LinkedIndex extends org.h2.index.BaseIndex
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.index.LinkedIndex
super_class: org.h2.index.BaseIndex
{
private final org.h2.table.TableLink link;
descriptor: Lorg/h2/table/TableLink;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String targetTableName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long rowCount;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final boolean quoteAllIdentifiers;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
public void <init>(org.h2.table.TableLink, int, org.h2.table.IndexColumn[], org.h2.index.IndexType);
descriptor: (Lorg/h2/table/TableLink;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aconst_null
aload 3
aload 4
invokespecial org.h2.index.BaseIndex.<init>:(Lorg/h2/table/Table;ILjava/lang/String;[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
1: aload 0
iconst_0
putfield org.h2.index.LinkedIndex.quoteAllIdentifiers:Z
2: aload 0
aload 1
putfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
3: aload 0
aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
invokevirtual org.h2.table.TableLink.getQualifiedTable:()Ljava/lang/String;
putfield org.h2.index.LinkedIndex.targetTableName:Ljava/lang/String;
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/index/LinkedIndex;
0 5 1 table Lorg/h2/table/TableLink;
0 5 2 id I
0 5 3 columns [Lorg/h2/table/IndexColumn;
0 5 4 indexType Lorg/h2/index/IndexType;
MethodParameters:
Name Flags
table
id
columns
indexType
public java.lang.String getCreateSQL();
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/LinkedIndex;
public void close(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)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/LinkedIndex;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
private static boolean isNull(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 v Lorg/h2/value/Value;
MethodParameters:
Name Flags
v
public void add(org.h2.engine.Session, org.h2.result.Row);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
ldc "INSERT INTO "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 4
start local 4 2: aload 4
aload 0
getfield org.h2.index.LinkedIndex.targetTableName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " VALUES("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: iconst_0
istore 5
start local 5 4: goto 17
5: StackMap locals: java.util.ArrayList java.lang.StringBuilder int
StackMap stack:
aload 2
iload 5
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
astore 6
start local 6 6: iload 5
ifle 8
7: aload 4
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals: org.h2.value.Value
StackMap stack:
aload 6
ifnonnull 11
9: aload 4
ldc "DEFAULT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 16
StackMap locals:
StackMap stack:
11: aload 6
invokestatic org.h2.index.LinkedIndex.isNull:(Lorg/h2/value/Value;)Z
ifeq 14
12: aload 4
ldc "NULL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 16
14: StackMap locals:
StackMap stack:
aload 4
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 16: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
aload 2
invokeinterface org.h2.result.Row.getColumnCount:()I
if_icmplt 5
end local 5 18: aload 4
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 20: aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
aload 5
aload 3
iconst_1
invokevirtual org.h2.table.TableLink.execute:(Ljava/lang/String;Ljava/util/ArrayList;Z)Ljava/sql/PreparedStatement;
pop
21: aload 0
dup
getfield org.h2.index.LinkedIndex.rowCount:J
lconst_1
ladd
putfield org.h2.index.LinkedIndex.rowCount:J
22: goto 25
StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.Row java.util.ArrayList java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.Exception
23: astore 6
start local 6 24: aload 5
aload 6
invokestatic org.h2.table.TableLink.wrapException:(Ljava/lang/String;Ljava/lang/Exception;)Lorg/h2/message/DbException;
athrow
end local 6 25: 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 26 0 this Lorg/h2/index/LinkedIndex;
0 26 1 session Lorg/h2/engine/Session;
0 26 2 row Lorg/h2/result/Row;
1 26 3 params Ljava/util/ArrayList<Lorg/h2/value/Value;>;
2 26 4 buff Ljava/lang/StringBuilder;
4 18 5 i I
6 16 6 v Lorg/h2/value/Value;
20 26 5 sql Ljava/lang/String;
24 25 6 e Ljava/lang/Exception;
Exception table:
from to target type
20 22 23 Class java.lang.Exception
MethodParameters:
Name Flags
session
row
public org.h2.index.Cursor find(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=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 4
start local 4 1: new java.lang.StringBuilder
dup
ldc "SELECT * FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.index.LinkedIndex.targetTableName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " T"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: iconst_0
istore 7
start local 7 4: goto 20
5: StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow java.util.ArrayList java.lang.StringBuilder int int
StackMap stack:
aload 2
iload 7
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
astore 8
start local 8 6: aload 8
ifnull 19
7: aload 5
iload 6
ifeq 8
ldc " AND "
goto 9
StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow java.util.ArrayList java.lang.StringBuilder int int org.h2.value.Value
StackMap stack: java.lang.StringBuilder
8: ldc " WHERE "
StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow java.util.ArrayList java.lang.StringBuilder int int org.h2.value.Value
StackMap stack: java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: iconst_1
istore 6
11: aload 0
getfield org.h2.index.LinkedIndex.table:Lorg/h2/table/Table;
iload 7
invokevirtual org.h2.table.Table.getColumn:(I)Lorg/h2/table/Column;
astore 9
start local 9 12: aload 9
aload 5
iconst_0
invokevirtual org.h2.table.Column.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
13: aload 8
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 16
14: aload 5
ldc " IS NULL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 19
16: StackMap locals: org.h2.table.Column
StackMap stack:
aload 5
ldc ">="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 0
aload 5
aload 9
invokevirtual org.h2.index.LinkedIndex.addParameter:(Ljava/lang/StringBuilder;Lorg/h2/table/Column;)V
18: aload 4
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 19: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
20: aload 2
ifnull 21
iload 7
aload 2
invokeinterface org.h2.result.SearchRow.getColumnCount:()I
if_icmplt 5
end local 7 21: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 22: goto 38
23: StackMap locals: int
StackMap stack:
aload 3
iload 7
invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
astore 8
start local 8 24: aload 8
ifnull 37
25: aload 5
iload 6
ifeq 26
ldc " AND "
goto 27
StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow java.util.ArrayList java.lang.StringBuilder int int org.h2.value.Value
StackMap stack: java.lang.StringBuilder
26: ldc " WHERE "
StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow java.util.ArrayList java.lang.StringBuilder int int org.h2.value.Value
StackMap stack: java.lang.StringBuilder java.lang.String
27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: iconst_1
istore 6
29: aload 0
getfield org.h2.index.LinkedIndex.table:Lorg/h2/table/Table;
iload 7
invokevirtual org.h2.table.Table.getColumn:(I)Lorg/h2/table/Column;
astore 9
start local 9 30: aload 9
aload 5
iconst_0
invokevirtual org.h2.table.Column.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
31: aload 8
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 34
32: aload 5
ldc " IS NULL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: goto 37
34: StackMap locals: org.h2.table.Column
StackMap stack:
aload 5
ldc "<="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: aload 0
aload 5
aload 9
invokevirtual org.h2.index.LinkedIndex.addParameter:(Ljava/lang/StringBuilder;Lorg/h2/table/Column;)V
36: aload 4
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 37: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
38: aload 3
ifnull 39
iload 7
aload 3
invokeinterface org.h2.result.SearchRow.getColumnCount:()I
if_icmplt 23
end local 7 39: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 40: aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
aload 7
aload 4
iconst_0
invokevirtual org.h2.table.TableLink.execute:(Ljava/lang/String;Ljava/util/ArrayList;Z)Ljava/sql/PreparedStatement;
astore 8
start local 8 41: aload 8
invokeinterface java.sql.PreparedStatement.getResultSet:()Ljava/sql/ResultSet;
astore 9
start local 9 42: new org.h2.index.LinkedCursor
dup
aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
aload 9
aload 1
aload 7
aload 8
invokespecial org.h2.index.LinkedCursor.<init>:(Lorg/h2/table/TableLink;Ljava/sql/ResultSet;Lorg/h2/engine/Session;Ljava/lang/String;Ljava/sql/PreparedStatement;)V
43: areturn
end local 9 end local 8 44: StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow java.util.ArrayList java.lang.StringBuilder int java.lang.String
StackMap stack: java.lang.Exception
astore 8
start local 8 45: aload 7
aload 8
invokestatic org.h2.table.TableLink.wrapException:(Ljava/lang/String;Ljava/lang/Exception;)Lorg/h2/message/DbException;
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/h2/index/LinkedIndex;
0 46 1 session Lorg/h2/engine/Session;
0 46 2 first Lorg/h2/result/SearchRow;
0 46 3 last Lorg/h2/result/SearchRow;
1 46 4 params Ljava/util/ArrayList<Lorg/h2/value/Value;>;
2 46 5 builder Ljava/lang/StringBuilder;
3 46 6 f Z
4 21 7 i I
6 19 8 v Lorg/h2/value/Value;
12 19 9 col Lorg/h2/table/Column;
22 39 7 i I
24 37 8 v Lorg/h2/value/Value;
30 37 9 col Lorg/h2/table/Column;
40 46 7 sql Ljava/lang/String;
41 44 8 prep Ljava/sql/PreparedStatement;
42 44 9 rs Ljava/sql/ResultSet;
45 46 8 e Ljava/lang/Exception;
Exception table:
from to target type
40 43 44 Class java.lang.Exception
MethodParameters:
Name Flags
session
first
last
private void addParameter(java.lang.StringBuilder, org.h2.table.Column);
descriptor: (Ljava/lang/StringBuilder;Lorg/h2/table/Column;)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
invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
astore 3
start local 3 1: aload 3
invokevirtual org.h2.value.TypeInfo.getValueType:()I
bipush 21
if_icmpne 4
aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
invokevirtual org.h2.table.TableLink.isOracle:()Z
ifeq 4
2: aload 1
ldc "CAST(? AS CHAR("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual org.h2.value.TypeInfo.getPrecision:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "))"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: goto 5
4: StackMap locals: org.h2.value.TypeInfo
StackMap stack:
aload 1
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
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/LinkedIndex;
0 6 1 builder Ljava/lang/StringBuilder;
0 6 2 col Lorg/h2/table/Column;
1 6 3 type Lorg/h2/value/TypeInfo;
MethodParameters:
Name Flags
builder
col
public double getCost(org.h2.engine.Session, int[], org.h2.table.TableFilter[], int, org.h2.result.SortOrder, org.h2.command.dml.AllColumnsForPlan);
descriptor: (Lorg/h2/engine/Session;[I[Lorg/h2/table/TableFilter;ILorg/h2/result/SortOrder;Lorg/h2/command/dml/AllColumnsForPlan;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: ldc 100
aload 0
aload 2
aload 0
getfield org.h2.index.LinkedIndex.rowCount:J
1: ldc 1000
ladd
aload 3
iload 4
aload 5
iconst_0
aload 6
2: invokevirtual org.h2.index.LinkedIndex.getCostRangeIndex:([IJ[Lorg/h2/table/TableFilter;ILorg/h2/result/SortOrder;ZLorg/h2/command/dml/AllColumnsForPlan;)J
ladd
l2d
dreturn
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 3 0 this Lorg/h2/index/LinkedIndex;
0 3 1 session Lorg/h2/engine/Session;
0 3 2 masks [I
0 3 3 filters [Lorg/h2/table/TableFilter;
0 3 4 filter I
0 3 5 sortOrder Lorg/h2/result/SortOrder;
0 3 6 allColumnsSet Lorg/h2/command/dml/AllColumnsForPlan;
MethodParameters:
Name Flags
session
masks
filters
filter
sortOrder
allColumnsSet
public void remove(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)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/LinkedIndex;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public void truncate(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)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/LinkedIndex;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public void checkRename();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "LINKED"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/LinkedIndex;
public boolean needRebuild();
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/LinkedIndex;
public boolean canGetFirstOrLast();
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/LinkedIndex;
public org.h2.index.Cursor findFirstOrLast(org.h2.engine.Session, boolean);
descriptor: (Lorg/h2/engine/Session;Z)Lorg/h2/index/Cursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "LINKED"
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/LinkedIndex;
0 1 1 session Lorg/h2/engine/Session;
0 1 2 first Z
MethodParameters:
Name Flags
session
first
public void remove(org.h2.engine.Session, org.h2.result.Row);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
ldc "DELETE FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.index.LinkedIndex.targetTableName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " WHERE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 17
4: StackMap locals: java.util.ArrayList java.lang.StringBuilder int
StackMap stack:
iload 5
ifle 6
5: aload 4
ldc "AND "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.LinkedIndex.table:Lorg/h2/table/Table;
iload 5
invokevirtual org.h2.table.Table.getColumn:(I)Lorg/h2/table/Column;
astore 6
start local 6 7: aload 6
aload 4
iconst_0
invokevirtual org.h2.table.Column.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
8: aload 2
iload 5
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
astore 7
start local 7 9: aload 7
invokestatic org.h2.index.LinkedIndex.isNull:(Lorg/h2/value/Value;)Z
ifeq 12
10: aload 4
ldc " IS NULL "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: goto 16
12: StackMap locals: org.h2.table.Column org.h2.value.Value
StackMap stack:
aload 4
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: aload 0
aload 4
aload 6
invokevirtual org.h2.index.LinkedIndex.addParameter:(Ljava/lang/StringBuilder;Lorg/h2/table/Column;)V
14: aload 3
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
15: aload 4
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 16: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
aload 2
invokeinterface org.h2.result.Row.getColumnCount:()I
if_icmplt 4
end local 5 18: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 19: aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
aload 5
aload 3
iconst_0
invokevirtual org.h2.table.TableLink.execute:(Ljava/lang/String;Ljava/util/ArrayList;Z)Ljava/sql/PreparedStatement;
astore 6
start local 6 20: aload 6
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
istore 7
start local 7 21: aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
aload 6
aload 5
invokevirtual org.h2.table.TableLink.reusePreparedStatement:(Ljava/sql/PreparedStatement;Ljava/lang/String;)V
22: aload 0
dup
getfield org.h2.index.LinkedIndex.rowCount:J
iload 7
i2l
lsub
putfield org.h2.index.LinkedIndex.rowCount:J
end local 7 end local 6 23: goto 26
StackMap locals: org.h2.index.LinkedIndex org.h2.engine.Session org.h2.result.Row java.util.ArrayList java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.Exception
24: astore 6
start local 6 25: aload 5
aload 6
invokestatic org.h2.table.TableLink.wrapException:(Ljava/lang/String;Ljava/lang/Exception;)Lorg/h2/message/DbException;
athrow
end local 6 26: 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 27 0 this Lorg/h2/index/LinkedIndex;
0 27 1 session Lorg/h2/engine/Session;
0 27 2 row Lorg/h2/result/Row;
1 27 3 params Ljava/util/ArrayList<Lorg/h2/value/Value;>;
2 27 4 builder Ljava/lang/StringBuilder;
3 18 5 i I
7 16 6 col Lorg/h2/table/Column;
9 16 7 v Lorg/h2/value/Value;
19 27 5 sql Ljava/lang/String;
20 23 6 prep Ljava/sql/PreparedStatement;
21 23 7 count I
25 26 6 e Ljava/lang/Exception;
Exception table:
from to target type
19 23 24 Class java.lang.Exception
MethodParameters:
Name Flags
session
row
public void update(org.h2.result.Row, org.h2.result.Row);
descriptor: (Lorg/h2/result/Row;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
ldc "UPDATE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.index.LinkedIndex.targetTableName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " SET "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 14
4: StackMap locals: java.util.ArrayList java.lang.StringBuilder int
StackMap stack:
iload 5
ifle 6
5: aload 4
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.LinkedIndex.table:Lorg/h2/table/Table;
iload 5
invokevirtual org.h2.table.Table.getColumn:(I)Lorg/h2/table/Column;
aload 4
iconst_0
invokevirtual org.h2.table.Column.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 2
iload 5
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
astore 6
start local 6 8: aload 6
ifnonnull 11
9: aload 4
ldc "DEFAULT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 13
11: StackMap locals: org.h2.value.Value
StackMap stack:
aload 4
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 13: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 2
invokeinterface org.h2.result.Row.getColumnCount:()I
if_icmplt 4
end local 5 15: aload 4
ldc " WHERE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: iconst_0
istore 5
start local 5 17: goto 30
18: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.index.LinkedIndex.table:Lorg/h2/table/Table;
iload 5
invokevirtual org.h2.table.Table.getColumn:(I)Lorg/h2/table/Column;
astore 6
start local 6 19: iload 5
ifle 21
20: aload 4
ldc " AND "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: StackMap locals: org.h2.table.Column
StackMap stack:
aload 6
aload 4
iconst_0
invokevirtual org.h2.table.Column.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
22: aload 1
iload 5
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
astore 7
start local 7 23: aload 7
invokestatic org.h2.index.LinkedIndex.isNull:(Lorg/h2/value/Value;)Z
ifeq 26
24: aload 4
ldc " IS NULL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: goto 29
26: StackMap locals: org.h2.value.Value
StackMap stack:
aload 4
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: aload 3
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
28: aload 0
aload 4
aload 6
invokevirtual org.h2.index.LinkedIndex.addParameter:(Ljava/lang/StringBuilder;Lorg/h2/table/Column;)V
end local 7 end local 6 29: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
aload 1
invokeinterface org.h2.result.Row.getColumnCount:()I
if_icmplt 18
end local 5 31: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 32: aload 0
getfield org.h2.index.LinkedIndex.link:Lorg/h2/table/TableLink;
aload 5
aload 3
iconst_1
invokevirtual org.h2.table.TableLink.execute:(Ljava/lang/String;Ljava/util/ArrayList;Z)Ljava/sql/PreparedStatement;
pop
33: goto 36
StackMap locals: org.h2.index.LinkedIndex org.h2.result.Row org.h2.result.Row java.util.ArrayList java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.Exception
34: astore 6
start local 6 35: aload 5
aload 6
invokestatic org.h2.table.TableLink.wrapException:(Ljava/lang/String;Ljava/lang/Exception;)Lorg/h2/message/DbException;
athrow
end local 6 36: 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 37 0 this Lorg/h2/index/LinkedIndex;
0 37 1 oldRow Lorg/h2/result/Row;
0 37 2 newRow Lorg/h2/result/Row;
1 37 3 params Ljava/util/ArrayList<Lorg/h2/value/Value;>;
2 37 4 builder Ljava/lang/StringBuilder;
3 15 5 i I
8 13 6 v Lorg/h2/value/Value;
17 31 5 i I
19 29 6 col Lorg/h2/table/Column;
23 29 7 v Lorg/h2/value/Value;
32 37 5 sql Ljava/lang/String;
35 36 6 e Ljava/lang/Exception;
Exception table:
from to target type
32 33 34 Class java.lang.Exception
MethodParameters:
Name Flags
oldRow
newRow
public long getRowCount(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.index.LinkedIndex.rowCount:J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/LinkedIndex;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public long getRowCountApproximation();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.index.LinkedIndex.rowCount:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/LinkedIndex;
public long getDiskSpaceUsed();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/index/LinkedIndex;
}
SourceFile: "LinkedIndex.java"