public class org.h2.table.TableLink extends org.h2.table.Table
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.table.TableLink
super_class: org.h2.table.Table
{
private static final int MAX_RETRY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final long ROW_COUNT_APPROXIMATION;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100000
private final java.lang.String originalSchema;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String driver;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String url;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String user;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String password;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String originalTable;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String qualifiedTableName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private org.h2.table.TableLinkConnection conn;
descriptor: Lorg/h2/table/TableLinkConnection;
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap<java.lang.String, java.sql.PreparedStatement> preparedMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/sql/PreparedStatement;>;
private final java.util.ArrayList<org.h2.index.Index> indexes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/h2/index/Index;>;
private final boolean emitUpdates;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.h2.index.LinkedIndex linkedIndex;
descriptor: Lorg/h2/index/LinkedIndex;
flags: (0x0002) ACC_PRIVATE
private org.h2.message.DbException connectException;
descriptor: Lorg/h2/message/DbException;
flags: (0x0002) ACC_PRIVATE
private boolean storesLowerCase;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean storesMixedCase;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean storesMixedCaseQuoted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean supportsMixedCaseIdentifiers;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean globalTemporary;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean readOnly;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean targetsMySql;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.h2.schema.Schema, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Lorg/h2/schema/Schema;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
aload 1
iload 2
aload 3
iconst_0
iconst_1
invokespecial org.h2.table.Table.<init>:(Lorg/h2/schema/Schema;ILjava/lang/String;ZZ)V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.h2.table.TableLink.preparedMap:Ljava/util/HashMap;
2: aload 0
invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
putfield org.h2.table.TableLink.indexes:Ljava/util/ArrayList;
3: aload 0
aload 4
putfield org.h2.table.TableLink.driver:Ljava/lang/String;
4: aload 0
aload 5
putfield org.h2.table.TableLink.url:Ljava/lang/String;
5: aload 0
aload 6
putfield org.h2.table.TableLink.user:Ljava/lang/String;
6: aload 0
aload 7
putfield org.h2.table.TableLink.password:Ljava/lang/String;
7: aload 0
aload 8
putfield org.h2.table.TableLink.originalSchema:Ljava/lang/String;
8: aload 0
aload 9
putfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
9: aload 0
iload 10
putfield org.h2.table.TableLink.emitUpdates:Z
10: aload 0
aload 0
getfield org.h2.table.TableLink.url:Ljava/lang/String;
invokestatic org.h2.table.TableLink.isMySqlUrl:(Ljava/lang/String;)Z
putfield org.h2.table.TableLink.targetsMySql:Z
11: aload 0
invokevirtual org.h2.table.TableLink.connect:()V
12: goto 22
StackMap locals: org.h2.table.TableLink org.h2.schema.Schema int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int
StackMap stack: org.h2.message.DbException
13: astore 12
start local 12 14: iload 11
ifne 16
15: aload 12
athrow
16: StackMap locals: org.h2.message.DbException
StackMap stack:
iconst_0
anewarray org.h2.table.Column
astore 13
start local 13 17: aload 0
aload 13
invokevirtual org.h2.table.TableLink.setColumns:([Lorg/h2/table/Column;)V
18: aload 0
new org.h2.index.LinkedIndex
dup
aload 0
iload 2
aload 13
invokestatic org.h2.table.IndexColumn.wrap:([Lorg/h2/table/Column;)[Lorg/h2/table/IndexColumn;
19: iconst_0
invokestatic org.h2.index.IndexType.createNonUnique:(Z)Lorg/h2/index/IndexType;
invokespecial org.h2.index.LinkedIndex.<init>:(Lorg/h2/table/TableLink;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
20: putfield org.h2.table.TableLink.linkedIndex:Lorg/h2/index/LinkedIndex;
21: aload 0
getfield org.h2.table.TableLink.indexes:Ljava/util/ArrayList;
aload 0
getfield org.h2.table.TableLink.linkedIndex:Lorg/h2/index/LinkedIndex;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 22: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 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 23 0 this Lorg/h2/table/TableLink;
0 23 1 schema Lorg/h2/schema/Schema;
0 23 2 id I
0 23 3 name Ljava/lang/String;
0 23 4 driver Ljava/lang/String;
0 23 5 url Ljava/lang/String;
0 23 6 user Ljava/lang/String;
0 23 7 password Ljava/lang/String;
0 23 8 originalSchema Ljava/lang/String;
0 23 9 originalTable Ljava/lang/String;
0 23 10 emitUpdates Z
0 23 11 force Z
14 22 12 e Lorg/h2/message/DbException;
17 22 13 cols [Lorg/h2/table/Column;
Exception table:
from to target type
11 12 13 Class org.h2.message.DbException
MethodParameters:
Name Flags
schema
id
name
driver
url
user
password
originalSchema
originalTable
emitUpdates
force
private void connect();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.h2.table.TableLink.connectException:Lorg/h2/message/DbException;
1: iconst_0
istore 1
start local 1 2: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield org.h2.table.TableLink.database:Lorg/h2/engine/Database;
aload 0
getfield org.h2.table.TableLink.driver:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.url:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.user:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.password:Ljava/lang/String;
invokevirtual org.h2.engine.Database.getLinkConnection:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/table/TableLinkConnection;
putfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
3: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
dup
astore 2
monitorenter
4: aload 0
invokevirtual org.h2.table.TableLink.readMetaData:()V
5: aload 2
monitorexit
6: return
7: StackMap locals: org.h2.table.TableLink int org.h2.table.TableLinkConnection
StackMap stack: java.lang.Exception
astore 3
start local 3 8: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
iconst_1
invokevirtual org.h2.table.TableLinkConnection.close:(Z)V
9: aload 0
aconst_null
putfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
10: aload 3
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 3 11: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
12: athrow
13: StackMap locals: org.h2.table.TableLink int
StackMap stack: org.h2.message.DbException
astore 2
start local 2 14: iload 1
iconst_2
if_icmplt 17
15: aload 0
aload 2
putfield org.h2.table.TableLink.connectException:Lorg/h2/message/DbException;
16: aload 2
athrow
end local 2 17: StackMap locals:
StackMap stack:
iinc 1 1
goto 2
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/h2/table/TableLink;
2 18 1 retry I
8 11 3 e Ljava/lang/Exception;
14 17 2 e Lorg/h2/message/DbException;
Exception table:
from to target type
4 5 7 Class java.lang.Exception
4 6 11 any
7 12 11 any
2 6 13 Class org.h2.message.DbException
7 13 13 Class org.h2.message.DbException
private void readMetaData();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=19, args_size=1
start local 0 0: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
invokevirtual org.h2.table.TableLinkConnection.getConnection:()Ljava/sql/Connection;
invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
astore 1
start local 1 1: aload 0
aload 1
invokeinterface java.sql.DatabaseMetaData.storesLowerCaseIdentifiers:()Z
putfield org.h2.table.TableLink.storesLowerCase:Z
2: aload 0
aload 1
invokeinterface java.sql.DatabaseMetaData.storesMixedCaseIdentifiers:()Z
putfield org.h2.table.TableLink.storesMixedCase:Z
3: aload 0
aload 1
invokeinterface java.sql.DatabaseMetaData.storesMixedCaseQuotedIdentifiers:()Z
putfield org.h2.table.TableLink.storesMixedCaseQuoted:Z
4: aload 0
aload 1
invokeinterface java.sql.DatabaseMetaData.supportsMixedCaseIdentifiers:()Z
putfield org.h2.table.TableLink.supportsMixedCaseIdentifiers:Z
5: aload 1
aconst_null
aload 0
getfield org.h2.table.TableLink.originalSchema:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
aconst_null
invokeinterface java.sql.DatabaseMetaData.getTables:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/ResultSet;
astore 2
start local 2 6: aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifeq 8
aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifeq 8
7: ldc 90080
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
8: StackMap locals: java.sql.DatabaseMetaData java.sql.ResultSet
StackMap stack:
aload 2
invokeinterface java.sql.ResultSet.close:()V
9: aload 1
aconst_null
aload 0
getfield org.h2.table.TableLink.originalSchema:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
aconst_null
invokeinterface java.sql.DatabaseMetaData.getColumns:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
astore 2
10: iconst_0
istore 3
start local 3 11: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 4
start local 4 12: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 13: aconst_null
astore 6
start local 6 14: aconst_null
astore 7
start local 7 15: goto 40
16: StackMap locals: org.h2.table.TableLink java.sql.DatabaseMetaData java.sql.ResultSet int java.util.ArrayList java.util.HashMap java.lang.String java.lang.String
StackMap stack:
aload 2
ldc "TABLE_CAT"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 17: aload 6
ifnonnull 19
18: aload 8
astore 6
19: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "TABLE_SCHEM"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 20: aload 7
ifnonnull 22
21: aload 9
astore 7
22: StackMap locals: java.lang.String
StackMap stack:
aload 6
aload 8
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 24
23: aload 7
aload 9
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 27
24: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.HashMap.clear:()V
25: aload 4
invokevirtual java.util.ArrayList.clear:()V
26: goto 41
27: StackMap locals:
StackMap stack:
aload 2
ldc "COLUMN_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 28: aload 0
aload 10
invokevirtual org.h2.table.TableLink.convertColumnName:(Ljava/lang/String;)Ljava/lang/String;
astore 10
29: aload 2
ldc "DATA_TYPE"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
istore 11
start local 11 30: aload 2
ldc "TYPE_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 31: aload 2
ldc "COLUMN_SIZE"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
i2l
lstore 13
start local 13 32: iload 11
lload 13
invokestatic org.h2.table.TableLink.convertPrecision:(IJ)J
lstore 13
33: aload 2
ldc "DECIMAL_DIGITS"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
istore 15
start local 15 34: iload 11
iload 15
invokestatic org.h2.table.TableLink.convertScale:(II)I
istore 15
35: iload 11
aload 12
invokestatic org.h2.value.DataType.convertSQLTypeToValueType:(ILjava/lang/String;)I
istore 16
start local 16 36: new org.h2.table.Column
dup
aload 10
iload 16
lload 13
iload 15
aconst_null
invokestatic org.h2.value.TypeInfo.getTypeInfo:(IJILorg/h2/value/ExtTypeInfo;)Lorg/h2/value/TypeInfo;
invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;Lorg/h2/value/TypeInfo;)V
astore 17
start local 17 37: aload 17
aload 0
iload 3
iinc 3 1
invokevirtual org.h2.table.Column.setTable:(Lorg/h2/table/Table;I)V
38: aload 4
aload 17
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
39: aload 5
aload 10
aload 17
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 17 end local 16 end local 15 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 40: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifne 16
41: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.sql.ResultSet.close:()V
42: aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifge 45
aload 7
invokestatic org.h2.util.StringUtils.isNullOrEmpty:(Ljava/lang/String;)Z
ifne 45
43: aload 0
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.h2.table.TableLink.qualifiedTableName:Ljava/lang/String;
44: goto 46
45: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
putfield org.h2.table.TableLink.qualifiedTableName:Ljava/lang/String;
46: StackMap locals:
StackMap stack:
aconst_null
astore 8
aconst_null
astore 9
47: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
invokevirtual org.h2.table.TableLinkConnection.getConnection:()Ljava/sql/Connection;
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 10
start local 10 48: aload 10
new java.lang.StringBuilder
dup
ldc "SELECT * FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: aload 0
getfield org.h2.table.TableLink.qualifiedTableName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " T WHERE 1=0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 2
51: aload 4
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 67
52: aload 2
invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
astore 11
start local 11 53: iconst_0
istore 3
goto 66
54: StackMap locals: org.h2.table.TableLink java.sql.DatabaseMetaData java.sql.ResultSet int java.util.ArrayList java.util.HashMap java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSetMetaData
StackMap stack:
aload 11
iload 3
iconst_1
iadd
invokeinterface java.sql.ResultSetMetaData.getColumnName:(I)Ljava/lang/String;
astore 12
start local 12 55: aload 0
aload 12
invokevirtual org.h2.table.TableLink.convertColumnName:(Ljava/lang/String;)Ljava/lang/String;
astore 12
56: aload 11
iload 3
iconst_1
iadd
invokeinterface java.sql.ResultSetMetaData.getColumnType:(I)I
istore 13
start local 13 57: aload 11
iload 3
iconst_1
iadd
invokeinterface java.sql.ResultSetMetaData.getPrecision:(I)I
i2l
lstore 14
start local 14 58: iload 13
lload 14
invokestatic org.h2.table.TableLink.convertPrecision:(IJ)J
lstore 14
59: aload 11
iload 3
iconst_1
iadd
invokeinterface java.sql.ResultSetMetaData.getScale:(I)I
istore 16
start local 16 60: iload 13
iload 16
invokestatic org.h2.table.TableLink.convertScale:(II)I
istore 16
61: aload 11
iload 3
iconst_1
iadd
invokestatic org.h2.value.DataType.getValueTypeFromResultSet:(Ljava/sql/ResultSetMetaData;I)I
istore 17
start local 17 62: new org.h2.table.Column
dup
aload 12
iload 17
lload 14
iload 16
aconst_null
invokestatic org.h2.value.TypeInfo.getTypeInfo:(IJILorg/h2/value/ExtTypeInfo;)Lorg/h2/value/TypeInfo;
invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;Lorg/h2/value/TypeInfo;)V
astore 18
start local 18 63: aload 18
aload 0
iload 3
iinc 3 1
invokevirtual org.h2.table.Column.setTable:(Lorg/h2/table/Table;I)V
64: aload 4
aload 18
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
65: aload 5
aload 12
aload 18
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 18 end local 17 end local 16 end local 14 end local 13 end local 12 66: StackMap locals:
StackMap stack:
iload 3
aload 11
invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
if_icmplt 54
end local 11 67: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.sql.ResultSet.close:()V
68: aload 10
ifnull 78
aload 10
invokeinterface java.sql.Statement.close:()V
goto 78
StackMap locals:
StackMap stack: java.lang.Throwable
69: astore 8
aload 10
ifnull 70
aload 10
invokeinterface java.sql.Statement.close:()V
end local 10 StackMap locals:
StackMap stack:
70: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
71: astore 9
aload 8
ifnonnull 72
aload 9
astore 8
goto 73
StackMap locals:
StackMap stack:
72: aload 8
aload 9
if_acmpeq 73
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
73: aload 8
athrow
StackMap locals: org.h2.table.TableLink java.sql.DatabaseMetaData java.sql.ResultSet int java.util.ArrayList java.util.HashMap java.lang.String java.lang.String
StackMap stack: java.lang.Exception
74: astore 8
start local 8 75: ldc 42102
aload 8
iconst_1
anewarray java.lang.String
dup
iconst_0
76: new java.lang.StringBuilder
dup
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
77: invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 8 78: StackMap locals:
StackMap stack:
aload 4
iconst_0
anewarray org.h2.table.Column
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.h2.table.Column[]
astore 8
start local 8 79: aload 0
aload 8
invokevirtual org.h2.table.TableLink.setColumns:([Lorg/h2/table/Column;)V
80: aload 0
invokevirtual org.h2.table.TableLink.getId:()I
istore 9
start local 9 81: aload 0
new org.h2.index.LinkedIndex
dup
aload 0
iload 9
aload 8
invokestatic org.h2.table.IndexColumn.wrap:([Lorg/h2/table/Column;)[Lorg/h2/table/IndexColumn;
82: iconst_0
invokestatic org.h2.index.IndexType.createNonUnique:(Z)Lorg/h2/index/IndexType;
invokespecial org.h2.index.LinkedIndex.<init>:(Lorg/h2/table/TableLink;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
83: putfield org.h2.table.TableLink.linkedIndex:Lorg/h2/index/LinkedIndex;
84: aload 0
getfield org.h2.table.TableLink.indexes:Ljava/util/ArrayList;
aload 0
getfield org.h2.table.TableLink.linkedIndex:Lorg/h2/index/LinkedIndex;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
85: aload 1
aconst_null
aload 0
getfield org.h2.table.TableLink.originalSchema:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
invokeinterface java.sql.DatabaseMetaData.getPrimaryKeys:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
astore 2
86: goto 89
StackMap locals: org.h2.table.TableLink java.sql.DatabaseMetaData java.sql.ResultSet int java.util.ArrayList java.util.HashMap java.lang.String java.lang.String org.h2.table.Column[] int
StackMap stack: java.lang.Exception
87: pop
88: aconst_null
astore 2
89: StackMap locals:
StackMap stack:
ldc ""
astore 10
start local 10 90: aload 2
ifnull 108
aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifeq 108
91: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 11
start local 11 92: StackMap locals: java.lang.String java.util.ArrayList
StackMap stack:
aload 2
ldc "KEY_SEQ"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
istore 12
start local 12 93: aload 10
ifnonnull 97
94: aload 2
ldc "PK_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 10
95: goto 97
96: StackMap locals: int
StackMap stack:
aload 11
aconst_null
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
97: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.util.ArrayList.size:()I
iload 12
if_icmplt 96
98: aload 2
ldc "COLUMN_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 13
start local 13 99: aload 0
aload 13
invokevirtual org.h2.table.TableLink.convertColumnName:(Ljava/lang/String;)Ljava/lang/String;
astore 13
100: aload 5
aload 13
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.table.Column
astore 14
start local 14 101: iload 12
ifne 104
102: aload 11
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
103: goto 105
104: StackMap locals: java.lang.String org.h2.table.Column
StackMap stack:
aload 11
iload 12
iconst_1
isub
aload 14
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 105: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifne 92
106: aload 0
aload 11
iconst_0
iconst_0
invokestatic org.h2.index.IndexType.createPrimaryKey:(ZZ)Lorg/h2/index/IndexType;
invokevirtual org.h2.table.TableLink.addIndex:(Ljava/util/List;Lorg/h2/index/IndexType;)V
107: aload 2
invokeinterface java.sql.ResultSet.close:()V
end local 11 108: StackMap locals:
StackMap stack:
aload 1
aconst_null
aload 0
getfield org.h2.table.TableLink.originalSchema:Ljava/lang/String;
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
iconst_0
iconst_1
invokeinterface java.sql.DatabaseMetaData.getIndexInfo:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/sql/ResultSet;
astore 2
109: goto 112
StackMap locals:
StackMap stack: java.lang.Exception
110: pop
111: aconst_null
astore 2
112: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 113: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 11
start local 11 114: aconst_null
astore 13
start local 13 115: aload 2
ifnull 140
116: goto 138
117: StackMap locals: java.util.ArrayList java.lang.String org.h2.index.IndexType
StackMap stack:
aload 2
ldc "TYPE"
invokeinterface java.sql.ResultSet.getShort:(Ljava/lang/String;)S
ifne 119
118: goto 138
119: StackMap locals:
StackMap stack:
aload 2
ldc "INDEX_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 14
start local 14 120: aload 10
aload 14
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 122
121: goto 138
122: StackMap locals: java.lang.String
StackMap stack:
aload 12
ifnull 125
aload 12
aload 14
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 125
123: aload 0
aload 11
aload 13
invokevirtual org.h2.table.TableLink.addIndex:(Ljava/util/List;Lorg/h2/index/IndexType;)V
124: aconst_null
astore 12
125: StackMap locals:
StackMap stack:
aload 12
ifnonnull 128
126: aload 14
astore 12
127: aload 11
invokevirtual java.util.ArrayList.clear:()V
128: StackMap locals:
StackMap stack:
aload 2
ldc "NON_UNIQUE"
invokeinterface java.sql.ResultSet.getBoolean:(Ljava/lang/String;)Z
ifeq 129
iconst_0
goto 130
StackMap locals:
StackMap stack:
129: iconst_1
StackMap locals:
StackMap stack: int
130: istore 15
start local 15 131: iload 15
ifeq 132
iconst_0
iconst_0
invokestatic org.h2.index.IndexType.createUnique:(ZZ)Lorg/h2/index/IndexType;
goto 133
132: StackMap locals: int
StackMap stack:
iconst_0
invokestatic org.h2.index.IndexType.createNonUnique:(Z)Lorg/h2/index/IndexType;
133: StackMap locals:
StackMap stack: org.h2.index.IndexType
astore 13
134: aload 2
ldc "COLUMN_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 16
start local 16 135: aload 0
aload 16
invokevirtual org.h2.table.TableLink.convertColumnName:(Ljava/lang/String;)Ljava/lang/String;
astore 16
136: aload 5
aload 16
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.h2.table.Column
astore 17
start local 17 137: aload 11
aload 17
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 15 end local 14 138: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifne 117
139: aload 2
invokeinterface java.sql.ResultSet.close:()V
140: StackMap locals:
StackMap stack:
aload 12
ifnull 142
141: aload 0
aload 11
aload 13
invokevirtual org.h2.table.TableLink.addIndex:(Ljava/util/List;Lorg/h2/index/IndexType;)V
142: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 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 143 0 this Lorg/h2/table/TableLink;
1 143 1 meta Ljava/sql/DatabaseMetaData;
6 143 2 rs Ljava/sql/ResultSet;
11 143 3 i I
12 143 4 columnList Ljava/util/ArrayList<Lorg/h2/table/Column;>;
13 143 5 columnMap Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/table/Column;>;
14 143 6 catalog Ljava/lang/String;
15 143 7 schema Ljava/lang/String;
17 40 8 thisCatalog Ljava/lang/String;
20 40 9 thisSchema Ljava/lang/String;
28 40 10 n Ljava/lang/String;
30 40 11 sqlType I
31 40 12 sqlTypeName Ljava/lang/String;
32 40 13 precision J
34 40 15 scale I
36 40 16 type I
37 40 17 col Lorg/h2/table/Column;
48 70 10 stat Ljava/sql/Statement;
53 67 11 rsMeta Ljava/sql/ResultSetMetaData;
55 66 12 n Ljava/lang/String;
57 66 13 sqlType I
58 66 14 precision J
60 66 16 scale I
62 66 17 type I
63 66 18 col Lorg/h2/table/Column;
75 78 8 e Ljava/lang/Exception;
79 143 8 cols [Lorg/h2/table/Column;
81 143 9 id I
90 143 10 pkName Ljava/lang/String;
92 108 11 list Ljava/util/ArrayList<Lorg/h2/table/Column;>;
114 143 11 list Ljava/util/ArrayList<Lorg/h2/table/Column;>;
93 105 12 idx I
99 105 13 col Ljava/lang/String;
101 105 14 column Lorg/h2/table/Column;
113 143 12 indexName Ljava/lang/String;
115 143 13 indexType Lorg/h2/index/IndexType;
120 138 14 newIndex Ljava/lang/String;
131 138 15 unique Z
135 138 16 col Ljava/lang/String;
137 138 17 column Lorg/h2/table/Column;
Exception table:
from to target type
48 68 69 any
47 71 71 any
46 74 74 Class java.lang.Exception
85 86 87 Class java.lang.Exception
108 109 110 Class java.lang.Exception
Exceptions:
throws java.sql.SQLException
private static long convertPrecision(int, long);
descriptor: (IJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 0
lookupswitch { // 5
2: 1
3: 1
91: 4
92: 8
93: 6
default: 9
}
1: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifne 9
2: ldc 65535
lstore 1
3: goto 9
4: StackMap locals:
StackMap stack:
ldc 10
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
5: goto 9
6: StackMap locals:
StackMap stack:
ldc 29
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
7: goto 9
8: StackMap locals:
StackMap stack:
ldc 18
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
9: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 sqlType I
0 10 1 precision J
MethodParameters:
Name Flags
sqlType
precision
private static int convertScale(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 0
tableswitch { // 2 - 3
2: 1
3: 1
default: 3
}
1: StackMap locals:
StackMap stack:
iload 1
ifge 3
2: sipush 32767
istore 1
3: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sqlType I
0 4 1 scale I
MethodParameters:
Name Flags
sqlType
scale
private java.lang.String convertColumnName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.table.TableLink.targetsMySql:Z
ifeq 3
1: aload 1
invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
astore 1
2: goto 12
StackMap locals:
StackMap stack:
3: aload 0
getfield org.h2.table.TableLink.storesMixedCase:Z
ifne 4
aload 0
getfield org.h2.table.TableLink.storesLowerCase:Z
ifeq 7
4: StackMap locals:
StackMap stack:
aload 1
aload 1
invokestatic org.h2.util.StringUtils.toLowerEnglish:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 1
invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
astore 1
6: goto 12
StackMap locals:
StackMap stack:
7: aload 0
getfield org.h2.table.TableLink.storesMixedCase:Z
ifeq 10
aload 0
getfield org.h2.table.TableLink.supportsMixedCaseIdentifiers:Z
ifne 10
8: aload 1
invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
astore 1
9: goto 12
StackMap locals:
StackMap stack:
10: aload 0
getfield org.h2.table.TableLink.storesMixedCase:Z
ifeq 12
aload 0
getfield org.h2.table.TableLink.storesMixedCaseQuoted:Z
ifeq 12
11: aload 1
invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
astore 1
12: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/h2/table/TableLink;
0 13 1 columnName Ljava/lang/String;
MethodParameters:
Name Flags
columnName
private void addIndex(java.util.List<org.h2.table.Column>, org.h2.index.IndexType);
descriptor: (Ljava/util/List;Lorg/h2/index/IndexType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aconst_null
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifne 4
2: aload 0
getfield org.h2.table.TableLink.trace:Lorg/h2/message/Trace;
ldc "Omitting linked index - no recognized columns."
invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;)V
3: return
4: StackMap locals: int
StackMap stack:
iload 3
ifle 9
5: aload 0
getfield org.h2.table.TableLink.trace:Lorg/h2/message/Trace;
ldc "Unrecognized columns in linked index. Registering the index against the leading {0} recognized columns of {1} total columns."
iconst_2
anewarray java.lang.Object
dup
iconst_0
6: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
7: invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
8: aload 1
iconst_0
iload 3
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 1
9: StackMap locals:
StackMap stack:
aload 1
iconst_0
anewarray org.h2.table.Column
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.h2.table.Column[]
astore 4
start local 4 10: new org.h2.index.LinkedIndex
dup
aload 0
iconst_0
aload 4
invokestatic org.h2.table.IndexColumn.wrap:([Lorg/h2/table/Column;)[Lorg/h2/table/IndexColumn;
aload 2
invokespecial org.h2.index.LinkedIndex.<init>:(Lorg/h2/table/TableLink;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
astore 5
start local 5 11: aload 0
getfield org.h2.table.TableLink.indexes:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: 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 13 0 this Lorg/h2/table/TableLink;
0 13 1 list Ljava/util/List<Lorg/h2/table/Column;>;
0 13 2 indexType Lorg/h2/index/IndexType;
1 13 3 firstNull I
10 13 4 cols [Lorg/h2/table/Column;
11 13 5 index Lorg/h2/index/Index;
Signature: (Ljava/util/List<Lorg/h2/table/Column;>;Lorg/h2/index/IndexType;)V
MethodParameters:
Name Flags
list
indexType
public java.lang.String getDropSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "DROP TABLE IF EXISTS "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
aload 1
iconst_1
invokevirtual org.h2.table.TableLink.getSQL:(Ljava/lang/StringBuilder;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 2 0 this Lorg/h2/table/TableLink;
1 2 1 builder Ljava/lang/StringBuilder;
public java.lang.String getCreateSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "CREATE FORCE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
invokevirtual org.h2.table.TableLink.isTemporary:()Z
ifeq 7
2: aload 0
getfield org.h2.table.TableLink.globalTemporary:Z
ifeq 5
3: aload 1
ldc "GLOBAL "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: goto 6
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ldc "LOCAL "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 1
ldc "TEMPORARY "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 1
ldc "LINKED TABLE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 0
aload 1
iconst_1
invokevirtual org.h2.table.TableLink.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
pop
9: aload 0
getfield org.h2.table.TableLink.comment:Ljava/lang/String;
ifnull 12
10: aload 1
ldc " COMMENT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 1
aload 0
getfield org.h2.table.TableLink.comment:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
aload 1
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: aload 1
aload 0
getfield org.h2.table.TableLink.driver:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 1
aload 0
getfield org.h2.table.TableLink.url:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 1
aload 0
getfield org.h2.table.TableLink.user:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 1
aload 0
getfield org.h2.table.TableLink.password:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 1
aload 0
getfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: aload 0
getfield org.h2.table.TableLink.emitUpdates:Z
ifeq 20
19: aload 1
ldc " EMIT UPDATES"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.table.TableLink.readOnly:Z
ifeq 22
21: aload 1
ldc " READONLY"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: StackMap locals:
StackMap stack:
aload 1
ldc " /*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "--hide--"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "*/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/h2/table/TableLink;
1 24 1 buff Ljava/lang/StringBuilder;
public org.h2.index.Index addIndex(org.h2.engine.Session, java.lang.String, int, org.h2.table.IndexColumn[], org.h2.index.IndexType, boolean, java.lang.String);
descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;ZLjava/lang/String;)Lorg/h2/index/Index;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: ldc "LINK"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
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 1 0 this Lorg/h2/table/TableLink;
0 1 1 session Lorg/h2/engine/Session;
0 1 2 indexName Ljava/lang/String;
0 1 3 indexId I
0 1 4 cols [Lorg/h2/table/IndexColumn;
0 1 5 indexType Lorg/h2/index/IndexType;
0 1 6 create Z
0 1 7 indexComment Ljava/lang/String;
MethodParameters:
Name Flags
session
indexName
indexId
cols
indexType
create
indexComment
public boolean lock(org.h2.engine.Session, boolean, boolean);
descriptor: (Lorg/h2/engine/Session;ZZ)Z
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: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
0 1 1 session Lorg/h2/engine/Session;
0 1 2 exclusive Z
0 1 3 forceLockEvenInMvcc Z
MethodParameters:
Name Flags
session
exclusive
forceLockEvenInMvcc
public boolean isLockedExclusively();
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/table/TableLink;
public org.h2.index.Index getScanIndex(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/index/Index;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.table.TableLink.linkedIndex:Lorg/h2/index/LinkedIndex;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
private void checkReadOnly();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.TableLink.readOnly:Z
ifeq 2
1: ldc 90097
invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/table/TableLink;
public void removeRow(org.h2.engine.Session, org.h2.result.Row);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.h2.table.TableLink.checkReadOnly:()V
1: aload 0
aload 1
invokevirtual org.h2.table.TableLink.getScanIndex:(Lorg/h2/engine/Session;)Lorg/h2/index/Index;
aload 1
aload 2
invokeinterface org.h2.index.Index.remove:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/table/TableLink;
0 3 1 session Lorg/h2/engine/Session;
0 3 2 row Lorg/h2/result/Row;
MethodParameters:
Name Flags
session
row
public void addRow(org.h2.engine.Session, org.h2.result.Row);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.h2.table.TableLink.checkReadOnly:()V
1: aload 0
aload 1
invokevirtual org.h2.table.TableLink.getScanIndex:(Lorg/h2/engine/Session;)Lorg/h2/index/Index;
aload 1
aload 2
invokeinterface org.h2.index.Index.add:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/table/TableLink;
0 3 1 session Lorg/h2/engine/Session;
0 3 2 row Lorg/h2/result/Row;
MethodParameters:
Name Flags
session
row
public void close(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
ifnull 7
1: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
iconst_0
invokevirtual org.h2.table.TableLinkConnection.close:(Z)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
aconst_null
putfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/table/TableLink;
0 8 1 session Lorg/h2/engine/Session;
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
session
public synchronized long getRowCount(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "SELECT COUNT(*) FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.table.TableLink.qualifiedTableName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " as foo"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
aconst_null
iconst_0
invokevirtual org.h2.table.TableLink.execute:(Ljava/lang/String;Ljava/util/ArrayList;Z)Ljava/sql/PreparedStatement;
astore 3
start local 3 2: aload 3
invokeinterface java.sql.PreparedStatement.getResultSet:()Ljava/sql/ResultSet;
astore 4
start local 4 3: aload 4
invokeinterface java.sql.ResultSet.next:()Z
pop
4: aload 4
iconst_1
invokeinterface java.sql.ResultSet.getLong:(I)J
lstore 5
start local 5 5: aload 4
invokeinterface java.sql.ResultSet.close:()V
6: aload 0
aload 3
aload 2
invokevirtual org.h2.table.TableLink.reusePreparedStatement:(Ljava/sql/PreparedStatement;Ljava/lang/String;)V
7: lload 5
8: lreturn
end local 5 end local 4 end local 3 9: StackMap locals: org.h2.table.TableLink org.h2.engine.Session java.lang.String
StackMap stack: java.lang.Exception
astore 3
start local 3 10: aload 2
aload 3
invokestatic org.h2.table.TableLink.wrapException:(Ljava/lang/String;Ljava/lang/Exception;)Lorg/h2/message/DbException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/table/TableLink;
0 11 1 session Lorg/h2/engine/Session;
1 11 2 sql Ljava/lang/String;
2 9 3 prep Ljava/sql/PreparedStatement;
3 9 4 rs Ljava/sql/ResultSet;
5 9 5 count J
10 11 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 8 9 Class java.lang.Exception
MethodParameters:
Name Flags
session
public static org.h2.message.DbException wrapException(java.lang.String, java.lang.Exception);
descriptor: (Ljava/lang/String;Ljava/lang/Exception;)Lorg/h2/message/DbException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
astore 2
start local 2 1: ldc 90111
2: aload 2
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
invokevirtual java.sql.SQLException.toString:()Ljava/lang/String;
aastore
3: invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sql Ljava/lang/String;
0 4 1 ex Ljava/lang/Exception;
1 4 2 e Ljava/sql/SQLException;
MethodParameters:
Name Flags
sql
ex
public java.lang.String getQualifiedTable();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.TableLink.qualifiedTableName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
public java.sql.PreparedStatement execute(java.lang.String, java.util.ArrayList<org.h2.value.Value>, boolean);
descriptor: (Ljava/lang/String;Ljava/util/ArrayList;Z)Ljava/sql/PreparedStatement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
ifnonnull 2
1: aload 0
getfield org.h2.table.TableLink.connectException:Lorg/h2/message/DbException;
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
dup
astore 5
monitorenter
4: aload 0
getfield org.h2.table.TableLink.preparedMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.sql.PreparedStatement
astore 6
start local 6 5: aload 6
ifnonnull 7
6: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
invokevirtual org.h2.table.TableLinkConnection.getConnection:()Ljava/sql/Connection;
aload 1
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 6
7: StackMap locals: org.h2.table.TableLinkConnection java.sql.PreparedStatement
StackMap stack:
aload 0
getfield org.h2.table.TableLink.trace:Lorg/h2/message/Trace;
invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
ifeq 23
8: new java.lang.StringBuilder
dup
aload 0
invokevirtual org.h2.table.TableLink.getName:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 7
start local 7 9: aload 2
ifnull 21
aload 2
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 21
10: aload 7
ldc " {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: iconst_0
istore 8
start local 8 12: aload 2
invokevirtual java.util.ArrayList.size:()I
istore 9
start local 9 13: goto 19
14: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 2
iload 8
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Value
astore 10
start local 10 15: iload 8
ifle 17
16: aload 7
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: StackMap locals: org.h2.value.Value
StackMap stack:
aload 7
iinc 8 1
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 10
aload 7
invokevirtual org.h2.value.Value.getSQL:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
pop
end local 10 19: StackMap locals:
StackMap stack:
iload 8
iload 9
if_icmplt 14
end local 9 end local 8 20: aload 7
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 7
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
22: aload 0
getfield org.h2.table.TableLink.trace:Lorg/h2/message/Trace;
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
end local 7 23: StackMap locals:
StackMap stack:
aload 2
ifnull 31
24: iconst_0
istore 7
start local 7 25: aload 2
invokevirtual java.util.ArrayList.size:()I
istore 8
start local 8 26: goto 30
27: StackMap locals: int int
StackMap stack:
aload 2
iload 7
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.h2.value.Value
astore 9
start local 9 28: aload 9
aload 6
iload 7
iconst_1
iadd
invokevirtual org.h2.value.Value.set:(Ljava/sql/PreparedStatement;I)V
end local 9 29: iinc 7 1
StackMap locals:
StackMap stack:
30: iload 7
iload 8
if_icmplt 27
end local 8 end local 7 31: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
32: iload 3
ifeq 36
33: aload 0
aload 6
aload 1
invokevirtual org.h2.table.TableLink.reusePreparedStatement:(Ljava/sql/PreparedStatement;Ljava/lang/String;)V
34: aload 5
monitorexit
35: aconst_null
areturn
36: StackMap locals:
StackMap stack:
aload 6
aload 5
monitorexit
37: areturn
end local 6 38: StackMap locals: org.h2.table.TableLink java.lang.String java.util.ArrayList int int org.h2.table.TableLinkConnection
StackMap stack: java.lang.Throwable
aload 5
monitorexit
39: athrow
40: StackMap locals: org.h2.table.TableLink java.lang.String java.util.ArrayList int int
StackMap stack: java.sql.SQLException
astore 5
start local 5 41: iload 4
iconst_2
if_icmplt 43
42: aload 5
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
43: StackMap locals: java.sql.SQLException
StackMap stack:
aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
iconst_1
invokevirtual org.h2.table.TableLinkConnection.close:(Z)V
44: aload 0
invokevirtual org.h2.table.TableLink.connect:()V
end local 5 45: iinc 4 1
goto 3
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/table/TableLink;
0 46 1 sql Ljava/lang/String;
0 46 2 params Ljava/util/ArrayList<Lorg/h2/value/Value;>;
0 46 3 reusePrepared Z
3 46 4 retry I
5 38 6 prep Ljava/sql/PreparedStatement;
9 23 7 builder Ljava/lang/StringBuilder;
12 20 8 i I
13 20 9 l I
15 19 10 v Lorg/h2/value/Value;
25 31 7 i I
26 31 8 size I
28 29 9 v Lorg/h2/value/Value;
41 45 5 e Ljava/sql/SQLException;
Exception table:
from to target type
4 35 38 any
36 37 38 any
38 39 38 any
3 35 40 Class java.sql.SQLException
36 37 40 Class java.sql.SQLException
38 40 40 Class java.sql.SQLException
Signature: (Ljava/lang/String;Ljava/util/ArrayList<Lorg/h2/value/Value;>;Z)Ljava/sql/PreparedStatement;
MethodParameters:
Name Flags
sql
params
reusePrepared
public void unlock(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/table/TableLink;
0 1 1 s Lorg/h2/engine/Session;
MethodParameters:
Name Flags
s
public void checkRename();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
public void checkSupportAlter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "LINK"
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/table/TableLink;
public void truncate(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "LINK"
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public boolean canGetRowCount();
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/table/TableLink;
public boolean canDrop();
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/table/TableLink;
public org.h2.table.TableType getTableType();
descriptor: ()Lorg/h2/table/TableType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.h2.table.TableType.TABLE_LINK:Lorg/h2/table/TableType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
public void removeChildrenAndResources(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.h2.table.Table.removeChildrenAndResources:(Lorg/h2/engine/Session;)V
1: aload 0
aload 1
invokevirtual org.h2.table.TableLink.close:(Lorg/h2/engine/Session;)V
2: aload 0
getfield org.h2.table.TableLink.database:Lorg/h2/engine/Database;
aload 1
aload 0
invokevirtual org.h2.table.TableLink.getId:()I
invokevirtual org.h2.engine.Database.removeMeta:(Lorg/h2/engine/Session;I)V
3: aload 0
aconst_null
putfield org.h2.table.TableLink.driver:Ljava/lang/String;
4: aload 0
aload 0
aload 0
aload 0
aconst_null
dup_x1
putfield org.h2.table.TableLink.originalTable:Ljava/lang/String;
dup_x1
putfield org.h2.table.TableLink.password:Ljava/lang/String;
dup_x1
putfield org.h2.table.TableLink.user:Ljava/lang/String;
putfield org.h2.table.TableLink.url:Ljava/lang/String;
5: aload 0
aconst_null
putfield org.h2.table.TableLink.preparedMap:Ljava/util/HashMap;
6: aload 0
invokevirtual org.h2.table.TableLink.invalidate:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/table/TableLink;
0 8 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public boolean isOracle();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.TableLink.url:Ljava/lang/String;
ldc "jdbc:oracle:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
private static boolean isMySqlUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "jdbc:mysql:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
1: aload 0
ldc "jdbc:mariadb:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 url Ljava/lang/String;
MethodParameters:
Name Flags
url
public java.util.ArrayList<org.h2.index.Index> getIndexes();
descriptor: ()Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.table.TableLink.indexes:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
Signature: ()Ljava/util/ArrayList<Lorg/h2/index/Index;>;
public long getMaxDataModificationId();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 9223372036854775807
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
public org.h2.index.Index getUniqueIndex();
descriptor: ()Lorg/h2/index/Index;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield org.h2.table.TableLink.indexes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.h2.table.TableLink top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.h2.index.Index
astore 1
start local 1 2: aload 1
invokeinterface org.h2.index.Index.getIndexType:()Lorg/h2/index/IndexType;
invokevirtual org.h2.index.IndexType.isUnique:()Z
ifeq 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/table/TableLink;
2 4 1 idx Lorg/h2/index/Index;
public void updateRows(org.h2.command.Prepared, org.h2.engine.Session, org.h2.result.RowList);
descriptor: (Lorg/h2/command/Prepared;Lorg/h2/engine/Session;Lorg/h2/result/RowList;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.h2.table.TableLink.checkReadOnly:()V
1: aload 0
getfield org.h2.table.TableLink.emitUpdates:Z
ifeq 12
2: aload 3
invokevirtual org.h2.result.RowList.reset:()V
goto 9
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.h2.command.Prepared.checkCanceled:()V
4: aload 3
invokevirtual org.h2.result.RowList.next:()Lorg/h2/result/Row;
astore 5
start local 5 5: aload 3
invokevirtual org.h2.result.RowList.next:()Lorg/h2/result/Row;
astore 6
start local 6 6: aload 0
getfield org.h2.table.TableLink.linkedIndex:Lorg/h2/index/LinkedIndex;
aload 5
aload 6
invokevirtual org.h2.index.LinkedIndex.update:(Lorg/h2/result/Row;Lorg/h2/result/Row;)V
7: aload 2
aload 0
iconst_1
aload 5
invokevirtual org.h2.engine.Session.log:(Lorg/h2/table/Table;SLorg/h2/result/Row;)V
8: aload 2
aload 0
iconst_0
aload 6
invokevirtual org.h2.engine.Session.log:(Lorg/h2/table/Table;SLorg/h2/result/Row;)V
end local 6 end local 5 9: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.h2.result.RowList.hasNext:()Z
ifne 3
10: iconst_0
istore 4
start local 4 11: goto 13
end local 4 12: StackMap locals:
StackMap stack:
iconst_1
istore 4
start local 4 13: StackMap locals: int
StackMap stack:
iload 4
ifeq 15
14: aload 0
aload 1
aload 2
aload 3
invokespecial org.h2.table.Table.updateRows:(Lorg/h2/command/Prepared;Lorg/h2/engine/Session;Lorg/h2/result/RowList;)V
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/h2/table/TableLink;
0 16 1 prepared Lorg/h2/command/Prepared;
0 16 2 session Lorg/h2/engine/Session;
0 16 3 rows Lorg/h2/result/RowList;
11 12 4 deleteInsert Z
13 16 4 deleteInsert Z
5 9 5 oldRow Lorg/h2/result/Row;
6 9 6 newRow Lorg/h2/result/Row;
MethodParameters:
Name Flags
prepared
session
rows
public void setGlobalTemporary(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.table.TableLink.globalTemporary:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/table/TableLink;
0 2 1 globalTemporary Z
MethodParameters:
Name Flags
globalTemporary
public void setReadOnly(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.table.TableLink.readOnly:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/table/TableLink;
0 2 1 readOnly Z
MethodParameters:
Name Flags
readOnly
public long getRowCountApproximation();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 100000
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
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/table/TableLink;
public void reusePreparedStatement(java.sql.PreparedStatement, java.lang.String);
descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.table.TableLink.conn:Lorg/h2/table/TableLinkConnection;
dup
astore 3
monitorenter
1: aload 0
getfield org.h2.table.TableLink.preparedMap:Ljava/util/HashMap;
aload 2
aload 1
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
monitorexit
3: goto 6
StackMap locals: org.h2.table.TableLink java.sql.PreparedStatement java.lang.String org.h2.table.TableLinkConnection
StackMap stack: java.lang.Throwable
4: aload 3
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/table/TableLink;
0 7 1 prep Ljava/sql/PreparedStatement;
0 7 2 sql Ljava/lang/String;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
prep
sql
public boolean isDeterministic();
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/table/TableLink;
public void checkWritingAllowed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/table/TableLink;
public void validateConvertUpdateSequence(org.h2.engine.Session, org.h2.result.Row);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 2
iload 3
invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
astore 4
start local 4 3: aload 4
ifnull 8
4: aload 0
getfield org.h2.table.TableLink.columns:[Lorg/h2/table/Column;
iload 3
aaload
astore 5
start local 5 5: aload 5
aload 1
aload 4
invokevirtual org.h2.table.Column.validateConvertUpdateSequence:(Lorg/h2/engine/Session;Lorg/h2/value/Value;)Lorg/h2/value/Value;
astore 6
start local 6 6: aload 6
aload 4
if_acmpeq 8
7: aload 2
iload 3
aload 6
invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
end local 6 end local 5 end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield org.h2.table.TableLink.columns:[Lorg/h2/table/Column;
arraylength
if_icmplt 2
end local 3 10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/table/TableLink;
0 11 1 session Lorg/h2/engine/Session;
0 11 2 row Lorg/h2/result/Row;
1 10 3 i I
3 8 4 value Lorg/h2/value/Value;
5 8 5 column Lorg/h2/table/Column;
6 8 6 v2 Lorg/h2/value/Value;
MethodParameters:
Name Flags
session
row
public org.h2.value.Value getDefaultValue(org.h2.engine.Session, org.h2.table.Column);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/table/Column;)Lorg/h2/value/Value;
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/table/TableLink;
0 1 1 session Lorg/h2/engine/Session;
0 1 2 column Lorg/h2/table/Column;
MethodParameters:
Name Flags
session
column
}
SourceFile: "TableLink.java"