public class org.h2.fulltext.FullText
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.fulltext.FullText
super_class: java.lang.Object
{
private static final java.lang.String FIELD_SCHEMA;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SCHEMA"
private static final java.lang.String FIELD_TABLE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "TABLE"
private static final java.lang.String FIELD_COLUMNS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "COLUMNS"
private static final java.lang.String FIELD_KEYS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "KEYS"
private static final java.lang.String FIELD_SCORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SCORE"
private static final java.lang.String TRIGGER_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "FT_"
private static final java.lang.String SCHEMA;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "FT"
private static final java.lang.String SELECT_MAP_BY_WORD_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SELECT ROWID FROM FT.MAP WHERE WORDID=?"
private static final java.lang.String SELECT_ROW_BY_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SELECT KEY, INDEXID FROM FT.ROWS WHERE ID=?"
private static final java.lang.String FIELD_QUERY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "QUERY"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/fulltext/FullText;
public static void init(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 1
start local 1 1: aload 1
ldc "CREATE SCHEMA IF NOT EXISTS FT"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
2: aload 1
ldc "CREATE TABLE IF NOT EXISTS FT.INDEXES(ID INT AUTO_INCREMENT PRIMARY KEY, SCHEMA VARCHAR, `TABLE` VARCHAR, COLUMNS VARCHAR, UNIQUE(SCHEMA, `TABLE`))"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
3: aload 1
ldc "CREATE TABLE IF NOT EXISTS FT.WORDS(ID INT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR, UNIQUE(NAME))"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
4: aload 1
ldc "CREATE TABLE IF NOT EXISTS FT.ROWS(ID IDENTITY, HASH INT, INDEXID INT, KEY VARCHAR, UNIQUE(HASH, INDEXID, KEY))"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
5: aload 1
ldc "CREATE TABLE IF NOT EXISTS FT.MAP(ROWID INT, WORDID INT, PRIMARY KEY(WORDID, ROWID))"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
6: aload 1
ldc "CREATE TABLE IF NOT EXISTS FT.IGNORELIST(LIST VARCHAR)"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
7: aload 1
ldc "CREATE TABLE IF NOT EXISTS FT.SETTINGS(KEY VARCHAR PRIMARY KEY, VALUE VARCHAR)"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
8: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS FT_CREATE_INDEX FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: ldc Lorg/h2/fulltext/FullText;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".createIndex\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
11: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS FT_DROP_INDEX FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: ldc Lorg/h2/fulltext/FullText;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".dropIndex\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
14: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS FT_SEARCH FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: ldc Lorg/h2/fulltext/FullText;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".search\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
17: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS FT_SEARCH_DATA FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: ldc Lorg/h2/fulltext/FullText;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".searchData\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
20: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS FT_REINDEX FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: ldc Lorg/h2/fulltext/FullText;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".reindex\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
23: aload 1
new java.lang.StringBuilder
dup
ldc "CREATE ALIAS IF NOT EXISTS FT_DROP_ALL FOR \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: ldc Lorg/h2/fulltext/FullText;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".dropAll\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
26: aload 0
invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
astore 2
start local 2 27: aload 1
ldc "SELECT * FROM FT.IGNORELIST"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
start local 3 28: goto 31
29: StackMap locals: java.sql.Statement org.h2.fulltext.FullTextSettings java.sql.ResultSet
StackMap stack:
aload 3
iconst_1
invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
astore 4
start local 4 30: aload 2
aload 4
invokestatic org.h2.fulltext.FullText.setIgnoreList:(Lorg/h2/fulltext/FullTextSettings;Ljava/lang/String;)V
end local 4 31: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.ResultSet.next:()Z
ifne 29
32: aload 1
ldc "SELECT * FROM FT.SETTINGS"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
33: goto 38
34: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
astore 4
start local 4 35: ldc "whitespaceChars"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
36: aload 3
iconst_2
invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
astore 5
start local 5 37: aload 2
aload 5
invokevirtual org.h2.fulltext.FullTextSettings.setWhitespaceChars:(Ljava/lang/String;)V
end local 5 end local 4 38: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.ResultSet.next:()Z
ifne 34
39: aload 1
ldc "SELECT * FROM FT.WORDS"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
40: goto 46
41: StackMap locals:
StackMap stack:
aload 3
ldc "NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 42: aload 3
ldc "ID"
invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
istore 5
start local 5 43: aload 2
aload 4
invokevirtual org.h2.fulltext.FullTextSettings.convertWord:(Ljava/lang/String;)Ljava/lang/String;
astore 4
44: aload 4
ifnull 46
45: aload 2
aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.h2.fulltext.FullTextSettings.addWord:(Ljava/lang/String;Ljava/lang/Integer;)V
end local 5 end local 4 46: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.ResultSet.next:()Z
ifne 41
47: aload 2
iconst_1
invokevirtual org.h2.fulltext.FullTextSettings.setInitialized:(Z)V
48: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 conn Ljava/sql/Connection;
1 49 1 stat Ljava/sql/Statement;
27 49 2 setting Lorg/h2/fulltext/FullTextSettings;
28 49 3 rs Ljava/sql/ResultSet;
30 31 4 commaSeparatedList Ljava/lang/String;
35 38 4 key Ljava/lang/String;
37 38 5 value Ljava/lang/String;
42 46 4 word Ljava/lang/String;
43 46 5 id I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
public static void createIndex(java.sql.Connection, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
1: aload 0
ldc "INSERT INTO FT.INDEXES(SCHEMA, `TABLE`, COLUMNS) VALUES(?, ?, ?)"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 4
start local 4 2: aload 4
iconst_1
aload 1
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
3: aload 4
iconst_2
aload 2
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
4: aload 4
iconst_3
aload 3
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
5: aload 4
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
6: aload 0
aload 1
aload 2
invokestatic org.h2.fulltext.FullText.createTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
7: aload 0
aload 1
aload 2
invokestatic org.h2.fulltext.FullText.indexExistingRows:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 conn Ljava/sql/Connection;
0 9 1 schema Ljava/lang/String;
0 9 2 table Ljava/lang/String;
0 9 3 columnList Ljava/lang/String;
2 9 4 prep Ljava/sql/PreparedStatement;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
schema
table
columnList
public static void reindex(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
1: aload 0
ldc "FT_"
invokestatic org.h2.fulltext.FullText.removeAllTriggers:(Ljava/sql/Connection;Ljava/lang/String;)V
2: aload 0
invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
astore 1
start local 1 3: aload 1
invokevirtual org.h2.fulltext.FullTextSettings.clearWordList:()V
4: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 2
start local 2 5: aload 2
ldc "TRUNCATE TABLE FT.WORDS"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
6: aload 2
ldc "TRUNCATE TABLE FT.ROWS"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
7: aload 2
ldc "TRUNCATE TABLE FT.MAP"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
8: aload 2
ldc "SELECT * FROM FT.INDEXES"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
start local 3 9: goto 14
10: StackMap locals: org.h2.fulltext.FullTextSettings java.sql.Statement java.sql.ResultSet
StackMap stack:
aload 3
ldc "SCHEMA"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 11: aload 3
ldc "TABLE"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 12: aload 0
aload 4
aload 5
invokestatic org.h2.fulltext.FullText.createTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
13: aload 0
aload 4
aload 5
invokestatic org.h2.fulltext.FullText.indexExistingRows:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.ResultSet.next:()Z
ifne 10
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 conn Ljava/sql/Connection;
3 16 1 setting Lorg/h2/fulltext/FullTextSettings;
5 16 2 stat Ljava/sql/Statement;
9 16 3 rs Ljava/sql/ResultSet;
11 14 4 schema Ljava/lang/String;
12 14 5 table Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
public static void dropIndex(java.sql.Connection, java.lang.String, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
1: aload 0
ldc "SELECT ID FROM FT.INDEXES WHERE SCHEMA=? AND `TABLE`=?"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 3
start local 3 2: aload 3
iconst_1
aload 1
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
3: aload 3
iconst_2
aload 2
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
4: aload 3
invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
astore 4
start local 4 5: aload 4
invokeinterface java.sql.ResultSet.next:()Z
ifne 7
6: return
7: StackMap locals: java.sql.PreparedStatement java.sql.ResultSet
StackMap stack:
aload 4
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 5
start local 5 8: aload 0
ldc "DELETE FROM FT.INDEXES WHERE ID=?"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 3
9: aload 3
iconst_1
iload 5
invokeinterface java.sql.PreparedStatement.setInt:(II)V
10: aload 3
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
11: aload 0
aload 1
aload 2
iconst_0
invokestatic org.h2.fulltext.FullText.createOrDropTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Z)V
12: aload 0
ldc "DELETE FROM FT.ROWS WHERE INDEXID=? AND ROWNUM<10000"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 3
13: StackMap locals: int
StackMap stack:
aload 3
iconst_1
iload 5
invokeinterface java.sql.PreparedStatement.setInt:(II)V
14: aload 3
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
istore 6
start local 6 15: iload 6
ifne 13
end local 6 16: aload 0
ldc "DELETE FROM FT.MAP WHERE NOT EXISTS (SELECT * FROM FT.ROWS R WHERE R.ID=ROWID) AND ROWID<10000"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 3
17: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
istore 6
start local 6 18: iload 6
ifne 17
end local 6 19: 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 20 0 conn Ljava/sql/Connection;
0 20 1 schema Ljava/lang/String;
0 20 2 table Ljava/lang/String;
2 20 3 prep Ljava/sql/PreparedStatement;
5 20 4 rs Ljava/sql/ResultSet;
8 20 5 indexId I
15 16 6 deleted I
18 19 6 deleted I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
schema
table
public static void dropAll(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
1: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 1
start local 1 2: aload 1
ldc "DROP SCHEMA IF EXISTS FT CASCADE"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
3: aload 0
ldc "FT_"
invokestatic org.h2.fulltext.FullText.removeAllTriggers:(Ljava/sql/Connection;Ljava/lang/String;)V
4: aload 0
invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
astore 2
start local 2 5: aload 2
invokevirtual org.h2.fulltext.FullTextSettings.removeAllIndexes:()V
6: aload 2
invokevirtual org.h2.fulltext.FullTextSettings.clearIgnored:()V
7: aload 2
invokevirtual org.h2.fulltext.FullTextSettings.clearWordList:()V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 conn Ljava/sql/Connection;
2 9 1 stat Ljava/sql/Statement;
5 9 2 setting Lorg/h2/fulltext/FullTextSettings;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
public static java.sql.ResultSet search(java.sql.Connection, java.lang.String, int, int);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;II)Ljava/sql/ResultSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
iconst_0
invokestatic org.h2.fulltext.FullText.search:(Ljava/sql/Connection;Ljava/lang/String;IIZ)Ljava/sql/ResultSet;
1: areturn
2: StackMap locals:
StackMap stack: org.h2.message.DbException
astore 4
start local 4 3: aload 4
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 conn Ljava/sql/Connection;
0 4 1 text Ljava/lang/String;
0 4 2 limit I
0 4 3 offset I
3 4 4 e Lorg/h2/message/DbException;
Exception table:
from to target type
0 1 2 Class org.h2.message.DbException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
text
limit
offset
public static java.sql.ResultSet searchData(java.sql.Connection, java.lang.String, int, int);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;II)Ljava/sql/ResultSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
iconst_1
invokestatic org.h2.fulltext.FullText.search:(Ljava/sql/Connection;Ljava/lang/String;IIZ)Ljava/sql/ResultSet;
1: areturn
2: StackMap locals:
StackMap stack: org.h2.message.DbException
astore 4
start local 4 3: aload 4
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 conn Ljava/sql/Connection;
0 4 1 text Ljava/lang/String;
0 4 2 limit I
0 4 3 offset I
3 4 4 e Lorg/h2/message/DbException;
Exception table:
from to target type
0 1 2 Class org.h2.message.DbException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
text
limit
offset
public static void setIgnoreList(java.sql.Connection, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
1: aload 0
invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
astore 2
start local 2 2: aload 2
aload 1
invokestatic org.h2.fulltext.FullText.setIgnoreList:(Lorg/h2/fulltext/FullTextSettings;Ljava/lang/String;)V
3: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 3
start local 3 4: aload 3
ldc "TRUNCATE TABLE FT.IGNORELIST"
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
5: aload 0
ldc "INSERT INTO FT.IGNORELIST VALUES(?)"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 4
start local 4 6: aload 4
iconst_1
aload 1
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
7: aload 4
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
end local 4 end local 3 end local 2 8: goto 11
StackMap locals:
StackMap stack: org.h2.message.DbException
9: astore 2
start local 2 10: aload 2
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 conn Ljava/sql/Connection;
0 12 1 commaSeparatedList Ljava/lang/String;
2 8 2 setting Lorg/h2/fulltext/FullTextSettings;
4 8 3 stat Ljava/sql/Statement;
6 8 4 prep Ljava/sql/PreparedStatement;
10 11 2 e Lorg/h2/message/DbException;
Exception table:
from to target type
0 8 9 Class org.h2.message.DbException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
commaSeparatedList
public static void setWhitespaceChars(java.sql.Connection, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
1: aload 0
invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.h2.fulltext.FullTextSettings.setWhitespaceChars:(Ljava/lang/String;)V
3: aload 0
ldc "MERGE INTO FT.SETTINGS VALUES(?, ?)"
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 3
start local 3 4: aload 3
iconst_1
ldc "whitespaceChars"
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
5: aload 3
iconst_2
aload 1
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
6: aload 3
invokeinterface java.sql.PreparedStatement.execute:()Z
pop
end local 3 end local 2 7: goto 10
StackMap locals:
StackMap stack: org.h2.message.DbException
8: astore 2
start local 2 9: aload 2
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 conn Ljava/sql/Connection;
0 11 1 whitespaceChars Ljava/lang/String;
2 7 2 setting Lorg/h2/fulltext/FullTextSettings;
4 7 3 prep Ljava/sql/PreparedStatement;
9 10 2 e Lorg/h2/message/DbException;
Exception table:
from to target type
0 7 8 Class org.h2.message.DbException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
whitespaceChars
protected static java.lang.String asString(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: ldc "NULL"
areturn
2: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 30
-7: 3
-6: 3
-5: 3
-4: 10
-3: 10
-2: 10
-1: 3
0: 10
1: 3
2: 3
3: 3
4: 3
5: 3
6: 3
7: 3
8: 3
12: 3
16: 3
70: 10
91: 3
92: 3
93: 3
1111: 10
2000: 10
2001: 10
2002: 10
2003: 10
2004: 10
2005: 4
2006: 10
default: 11
}
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.sql.Clob
ifeq 6
5: aload 0
checkcast java.sql.Clob
invokeinterface java.sql.Clob.getCharacterStream:()Ljava/io/Reader;
astore 0
6: StackMap locals:
StackMap stack:
aload 0
checkcast java.io.Reader
iconst_m1
invokestatic org.h2.util.IOUtils.readStringAndClose:(Ljava/io/Reader;I)Ljava/lang/String;
7: areturn
8: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 9: aload 2
invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
athrow
end local 2 10: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unsupported column data type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.fulltext.FullText.throwException:(Ljava/lang/String;)Ljava/sql/SQLException;
athrow
11: StackMap locals:
StackMap stack:
ldc ""
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 data Ljava/lang/Object;
0 12 1 type I
9 10 2 e Ljava/io/IOException;
Exception table:
from to target type
4 7 8 Class java.io.IOException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
data
type
protected static org.h2.tools.SimpleResultSet createResultSet(boolean);
descriptor: (Z)Lorg/h2/tools/SimpleResultSet;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new org.h2.tools.SimpleResultSet
dup
invokespecial org.h2.tools.SimpleResultSet.<init>:()V
astore 1
start local 1 1: iload 0
ifeq 7
2: aload 1
ldc "SCHEMA"
bipush 12
iconst_0
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
3: aload 1
ldc "TABLE"
bipush 12
iconst_0
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
4: aload 1
ldc "COLUMNS"
sipush 2003
iconst_0
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
5: aload 1
ldc "KEYS"
sipush 2003
iconst_0
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
6: goto 8
7: StackMap locals: org.h2.tools.SimpleResultSet
StackMap stack:
aload 1
ldc "QUERY"
bipush 12
iconst_0
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
8: StackMap locals:
StackMap stack:
aload 1
ldc "SCORE"
bipush 6
iconst_0
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 data Z
1 10 1 result Lorg/h2/tools/SimpleResultSet;
MethodParameters:
Name Flags
data
protected static java.lang.Object[][] parseKey(java.sql.Connection, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;)[[Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 2
start local 2 1: invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
astore 3
start local 3 2: aload 0
checkcast org.h2.jdbc.JdbcConnection
astore 4
start local 4 3: aload 4
invokevirtual org.h2.jdbc.JdbcConnection.getSession:()Lorg/h2/engine/SessionInterface;
checkcast org.h2.engine.Session
astore 5
start local 5 4: new org.h2.command.Parser
dup
aload 5
invokespecial org.h2.command.Parser.<init>:(Lorg/h2/engine/Session;)V
astore 6
start local 6 5: aload 6
aload 1
invokevirtual org.h2.command.Parser.parseExpression:(Ljava/lang/String;)Lorg/h2/expression/Expression;
astore 7
start local 7 6: aload 2
aload 3
aload 7
invokestatic org.h2.fulltext.FullText.addColumnData:(Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/h2/expression/Expression;)V
7: aload 2
invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
astore 8
start local 8 8: aload 3
invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
astore 9
start local 9 9: iconst_2
anewarray java.lang.Object[]
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 9
aastore
astore 10
start local 10 10: aload 10
areturn
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 11 0 conn Ljava/sql/Connection;
0 11 1 key Ljava/lang/String;
1 11 2 columns Ljava/util/ArrayList<Ljava/lang/String;>;
2 11 3 data Ljava/util/ArrayList<Ljava/lang/String;>;
3 11 4 c Lorg/h2/jdbc/JdbcConnection;
4 11 5 session Lorg/h2/engine/Session;
5 11 6 p Lorg/h2/command/Parser;
6 11 7 expr Lorg/h2/expression/Expression;
8 11 8 col [Ljava/lang/Object;
9 11 9 dat [Ljava/lang/Object;
10 11 10 columnData [[Ljava/lang/Object;
MethodParameters:
Name Flags
conn
key
protected static java.lang.String quoteSQL(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: ldc "NULL"
areturn
2: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 30
-7: 3
-6: 3
-5: 3
-4: 5
-3: 5
-2: 5
-1: 4
0: 11
1: 4
2: 3
3: 3
4: 3
5: 3
6: 3
7: 3
8: 3
12: 4
16: 3
70: 11
91: 4
92: 4
93: 4
1111: 11
2000: 11
2001: 11
2002: 11
2003: 11
2004: 11
2005: 11
2006: 11
default: 12
}
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic org.h2.fulltext.FullText.quoteString:(Ljava/lang/String;)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.UUID
ifeq 7
6: new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.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;
areturn
7: StackMap locals:
StackMap stack:
aload 0
checkcast byte[]
astore 2
start local 2 8: new java.lang.StringBuilder
dup
aload 2
arraylength
iconst_2
imul
iconst_2
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
astore 3
start local 3 9: aload 3
aload 2
invokestatic org.h2.util.StringUtils.convertBytesToHex:(Ljava/lang/StringBuilder;[B)Ljava/lang/StringBuilder;
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unsupported key data type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.fulltext.FullText.throwException:(Ljava/lang/String;)Ljava/sql/SQLException;
athrow
12: StackMap locals:
StackMap stack:
ldc ""
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 data Ljava/lang/Object;
0 13 1 type I
8 11 2 bytes [B
9 11 3 builder Ljava/lang/StringBuilder;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
data
type
protected static void removeAllTriggers(java.sql.Connection, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 2
start local 2 1: aload 2
ldc "SELECT * FROM INFORMATION_SCHEMA.TRIGGERS"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
start local 3 2: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 4
start local 4 3: goto 11
4: StackMap locals: java.sql.Statement java.sql.ResultSet java.sql.Statement
StackMap stack:
aload 3
ldc "TRIGGER_SCHEMA"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 5: aload 3
ldc "TRIGGER_NAME"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 6: aload 6
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
7: new java.lang.StringBuilder
dup
aload 5
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)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;
8: aload 6
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
10: aload 4
new java.lang.StringBuilder
dup
ldc "DROP TRIGGER "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
end local 6 end local 5 11: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.sql.ResultSet.next:()Z
ifne 4
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 conn Ljava/sql/Connection;
0 13 1 prefix Ljava/lang/String;
1 13 2 stat Ljava/sql/Statement;
2 13 3 rs Ljava/sql/ResultSet;
3 13 4 stat2 Ljava/sql/Statement;
5 11 5 schema Ljava/lang/String;
6 11 6 name Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
prefix
protected static void setColumns(int[], java.util.ArrayList<java.lang.String>, java.util.ArrayList<java.lang.String>);
descriptor: ([ILjava/util/ArrayList;Ljava/util/ArrayList;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 2: goto 17
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: iconst_m1
istore 6
start local 6 5: aload 2
invokevirtual java.util.ArrayList.size:()I
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: goto 12
8: StackMap locals: int[] java.util.ArrayList java.util.ArrayList int int java.lang.String int int int
StackMap stack:
aload 2
iload 8
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 9: aload 9
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: iload 8
istore 6
end local 9 11: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
12: iload 6
iconst_m1
if_icmpne 13
iload 8
iload 7
if_icmplt 8
end local 8 13: StackMap locals:
StackMap stack:
iload 6
ifge 15
14: new java.lang.StringBuilder
dup
ldc "Column not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.fulltext.FullText.throwException:(Ljava/lang/String;)Ljava/sql/SQLException;
athrow
15: StackMap locals:
StackMap stack:
aload 0
iload 3
iload 6
iastore
end local 7 end local 6 end local 5 16: iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 4
if_icmplt 3
end local 4 end local 3 18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 index [I
0 19 1 keys Ljava/util/ArrayList<Ljava/lang/String;>;
0 19 2 columns Ljava/util/ArrayList<Ljava/lang/String;>;
1 18 3 i I
2 18 4 keySize I
4 16 5 key Ljava/lang/String;
5 16 6 found I
6 16 7 columnsSize I
7 13 8 j I
9 11 9 column Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
Signature: ([ILjava/util/ArrayList<Ljava/lang/String;>;Ljava/util/ArrayList<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
index
keys
columns
protected static java.sql.ResultSet search(java.sql.Connection, java.lang.String, int, int, boolean);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;IIZ)Ljava/sql/ResultSet;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=20, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
invokestatic org.h2.fulltext.FullText.createResultSet:(Z)Lorg/h2/tools/SimpleResultSet;
astore 5
start local 5 1: aload 0
invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
invokeinterface java.sql.DatabaseMetaData.getURL:()Ljava/lang/String;
ldc "jdbc:columnlist:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 5
areturn
3: StackMap locals: org.h2.tools.SimpleResultSet
StackMap stack:
aload 1
ifnull 4
aload 1
invokestatic org.h2.util.StringUtils.isWhitespaceOrEmpty:(Ljava/lang/String;)Z
ifeq 5
4: StackMap locals:
StackMap stack:
aload 5
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
astore 6
start local 6 6: aload 6
invokevirtual org.h2.fulltext.FullTextSettings.isInitialized:()Z
ifne 8
7: aload 0
invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
8: StackMap locals: org.h2.fulltext.FullTextSettings
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 9: aload 6
aload 7
aload 1
invokestatic org.h2.fulltext.FullText.addWords:(Lorg/h2/fulltext/FullTextSettings;Ljava/util/Set;Ljava/lang/String;)V
10: aconst_null
astore 8
start local 8 11: aload 6
aload 0
12: ldc "SELECT ROWID FROM FT.MAP WHERE WORDID=?"
13: invokevirtual org.h2.fulltext.FullTextSettings.prepare:(Ljava/sql/Connection;Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 10
start local 10 14: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 28
StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement top java.util.Iterator
StackMap stack:
15: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 16: aload 8
astore 9
start local 9 17: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 8
18: aload 6
aload 11
invokevirtual org.h2.fulltext.FullTextSettings.getWordId:(Ljava/lang/String;)Ljava/lang/Integer;
astore 13
start local 13 19: aload 13
ifnonnull 21
20: goto 28
21: StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set java.util.Set java.sql.PreparedStatement java.lang.String java.util.Iterator java.lang.Integer
StackMap stack:
aload 10
iconst_1
aload 13
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.sql.PreparedStatement.setInt:(II)V
22: aload 10
invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
astore 14
start local 14 23: goto 27
24: StackMap locals: java.sql.ResultSet
StackMap stack:
aload 14
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 15
start local 15 25: aload 9
ifnull 26
aload 9
aload 15
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 27
26: StackMap locals: java.lang.Integer
StackMap stack:
aload 8
aload 15
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 15 27: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.sql.ResultSet.next:()Z
ifne 24
end local 14 end local 13 end local 11 end local 9 28: StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
29: aload 8
ifnull 30
aload 8
invokeinterface java.util.Set.isEmpty:()Z
ifeq 31
30: StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement
StackMap stack:
aload 5
areturn
31: StackMap locals:
StackMap stack:
aload 6
aload 0
ldc "SELECT KEY, INDEXID FROM FT.ROWS WHERE ID=?"
invokevirtual org.h2.fulltext.FullTextSettings.prepare:(Ljava/sql/Connection;Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 11
start local 11 32: iconst_0
istore 12
start local 12 33: aload 8
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 63
StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement java.sql.PreparedStatement int top java.util.Iterator
StackMap stack:
34: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 13
start local 13 35: aload 11
iconst_1
iload 13
invokeinterface java.sql.PreparedStatement.setInt:(II)V
36: aload 11
invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
astore 15
start local 15 37: aload 15
invokeinterface java.sql.ResultSet.next:()Z
ifne 39
38: goto 63
39: StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement java.sql.PreparedStatement int int java.util.Iterator java.sql.ResultSet
StackMap stack:
iload 3
ifle 42
40: iinc 3 -1
41: goto 63
42: StackMap locals:
StackMap stack:
aload 15
iconst_1
invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
astore 16
start local 16 43: aload 15
iconst_2
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 17
start local 17 44: aload 6
iload 17
invokevirtual org.h2.fulltext.FullTextSettings.getIndexInfo:(I)Lorg/h2/fulltext/IndexInfo;
astore 18
start local 18 45: iload 4
ifeq 55
46: aload 0
aload 16
invokestatic org.h2.fulltext.FullText.parseKey:(Ljava/sql/Connection;Ljava/lang/String;)[[Ljava/lang/Object;
astore 19
start local 19 47: aload 5
iconst_5
anewarray java.lang.Object
dup
iconst_0
48: aload 18
getfield org.h2.fulltext.IndexInfo.schema:Ljava/lang/String;
aastore
dup
iconst_1
49: aload 18
getfield org.h2.fulltext.IndexInfo.table:Ljava/lang/String;
aastore
dup
iconst_2
50: aload 19
iconst_0
aaload
aastore
dup
iconst_3
51: aload 19
iconst_1
aaload
aastore
dup
iconst_4
52: dconst_1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
53: invokevirtual org.h2.tools.SimpleResultSet.addRow:([Ljava/lang/Object;)V
end local 19 54: goto 60
55: StackMap locals: java.lang.String int org.h2.fulltext.IndexInfo
StackMap stack:
new java.lang.StringBuilder
dup
aload 18
getfield org.h2.fulltext.IndexInfo.schema:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
56: ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 18
getfield org.h2.fulltext.IndexInfo.table:Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
57: ldc " WHERE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 19
start local 19 59: aload 5
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 19
aastore
dup
iconst_1
dconst_1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual org.h2.tools.SimpleResultSet.addRow:([Ljava/lang/Object;)V
end local 19 60: StackMap locals:
StackMap stack:
iinc 12 1
61: iload 2
ifle 63
iload 12
iload 2
if_icmplt 63
62: goto 64
end local 18 end local 17 end local 16 end local 15 end local 13 63: StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement java.sql.PreparedStatement int top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
64: StackMap locals: java.sql.Connection java.lang.String int int int org.h2.tools.SimpleResultSet org.h2.fulltext.FullTextSettings java.util.Set java.util.Set top java.sql.PreparedStatement java.sql.PreparedStatement int
StackMap stack:
aload 5
areturn
end local 12 end local 11 end local 10 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 65 0 conn Ljava/sql/Connection;
0 65 1 text Ljava/lang/String;
0 65 2 limit I
0 65 3 offset I
0 65 4 data Z
1 65 5 result Lorg/h2/tools/SimpleResultSet;
6 65 6 setting Lorg/h2/fulltext/FullTextSettings;
9 65 7 words Ljava/util/Set<Ljava/lang/String;>;
11 65 8 rIds Ljava/util/Set<Ljava/lang/Integer;>;
17 28 9 lastRowIds Ljava/util/Set<Ljava/lang/Integer;>;
14 65 10 prepSelectMapByWordId Ljava/sql/PreparedStatement;
16 28 11 word Ljava/lang/String;
19 28 13 wId Ljava/lang/Integer;
23 28 14 rs Ljava/sql/ResultSet;
25 27 15 rId Ljava/lang/Integer;
32 65 11 prepSelectRowById Ljava/sql/PreparedStatement;
33 65 12 rowCount I
35 63 13 rowId I
37 63 15 rs Ljava/sql/ResultSet;
43 63 16 key Ljava/lang/String;
44 63 17 indexId I
45 63 18 index Lorg/h2/fulltext/IndexInfo;
47 54 19 columnData [[Ljava/lang/Object;
59 60 19 query Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
text
limit
offset
data
private static void addColumnData(java.util.ArrayList<java.lang.String>, java.util.ArrayList<java.lang.String>, org.h2.expression.Expression);
descriptor: (Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/h2/expression/Expression;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.h2.expression.condition.ConditionAndOr
ifeq 5
1: aload 2
checkcast org.h2.expression.condition.ConditionAndOr
astore 3
start local 3 2: aload 0
aload 1
aload 3
iconst_0
invokevirtual org.h2.expression.condition.ConditionAndOr.getSubexpression:(I)Lorg/h2/expression/Expression;
invokestatic org.h2.fulltext.FullText.addColumnData:(Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/h2/expression/Expression;)V
3: aload 0
aload 1
aload 3
iconst_1
invokevirtual org.h2.expression.condition.ConditionAndOr.getSubexpression:(I)Lorg/h2/expression/Expression;
invokestatic org.h2.fulltext.FullText.addColumnData:(Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/h2/expression/Expression;)V
end local 3 4: goto 14
5: StackMap locals:
StackMap stack:
aload 2
checkcast org.h2.expression.condition.Comparison
astore 3
start local 3 6: aload 3
iconst_0
invokevirtual org.h2.expression.condition.Comparison.getSubexpression:(I)Lorg/h2/expression/Expression;
checkcast org.h2.expression.ExpressionColumn
astore 4
start local 4 7: aload 4
invokevirtual org.h2.expression.ExpressionColumn.getColumnName:()Ljava/lang/String;
astore 5
start local 5 8: aload 0
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: aload 2
invokevirtual org.h2.expression.Expression.getSubexpressionCount:()I
iconst_1
if_icmpne 12
10: aload 1
aconst_null
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
11: goto 14
12: StackMap locals: org.h2.expression.condition.Comparison org.h2.expression.ExpressionColumn java.lang.String
StackMap stack:
aload 3
iconst_1
invokevirtual org.h2.expression.condition.Comparison.getSubexpression:(I)Lorg/h2/expression/Expression;
checkcast org.h2.expression.ValueExpression
astore 6
start local 6 13: aload 1
aload 6
aconst_null
invokevirtual org.h2.expression.ValueExpression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 end local 3 14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 columns Ljava/util/ArrayList<Ljava/lang/String;>;
0 15 1 data Ljava/util/ArrayList<Ljava/lang/String;>;
0 15 2 expr Lorg/h2/expression/Expression;
2 4 3 and Lorg/h2/expression/condition/ConditionAndOr;
6 14 3 comp Lorg/h2/expression/condition/Comparison;
7 14 4 ec Lorg/h2/expression/ExpressionColumn;
8 14 5 columnName Ljava/lang/String;
13 14 6 ev Lorg/h2/expression/ValueExpression;
Signature: (Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/util/ArrayList<Ljava/lang/String;>;Lorg/h2/expression/Expression;)V
MethodParameters:
Name Flags
columns
data
expr
protected static void addWords(org.h2.fulltext.FullTextSettings, java.util.Set<java.lang.String>, java.io.Reader);
descriptor: (Lorg/h2/fulltext/FullTextSettings;Ljava/util/Set;Ljava/io/Reader;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.io.StreamTokenizer
dup
aload 2
invokespecial java.io.StreamTokenizer.<init>:(Ljava/io/Reader;)V
astore 3
start local 3 1: aload 3
invokevirtual java.io.StreamTokenizer.resetSyntax:()V
2: aload 3
bipush 33
sipush 255
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
3: aload 0
invokevirtual org.h2.fulltext.FullTextSettings.getWhitespaceChars:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 4
start local 4 4: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: org.h2.fulltext.FullTextSettings java.util.Set java.io.Reader java.io.StreamTokenizer char[] top int int char[]
StackMap stack:
5: aload 8
iload 6
caload
istore 5
start local 5 6: aload 3
iload 5
iload 5
invokevirtual java.io.StreamTokenizer.whitespaceChars:(II)V
end local 5 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 5
9: StackMap locals: org.h2.fulltext.FullTextSettings java.util.Set java.io.Reader java.io.StreamTokenizer char[]
StackMap stack:
aload 3
invokevirtual java.io.StreamTokenizer.nextToken:()I
istore 5
start local 5 10: iload 5
iconst_m1
if_icmpne 12
11: goto 20
12: StackMap locals: int
StackMap stack:
iload 5
bipush -3
if_icmpne 9
13: aload 3
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
astore 6
start local 6 14: aload 0
aload 6
invokevirtual org.h2.fulltext.FullTextSettings.convertWord:(Ljava/lang/String;)Ljava/lang/String;
astore 6
15: aload 6
ifnull 9
16: aload 1
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 17: goto 9
18: StackMap locals: org.h2.fulltext.FullTextSettings java.util.Set java.io.Reader java.io.StreamTokenizer char[]
StackMap stack: java.io.IOException
astore 5
start local 5 19: aload 5
ldc "Tokenizer error"
invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 5 20: 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 21 0 setting Lorg/h2/fulltext/FullTextSettings;
0 21 1 set Ljava/util/Set<Ljava/lang/String;>;
0 21 2 reader Ljava/io/Reader;
1 21 3 tokenizer Ljava/io/StreamTokenizer;
4 21 4 whitespaceChars [C
6 7 5 ch C
10 17 5 token I
14 17 6 word Ljava/lang/String;
19 20 5 e Ljava/io/IOException;
Exception table:
from to target type
9 18 18 Class java.io.IOException
Signature: (Lorg/h2/fulltext/FullTextSettings;Ljava/util/Set<Ljava/lang/String;>;Ljava/io/Reader;)V
MethodParameters:
Name Flags
setting
set
reader
protected static void addWords(org.h2.fulltext.FullTextSettings, java.util.Set<java.lang.String>, java.lang.String);
descriptor: (Lorg/h2/fulltext/FullTextSettings;Ljava/util/Set;Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.h2.fulltext.FullTextSettings.getWhitespaceChars:()Ljava/lang/String;
astore 3
start local 3 1: new java.util.StringTokenizer
dup
aload 2
aload 3
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 2: goto 7
3: StackMap locals: java.lang.String java.util.StringTokenizer
StackMap stack:
aload 4
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 5
start local 5 4: aload 0
aload 5
invokevirtual org.h2.fulltext.FullTextSettings.convertWord:(Ljava/lang/String;)Ljava/lang/String;
astore 5
5: aload 5
ifnull 7
6: aload 1
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 7: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 setting Lorg/h2/fulltext/FullTextSettings;
0 9 1 set Ljava/util/Set<Ljava/lang/String;>;
0 9 2 text Ljava/lang/String;
1 9 3 whitespaceChars Ljava/lang/String;
2 9 4 tokenizer Ljava/util/StringTokenizer;
4 7 5 word Ljava/lang/String;
Signature: (Lorg/h2/fulltext/FullTextSettings;Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
setting
set
text
private static void createTrigger(java.sql.Connection, java.lang.String, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokestatic org.h2.fulltext.FullText.createOrDropTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 conn Ljava/sql/Connection;
0 2 1 schema Ljava/lang/String;
0 2 2 table Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
schema
table
private static void createOrDropTrigger(java.sql.Connection, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
aconst_null
astore 5
1: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 6
start local 6 2: new java.lang.StringBuilder
dup
aload 1
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)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;
3: new java.lang.StringBuilder
dup
ldc "FT_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 5: aload 6
new java.lang.StringBuilder
dup
ldc "DROP TRIGGER IF EXISTS "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
6: iload 3
ifeq 23
7: aload 0
invokestatic org.h2.fulltext.FullText$FullTextTrigger.isMultiThread:(Ljava/sql/Connection;)Z
istore 8
start local 8 8: new java.lang.StringBuilder
dup
9: ldc "CREATE TRIGGER IF NOT EXISTS "
10: invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 9
start local 9 11: aload 9
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " AFTER INSERT, UPDATE, DELETE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: iload 8
ifne 15
14: aload 9
ldc ", ROLLBACK"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: StackMap locals: java.sql.Connection java.lang.String java.lang.String int java.lang.Throwable java.lang.Throwable java.sql.Statement java.lang.String int java.lang.StringBuilder
StackMap stack:
aload 9
ldc " ON "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 9
aload 1
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
17: bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: aload 9
aload 2
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc " FOR EACH ROW CALL \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: ldc Lorg/h2/fulltext/FullText$FullTextTrigger;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
22: aload 6
aload 9
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
end local 9 end local 8 end local 7 23: StackMap locals:
StackMap stack:
aload 6
ifnull 29
aload 6
invokeinterface java.sql.Statement.close:()V
goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 4
aload 6
ifnull 25
aload 6
invokeinterface java.sql.Statement.close:()V
end local 6 StackMap locals:
StackMap stack:
25: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 5
aload 4
ifnonnull 27
aload 5
astore 4
goto 28
StackMap locals:
StackMap stack:
27: aload 4
aload 5
if_acmpeq 28
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 4
athrow
29: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 conn Ljava/sql/Connection;
0 30 1 schema Ljava/lang/String;
0 30 2 table Ljava/lang/String;
0 30 3 create Z
2 25 6 stat Ljava/sql/Statement;
5 23 7 trigger Ljava/lang/String;
8 23 8 multiThread Z
11 23 9 buff Ljava/lang/StringBuilder;
Exception table:
from to target type
2 23 24 any
1 26 26 any
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
schema
table
create
private static void indexExistingRows(java.sql.Connection, java.lang.String, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new org.h2.fulltext.FullText$FullTextTrigger
dup
invokespecial org.h2.fulltext.FullText$FullTextTrigger.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
aload 1
aconst_null
aload 2
iconst_0
iconst_1
invokevirtual org.h2.fulltext.FullText$FullTextTrigger.init:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)V
2: new java.lang.StringBuilder
dup
ldc "SELECT * FROM "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
aload 4
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 5
start local 5 6: aload 5
invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
istore 6
start local 6 7: goto 15
8: StackMap locals: java.sql.Connection java.lang.String java.lang.String org.h2.fulltext.FullText$FullTextTrigger java.lang.String java.sql.ResultSet int
StackMap stack:
iload 6
anewarray java.lang.Object
astore 7
start local 7 9: iconst_0
istore 8
start local 8 10: goto 13
11: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 7
iload 8
aload 5
iload 8
iconst_1
iadd
invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
aastore
12: iinc 8 1
StackMap locals:
StackMap stack:
13: iload 8
iload 6
if_icmplt 11
end local 8 14: aload 3
aload 0
aconst_null
aload 7
invokevirtual org.h2.fulltext.FullText$FullTextTrigger.fire:(Ljava/sql/Connection;[Ljava/lang/Object;[Ljava/lang/Object;)V
end local 7 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.sql.ResultSet.next:()Z
ifne 8
16: return
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 17 0 conn Ljava/sql/Connection;
0 17 1 schema Ljava/lang/String;
0 17 2 table Ljava/lang/String;
1 17 3 existing Lorg/h2/fulltext/FullText$FullTextTrigger;
5 17 4 sql Ljava/lang/String;
6 17 5 rs Ljava/sql/ResultSet;
7 17 6 columnCount I
9 15 7 row [Ljava/lang/Object;
10 14 8 i I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
schema
table
private static java.lang.String quoteString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
bipush 39
invokevirtual java.lang.String.indexOf:(I)I
ifge 2
1: new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 3: new java.lang.StringBuilder
dup
iload 1
iconst_2
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 4: aload 2
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: iconst_0
istore 3
start local 3 6: goto 12
7: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 8: iload 4
bipush 39
if_icmpne 10
9: aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
iload 1
if_icmplt 7
end local 3 13: aload 2
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 data Ljava/lang/String;
3 15 1 len I
4 15 2 buff Ljava/lang/StringBuilder;
6 13 3 i I
8 11 4 ch C
MethodParameters:
Name Flags
data
private static void setIgnoreList(org.h2.fulltext.FullTextSettings, java.lang.String);
descriptor: (Lorg/h2/fulltext/FullTextSettings;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
bipush 44
iconst_1
invokestatic org.h2.util.StringUtils.arraySplit:(Ljava/lang/String;CZ)[Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.h2.fulltext.FullTextSettings.addIgnored:(Ljava/lang/Iterable;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 setting Lorg/h2/fulltext/FullTextSettings;
0 3 1 commaSeparatedList Ljava/lang/String;
1 3 2 list [Ljava/lang/String;
MethodParameters:
Name Flags
setting
commaSeparatedList
protected static boolean hasChanged(java.lang.Object[], java.lang.Object[], int[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;[I)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: java.lang.Object[] java.lang.Object[] int[] top int int int[]
StackMap stack:
1: aload 6
iload 4
iaload
istore 3
start local 3 2: aload 0
iload 3
aaload
astore 7
start local 7 3: aload 1
iload 3
aaload
astore 8
start local 8 4: aload 7
ifnonnull 7
5: aload 8
ifnull 9
6: iconst_1
ireturn
7: StackMap locals: java.lang.Object[] java.lang.Object[] int[] int int int int[] java.lang.Object java.lang.Object
StackMap stack:
aload 7
aload 8
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
8: iconst_1
ireturn
end local 8 end local 7 end local 3 9: StackMap locals: java.lang.Object[] java.lang.Object[] int[] top int int int[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 1
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 oldRow [Ljava/lang/Object;
0 12 1 newRow [Ljava/lang/Object;
0 12 2 indexColumns [I
2 9 3 c I
3 9 7 o Ljava/lang/Object;
4 9 8 n Ljava/lang/Object;
MethodParameters:
Name Flags
oldRow
newRow
indexColumns
public static void closeAll();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic org.h2.fulltext.FullTextSettings.closeAll:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
protected static java.sql.SQLException throwException(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/sql/SQLException;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.sql.SQLException
dup
aload 0
ldc "FULLTEXT"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
message
}
SourceFile: "FullText.java"
NestMembers:
org.h2.fulltext.FullText$FullTextTrigger
InnerClasses:
public final FullTextTrigger = org.h2.fulltext.FullText$FullTextTrigger of org.h2.fulltext.FullText