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 // org.h2.fulltext.FullText this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.fulltext.FullText this
      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 // java.sql.Connection conn
         0: .line 108
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 1 /* stat */
        start local 1 // java.sql.Statement stat
         1: .line 109
            aload 1 /* stat */
            ldc "CREATE SCHEMA IF NOT EXISTS FT"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         2: .line 110
            aload 1 /* stat */
            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: .line 114
            aload 1 /* stat */
            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: .line 117
            aload 1 /* stat */
            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: .line 120
            aload 1 /* stat */
            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: .line 122
            aload 1 /* stat */
            ldc "CREATE TABLE IF NOT EXISTS FT.IGNORELIST(LIST VARCHAR)"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         7: .line 124
            aload 1 /* stat */
            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: .line 126
            aload 1 /* stat */
            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: .line 127
            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: .line 126
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        11: .line 128
            aload 1 /* stat */
            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: .line 129
            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: .line 128
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        14: .line 130
            aload 1 /* stat */
            new java.lang.StringBuilder
            dup
            ldc "CREATE ALIAS IF NOT EXISTS FT_SEARCH FOR \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 131
            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: .line 130
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        17: .line 132
            aload 1 /* stat */
            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: .line 133
            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: .line 132
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        20: .line 134
            aload 1 /* stat */
            new java.lang.StringBuilder
            dup
            ldc "CREATE ALIAS IF NOT EXISTS FT_REINDEX FOR \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 135
            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: .line 134
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        23: .line 136
            aload 1 /* stat */
            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: .line 137
            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: .line 136
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        26: .line 138
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
            astore 2 /* setting */
        start local 2 // org.h2.fulltext.FullTextSettings setting
        27: .line 139
            aload 1 /* stat */
            ldc "SELECT * FROM FT.IGNORELIST"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
        28: .line 141
            goto 31
        29: .line 142
      StackMap locals: java.sql.Statement org.h2.fulltext.FullTextSettings java.sql.ResultSet
      StackMap stack:
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 4 /* commaSeparatedList */
        start local 4 // java.lang.String commaSeparatedList
        30: .line 143
            aload 2 /* setting */
            aload 4 /* commaSeparatedList */
            invokestatic org.h2.fulltext.FullText.setIgnoreList:(Lorg/h2/fulltext/FullTextSettings;Ljava/lang/String;)V
        end local 4 // java.lang.String commaSeparatedList
        31: .line 141
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 29
        32: .line 145
            aload 1 /* stat */
            ldc "SELECT * FROM FT.SETTINGS"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        33: .line 146
            goto 38
        34: .line 147
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 4 /* key */
        start local 4 // java.lang.String key
        35: .line 148
            ldc "whitespaceChars"
            aload 4 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 149
            aload 3 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        37: .line 150
            aload 2 /* setting */
            aload 5 /* value */
            invokevirtual org.h2.fulltext.FullTextSettings.setWhitespaceChars:(Ljava/lang/String;)V
        end local 5 // java.lang.String value
        end local 4 // java.lang.String key
        38: .line 146
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 34
        39: .line 153
            aload 1 /* stat */
            ldc "SELECT * FROM FT.WORDS"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        40: .line 154
            goto 46
        41: .line 155
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            ldc "NAME"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* word */
        start local 4 // java.lang.String word
        42: .line 156
            aload 3 /* rs */
            ldc "ID"
            invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
            istore 5 /* id */
        start local 5 // int id
        43: .line 157
            aload 2 /* setting */
            aload 4 /* word */
            invokevirtual org.h2.fulltext.FullTextSettings.convertWord:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* word */
        44: .line 158
            aload 4 /* word */
            ifnull 46
        45: .line 159
            aload 2 /* setting */
            aload 4 /* word */
            iload 5 /* id */
            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 // int id
        end local 4 // java.lang.String word
        46: .line 154
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 41
        47: .line 162
            aload 2 /* setting */
            iconst_1
            invokevirtual org.h2.fulltext.FullTextSettings.setInitialized:(Z)V
        48: .line 163
            return
        end local 3 // java.sql.ResultSet rs
        end local 2 // org.h2.fulltext.FullTextSettings setting
        end local 1 // java.sql.Statement stat
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String schema
        start local 2 // java.lang.String table
        start local 3 // java.lang.String columnList
         0: .line 176
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         1: .line 177
            aload 0 /* conn */
            ldc "INSERT INTO FT.INDEXES(SCHEMA, `TABLE`, COLUMNS) VALUES(?, ?, ?)"
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 4 /* prep */
        start local 4 // java.sql.PreparedStatement prep
         2: .line 179
            aload 4 /* prep */
            iconst_1
            aload 1 /* schema */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         3: .line 180
            aload 4 /* prep */
            iconst_2
            aload 2 /* table */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         4: .line 181
            aload 4 /* prep */
            iconst_3
            aload 3 /* columnList */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         5: .line 182
            aload 4 /* prep */
            invokeinterface java.sql.PreparedStatement.execute:()Z
            pop
         6: .line 183
            aload 0 /* conn */
            aload 1 /* schema */
            aload 2 /* table */
            invokestatic org.h2.fulltext.FullText.createTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 184
            aload 0 /* conn */
            aload 1 /* schema */
            aload 2 /* table */
            invokestatic org.h2.fulltext.FullText.indexExistingRows:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 185
            return
        end local 4 // java.sql.PreparedStatement prep
        end local 3 // java.lang.String columnList
        end local 2 // java.lang.String table
        end local 1 // java.lang.String schema
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
         0: .line 194
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         1: .line 195
            aload 0 /* conn */
            ldc "FT_"
            invokestatic org.h2.fulltext.FullText.removeAllTriggers:(Ljava/sql/Connection;Ljava/lang/String;)V
         2: .line 196
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
            astore 1 /* setting */
        start local 1 // org.h2.fulltext.FullTextSettings setting
         3: .line 197
            aload 1 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.clearWordList:()V
         4: .line 198
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* stat */
        start local 2 // java.sql.Statement stat
         5: .line 199
            aload 2 /* stat */
            ldc "TRUNCATE TABLE FT.WORDS"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         6: .line 200
            aload 2 /* stat */
            ldc "TRUNCATE TABLE FT.ROWS"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         7: .line 201
            aload 2 /* stat */
            ldc "TRUNCATE TABLE FT.MAP"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         8: .line 202
            aload 2 /* stat */
            ldc "SELECT * FROM FT.INDEXES"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         9: .line 203
            goto 14
        10: .line 204
      StackMap locals: org.h2.fulltext.FullTextSettings java.sql.Statement java.sql.ResultSet
      StackMap stack:
            aload 3 /* rs */
            ldc "SCHEMA"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* schema */
        start local 4 // java.lang.String schema
        11: .line 205
            aload 3 /* rs */
            ldc "TABLE"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* table */
        start local 5 // java.lang.String table
        12: .line 206
            aload 0 /* conn */
            aload 4 /* schema */
            aload 5 /* table */
            invokestatic org.h2.fulltext.FullText.createTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 207
            aload 0 /* conn */
            aload 4 /* schema */
            aload 5 /* table */
            invokestatic org.h2.fulltext.FullText.indexExistingRows:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;)V
        end local 5 // java.lang.String table
        end local 4 // java.lang.String schema
        14: .line 203
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 10
        15: .line 209
            return
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement stat
        end local 1 // org.h2.fulltext.FullTextSettings setting
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String schema
        start local 2 // java.lang.String table
         0: .line 221
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         1: .line 222
            aload 0 /* conn */
            ldc "SELECT ID FROM FT.INDEXES WHERE SCHEMA=? AND `TABLE`=?"
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 3 /* prep */
        start local 3 // java.sql.PreparedStatement prep
         2: .line 224
            aload 3 /* prep */
            iconst_1
            aload 1 /* schema */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         3: .line 225
            aload 3 /* prep */
            iconst_2
            aload 2 /* table */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         4: .line 226
            aload 3 /* prep */
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 4 /* rs */
        start local 4 // java.sql.ResultSet rs
         5: .line 227
            aload 4 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 7
         6: .line 228
            return
         7: .line 230
      StackMap locals: java.sql.PreparedStatement java.sql.ResultSet
      StackMap stack:
            aload 4 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* indexId */
        start local 5 // int indexId
         8: .line 231
            aload 0 /* conn */
            ldc "DELETE FROM FT.INDEXES WHERE ID=?"
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 3 /* prep */
         9: .line 233
            aload 3 /* prep */
            iconst_1
            iload 5 /* indexId */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        10: .line 234
            aload 3 /* prep */
            invokeinterface java.sql.PreparedStatement.execute:()Z
            pop
        11: .line 235
            aload 0 /* conn */
            aload 1 /* schema */
            aload 2 /* table */
            iconst_0
            invokestatic org.h2.fulltext.FullText.createOrDropTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Z)V
        12: .line 236
            aload 0 /* conn */
            ldc "DELETE FROM FT.ROWS WHERE INDEXID=? AND ROWNUM<10000"
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 3 /* prep */
        13: .line 239
      StackMap locals: int
      StackMap stack:
            aload 3 /* prep */
            iconst_1
            iload 5 /* indexId */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        14: .line 240
            aload 3 /* prep */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 6 /* deleted */
        start local 6 // int deleted
        15: .line 241
            iload 6 /* deleted */
            ifne 13
        end local 6 // int deleted
        16: .line 245
            aload 0 /* conn */
            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 /* prep */
        17: .line 249
      StackMap locals:
      StackMap stack:
            aload 3 /* prep */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 6 /* deleted */
        start local 6 // int deleted
        18: .line 250
            iload 6 /* deleted */
            ifne 17
        end local 6 // int deleted
        19: .line 254
            return
        end local 5 // int indexId
        end local 4 // java.sql.ResultSet rs
        end local 3 // java.sql.PreparedStatement prep
        end local 2 // java.lang.String table
        end local 1 // java.lang.String schema
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
         0: .line 262
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         1: .line 263
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 1 /* stat */
        start local 1 // java.sql.Statement stat
         2: .line 264
            aload 1 /* stat */
            ldc "DROP SCHEMA IF EXISTS FT CASCADE"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         3: .line 265
            aload 0 /* conn */
            ldc "FT_"
            invokestatic org.h2.fulltext.FullText.removeAllTriggers:(Ljava/sql/Connection;Ljava/lang/String;)V
         4: .line 266
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
            astore 2 /* setting */
        start local 2 // org.h2.fulltext.FullTextSettings setting
         5: .line 267
            aload 2 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.removeAllIndexes:()V
         6: .line 268
            aload 2 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.clearIgnored:()V
         7: .line 269
            aload 2 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.clearWordList:()V
         8: .line 270
            return
        end local 2 // org.h2.fulltext.FullTextSettings setting
        end local 1 // java.sql.Statement stat
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String text
        start local 2 // int limit
        start local 3 // int offset
         0: .line 291
            aload 0 /* conn */
            aload 1 /* text */
            iload 2 /* limit */
            iload 3 /* offset */
            iconst_0
            invokestatic org.h2.fulltext.FullText.search:(Ljava/sql/Connection;Ljava/lang/String;IIZ)Ljava/sql/ResultSet;
         1: areturn
         2: .line 292
      StackMap locals:
      StackMap stack: org.h2.message.DbException
            astore 4 /* e */
        start local 4 // org.h2.message.DbException e
         3: .line 293
            aload 4 /* e */
            invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // org.h2.message.DbException e
        end local 3 // int offset
        end local 2 // int limit
        end local 1 // java.lang.String text
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String text
        start local 2 // int limit
        start local 3 // int offset
         0: .line 322
            aload 0 /* conn */
            aload 1 /* text */
            iload 2 /* limit */
            iload 3 /* offset */
            iconst_1
            invokestatic org.h2.fulltext.FullText.search:(Ljava/sql/Connection;Ljava/lang/String;IIZ)Ljava/sql/ResultSet;
         1: areturn
         2: .line 323
      StackMap locals:
      StackMap stack: org.h2.message.DbException
            astore 4 /* e */
        start local 4 // org.h2.message.DbException e
         3: .line 324
            aload 4 /* e */
            invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // org.h2.message.DbException e
        end local 3 // int offset
        end local 2 // int limit
        end local 1 // java.lang.String text
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String commaSeparatedList
         0: .line 340
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         1: .line 341
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
            astore 2 /* setting */
        start local 2 // org.h2.fulltext.FullTextSettings setting
         2: .line 342
            aload 2 /* setting */
            aload 1 /* commaSeparatedList */
            invokestatic org.h2.fulltext.FullText.setIgnoreList:(Lorg/h2/fulltext/FullTextSettings;Ljava/lang/String;)V
         3: .line 343
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 3 /* stat */
        start local 3 // java.sql.Statement stat
         4: .line 344
            aload 3 /* stat */
            ldc "TRUNCATE TABLE FT.IGNORELIST"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         5: .line 345
            aload 0 /* conn */
            ldc "INSERT INTO FT.IGNORELIST VALUES(?)"
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 4 /* prep */
        start local 4 // java.sql.PreparedStatement prep
         6: .line 347
            aload 4 /* prep */
            iconst_1
            aload 1 /* commaSeparatedList */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         7: .line 348
            aload 4 /* prep */
            invokeinterface java.sql.PreparedStatement.execute:()Z
            pop
        end local 4 // java.sql.PreparedStatement prep
        end local 3 // java.sql.Statement stat
        end local 2 // org.h2.fulltext.FullTextSettings setting
         8: .line 349
            goto 11
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         9: astore 2 /* e */
        start local 2 // org.h2.message.DbException e
        10: .line 350
            aload 2 /* e */
            invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 2 // org.h2.message.DbException e
        11: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String commaSeparatedList
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String whitespaceChars
         0: .line 365
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         1: .line 366
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
            astore 2 /* setting */
        start local 2 // org.h2.fulltext.FullTextSettings setting
         2: .line 367
            aload 2 /* setting */
            aload 1 /* whitespaceChars */
            invokevirtual org.h2.fulltext.FullTextSettings.setWhitespaceChars:(Ljava/lang/String;)V
         3: .line 368
            aload 0 /* conn */
            ldc "MERGE INTO FT.SETTINGS VALUES(?, ?)"
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 3 /* prep */
        start local 3 // java.sql.PreparedStatement prep
         4: .line 370
            aload 3 /* prep */
            iconst_1
            ldc "whitespaceChars"
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         5: .line 371
            aload 3 /* prep */
            iconst_2
            aload 1 /* whitespaceChars */
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         6: .line 372
            aload 3 /* prep */
            invokeinterface java.sql.PreparedStatement.execute:()Z
            pop
        end local 3 // java.sql.PreparedStatement prep
        end local 2 // org.h2.fulltext.FullTextSettings setting
         7: .line 373
            goto 10
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         8: astore 2 /* e */
        start local 2 // org.h2.message.DbException e
         9: .line 374
            aload 2 /* e */
            invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 2 // org.h2.message.DbException e
        10: .line 376
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String whitespaceChars
        end local 0 // java.sql.Connection conn
      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 // java.lang.Object data
        start local 1 // int type
         0: .line 387
            aload 0 /* data */
            ifnonnull 2
         1: .line 388
            ldc "NULL"
            areturn
         2: .line 390
      StackMap locals:
      StackMap stack:
            iload 1 /* type */
            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: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         4: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            instanceof java.sql.Clob
            ifeq 6
         5: .line 412
            aload 0 /* data */
            checkcast java.sql.Clob
            invokeinterface java.sql.Clob.getCharacterStream:()Ljava/io/Reader;
            astore 0 /* data */
         6: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            checkcast java.io.Reader
            iconst_m1
            invokestatic org.h2.util.IOUtils.readStringAndClose:(Ljava/io/Reader;I)Ljava/lang/String;
         7: areturn
         8: .line 415
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         9: .line 416
            aload 2 /* e */
            invokestatic org.h2.message.DbException.toSQLException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 2 // java.io.IOException e
        10: .line 430
      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 /* type */
            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: .line 432
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 1 // int type
        end local 0 // java.lang.Object data
      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 // boolean data
         0: .line 444
            new org.h2.tools.SimpleResultSet
            dup
            invokespecial org.h2.tools.SimpleResultSet.<init>:()V
            astore 1 /* result */
        start local 1 // org.h2.tools.SimpleResultSet result
         1: .line 445
            iload 0 /* data */
            ifeq 7
         2: .line 446
            aload 1 /* result */
            ldc "SCHEMA"
            bipush 12
            iconst_0
            iconst_0
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
         3: .line 447
            aload 1 /* result */
            ldc "TABLE"
            bipush 12
            iconst_0
            iconst_0
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
         4: .line 448
            aload 1 /* result */
            ldc "COLUMNS"
            sipush 2003
            iconst_0
            iconst_0
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
         5: .line 449
            aload 1 /* result */
            ldc "KEYS"
            sipush 2003
            iconst_0
            iconst_0
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
         6: .line 450
            goto 8
         7: .line 451
      StackMap locals: org.h2.tools.SimpleResultSet
      StackMap stack:
            aload 1 /* result */
            ldc "QUERY"
            bipush 12
            iconst_0
            iconst_0
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
         8: .line 453
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ldc "SCORE"
            bipush 6
            iconst_0
            iconst_0
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
         9: .line 454
            aload 1 /* result */
            areturn
        end local 1 // org.h2.tools.SimpleResultSet result
        end local 0 // boolean data
      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 // java.sql.Connection conn
        start local 1 // java.lang.String key
         0: .line 465
            invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
            astore 2 /* columns */
        start local 2 // java.util.ArrayList columns
         1: .line 466
            invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
            astore 3 /* data */
        start local 3 // java.util.ArrayList data
         2: .line 467
            aload 0 /* conn */
            checkcast org.h2.jdbc.JdbcConnection
            astore 4 /* c */
        start local 4 // org.h2.jdbc.JdbcConnection c
         3: .line 468
            aload 4 /* c */
            invokevirtual org.h2.jdbc.JdbcConnection.getSession:()Lorg/h2/engine/SessionInterface;
            checkcast org.h2.engine.Session
            astore 5 /* session */
        start local 5 // org.h2.engine.Session session
         4: .line 469
            new org.h2.command.Parser
            dup
            aload 5 /* session */
            invokespecial org.h2.command.Parser.<init>:(Lorg/h2/engine/Session;)V
            astore 6 /* p */
        start local 6 // org.h2.command.Parser p
         5: .line 470
            aload 6 /* p */
            aload 1 /* key */
            invokevirtual org.h2.command.Parser.parseExpression:(Ljava/lang/String;)Lorg/h2/expression/Expression;
            astore 7 /* expr */
        start local 7 // org.h2.expression.Expression expr
         6: .line 471
            aload 2 /* columns */
            aload 3 /* data */
            aload 7 /* expr */
            invokestatic org.h2.fulltext.FullText.addColumnData:(Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/h2/expression/Expression;)V
         7: .line 472
            aload 2 /* columns */
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            astore 8 /* col */
        start local 8 // java.lang.Object[] col
         8: .line 473
            aload 3 /* data */
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            astore 9 /* dat */
        start local 9 // java.lang.Object[] dat
         9: .line 474
            iconst_2
            anewarray java.lang.Object[]
            dup
            iconst_0
            aload 8 /* col */
            aastore
            dup
            iconst_1
            aload 9 /* dat */
            aastore
            astore 10 /* columnData */
        start local 10 // java.lang.Object[][] columnData
        10: .line 475
            aload 10 /* columnData */
            areturn
        end local 10 // java.lang.Object[][] columnData
        end local 9 // java.lang.Object[] dat
        end local 8 // java.lang.Object[] col
        end local 7 // org.h2.expression.Expression expr
        end local 6 // org.h2.command.Parser p
        end local 5 // org.h2.engine.Session session
        end local 4 // org.h2.jdbc.JdbcConnection c
        end local 3 // java.util.ArrayList data
        end local 2 // java.util.ArrayList columns
        end local 1 // java.lang.String key
        end local 0 // java.sql.Connection conn
      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 // java.lang.Object data
        start local 1 // int type
         0: .line 487
            aload 0 /* data */
            ifnonnull 2
         1: .line 488
            ldc "NULL"
            areturn
         2: .line 490
      StackMap locals:
      StackMap stack:
            iload 1 /* type */
            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: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         4: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.h2.fulltext.FullText.quoteString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         5: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            instanceof java.util.UUID
            ifeq 7
         6: .line 514
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* data */
            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: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            checkcast byte[]
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         8: .line 517
            new java.lang.StringBuilder
            dup
            aload 2 /* bytes */
            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 /* builder */
        start local 3 // java.lang.StringBuilder builder
         9: .line 518
            aload 3 /* builder */
            aload 2 /* bytes */
            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: .line 519
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder builder
        end local 2 // byte[] bytes
        11: .line 530
      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 /* type */
            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: .line 532
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 1 // int type
        end local 0 // java.lang.Object data
      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 // java.sql.Connection conn
        start local 1 // java.lang.String prefix
         0: .line 544
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* stat */
        start local 2 // java.sql.Statement stat
         1: .line 545
            aload 2 /* stat */
            ldc "SELECT * FROM INFORMATION_SCHEMA.TRIGGERS"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         2: .line 546
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 4 /* stat2 */
        start local 4 // java.sql.Statement stat2
         3: .line 547
            goto 11
         4: .line 548
      StackMap locals: java.sql.Statement java.sql.ResultSet java.sql.Statement
      StackMap stack:
            aload 3 /* rs */
            ldc "TRIGGER_SCHEMA"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* schema */
        start local 5 // java.lang.String schema
         5: .line 549
            aload 3 /* rs */
            ldc "TRIGGER_NAME"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 550
            aload 6 /* name */
            aload 1 /* prefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
         7: .line 551
            new java.lang.StringBuilder
            dup
            aload 5 /* schema */
            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: .line 552
            aload 6 /* name */
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 551
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* name */
        10: .line 553
            aload 4 /* stat2 */
            new java.lang.StringBuilder
            dup
            ldc "DROP TRIGGER "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            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 // java.lang.String name
        end local 5 // java.lang.String schema
        11: .line 547
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 4
        12: .line 556
            return
        end local 4 // java.sql.Statement stat2
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement stat
        end local 1 // java.lang.String prefix
        end local 0 // java.sql.Connection conn
      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 // int[] index
        start local 1 // java.util.ArrayList keys
        start local 2 // java.util.ArrayList columns
         0: .line 567
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: aload 1 /* keys */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* keySize */
        start local 4 // int keySize
         2: goto 17
         3: .line 568
      StackMap locals: int int
      StackMap stack:
            aload 1 /* keys */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* key */
        start local 5 // java.lang.String key
         4: .line 569
            iconst_m1
            istore 6 /* found */
        start local 6 // int found
         5: .line 570
            aload 2 /* columns */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* columnsSize */
        start local 7 // int columnsSize
         6: .line 571
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         7: goto 12
         8: .line 572
      StackMap locals: int[] java.util.ArrayList java.util.ArrayList int int java.lang.String int int int
      StackMap stack:
            aload 2 /* columns */
            iload 8 /* j */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* column */
        start local 9 // java.lang.String column
         9: .line 573
            aload 9 /* column */
            aload 5 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 574
            iload 8 /* j */
            istore 6 /* found */
        end local 9 // java.lang.String column
        11: .line 571
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* found */
            iconst_m1
            if_icmpne 13
            iload 8 /* j */
            iload 7 /* columnsSize */
            if_icmplt 8
        end local 8 // int j
        13: .line 577
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifge 15
        14: .line 578
            new java.lang.StringBuilder
            dup
            ldc "Column not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* key */
            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: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* index */
            iload 3 /* i */
            iload 6 /* found */
            iastore
        end local 7 // int columnsSize
        end local 6 // int found
        end local 5 // java.lang.String key
        16: .line 567
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            iload 4 /* keySize */
            if_icmplt 3
        end local 4 // int keySize
        end local 3 // int i
        18: .line 582
            return
        end local 2 // java.util.ArrayList columns
        end local 1 // java.util.ArrayList keys
        end local 0 // int[] index
      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 // java.sql.Connection conn
        start local 1 // java.lang.String text
        start local 2 // int limit
        start local 3 // int offset
        start local 4 // boolean data
         0: .line 596
            iload 4 /* data */
            invokestatic org.h2.fulltext.FullText.createResultSet:(Z)Lorg/h2/tools/SimpleResultSet;
            astore 5 /* result */
        start local 5 // org.h2.tools.SimpleResultSet result
         1: .line 597
            aload 0 /* conn */
            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: .line 599
            aload 5 /* result */
            areturn
         3: .line 601
      StackMap locals: org.h2.tools.SimpleResultSet
      StackMap stack:
            aload 1 /* text */
            ifnull 4
            aload 1 /* text */
            invokestatic org.h2.util.StringUtils.isWhitespaceOrEmpty:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 602
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
         5: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullTextSettings.getInstance:(Ljava/sql/Connection;)Lorg/h2/fulltext/FullTextSettings;
            astore 6 /* setting */
        start local 6 // org.h2.fulltext.FullTextSettings setting
         6: .line 605
            aload 6 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.isInitialized:()Z
            ifne 8
         7: .line 606
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText.init:(Ljava/sql/Connection;)V
         8: .line 608
      StackMap locals: org.h2.fulltext.FullTextSettings
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* words */
        start local 7 // java.util.Set words
         9: .line 609
            aload 6 /* setting */
            aload 7 /* words */
            aload 1 /* text */
            invokestatic org.h2.fulltext.FullText.addWords:(Lorg/h2/fulltext/FullTextSettings;Ljava/util/Set;Ljava/lang/String;)V
        10: .line 610
            aconst_null
            astore 8 /* rIds */
        start local 8 // java.util.Set rIds
        11: .line 612
            aload 6 /* setting */
            aload 0 /* conn */
        12: .line 613
            ldc "SELECT ROWID FROM FT.MAP WHERE WORDID=?"
        13: .line 612
            invokevirtual org.h2.fulltext.FullTextSettings.prepare:(Ljava/sql/Connection;Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 10 /* prepSelectMapByWordId */
        start local 10 // java.sql.PreparedStatement prepSelectMapByWordId
        14: .line 614
            aload 7 /* words */
            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 /* word */
        start local 11 // java.lang.String word
        16: .line 615
            aload 8 /* rIds */
            astore 9 /* lastRowIds */
        start local 9 // java.util.Set lastRowIds
        17: .line 616
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* rIds */
        18: .line 617
            aload 6 /* setting */
            aload 11 /* word */
            invokevirtual org.h2.fulltext.FullTextSettings.getWordId:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 13 /* wId */
        start local 13 // java.lang.Integer wId
        19: .line 618
            aload 13 /* wId */
            ifnonnull 21
        20: .line 619
            goto 28
        21: .line 621
      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 /* prepSelectMapByWordId */
            iconst_1
            aload 13 /* wId */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        22: .line 622
            aload 10 /* prepSelectMapByWordId */
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 14 /* rs */
        start local 14 // java.sql.ResultSet rs
        23: .line 623
            goto 27
        24: .line 624
      StackMap locals: java.sql.ResultSet
      StackMap stack:
            aload 14 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 15 /* rId */
        start local 15 // java.lang.Integer rId
        25: .line 625
            aload 9 /* lastRowIds */
            ifnull 26
            aload 9 /* lastRowIds */
            aload 15 /* rId */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 626
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 8 /* rIds */
            aload 15 /* rId */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.lang.Integer rId
        27: .line 623
      StackMap locals:
      StackMap stack:
            aload 14 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 24
        end local 14 // java.sql.ResultSet rs
        end local 13 // java.lang.Integer wId
        end local 11 // java.lang.String word
        end local 9 // java.util.Set lastRowIds
        28: .line 614
      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: .line 630
            aload 8 /* rIds */
            ifnull 30
            aload 8 /* rIds */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 31
        30: .line 631
      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 /* result */
            areturn
        31: .line 633
      StackMap locals:
      StackMap stack:
            aload 6 /* setting */
            aload 0 /* conn */
            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 /* prepSelectRowById */
        start local 11 // java.sql.PreparedStatement prepSelectRowById
        32: .line 634
            iconst_0
            istore 12 /* rowCount */
        start local 12 // int rowCount
        33: .line 635
            aload 8 /* rIds */
            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 /* rowId */
        start local 13 // int rowId
        35: .line 636
            aload 11 /* prepSelectRowById */
            iconst_1
            iload 13 /* rowId */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        36: .line 637
            aload 11 /* prepSelectRowById */
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 15 /* rs */
        start local 15 // java.sql.ResultSet rs
        37: .line 638
            aload 15 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 39
        38: .line 639
            goto 63
        39: .line 641
      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 /* offset */
            ifle 42
        40: .line 642
            iinc 3 /* offset */ -1
        41: .line 643
            goto 63
        42: .line 644
      StackMap locals:
      StackMap stack:
            aload 15 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 16 /* key */
        start local 16 // java.lang.String key
        43: .line 645
            aload 15 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 17 /* indexId */
        start local 17 // int indexId
        44: .line 646
            aload 6 /* setting */
            iload 17 /* indexId */
            invokevirtual org.h2.fulltext.FullTextSettings.getIndexInfo:(I)Lorg/h2/fulltext/IndexInfo;
            astore 18 /* index */
        start local 18 // org.h2.fulltext.IndexInfo index
        45: .line 647
            iload 4 /* data */
            ifeq 55
        46: .line 648
            aload 0 /* conn */
            aload 16 /* key */
            invokestatic org.h2.fulltext.FullText.parseKey:(Ljava/sql/Connection;Ljava/lang/String;)[[Ljava/lang/Object;
            astore 19 /* columnData */
        start local 19 // java.lang.Object[][] columnData
        47: .line 649
            aload 5 /* result */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        48: .line 650
            aload 18 /* index */
            getfield org.h2.fulltext.IndexInfo.schema:Ljava/lang/String;
            aastore
            dup
            iconst_1
        49: .line 651
            aload 18 /* index */
            getfield org.h2.fulltext.IndexInfo.table:Ljava/lang/String;
            aastore
            dup
            iconst_2
        50: .line 652
            aload 19 /* columnData */
            iconst_0
            aaload
            aastore
            dup
            iconst_3
        51: .line 653
            aload 19 /* columnData */
            iconst_1
            aaload
            aastore
            dup
            iconst_4
        52: .line 654
            dconst_1
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        53: .line 649
            invokevirtual org.h2.tools.SimpleResultSet.addRow:([Ljava/lang/Object;)V
        end local 19 // java.lang.Object[][] columnData
        54: .line 655
            goto 60
        55: .line 656
      StackMap locals: java.lang.String int org.h2.fulltext.IndexInfo
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 18 /* index */
            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: .line 657
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* index */
            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: .line 658
            ldc " WHERE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 656
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 19 /* query */
        start local 19 // java.lang.String query
        59: .line 659
            aload 5 /* result */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 19 /* query */
            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 // java.lang.String query
        60: .line 661
      StackMap locals:
      StackMap stack:
            iinc 12 /* rowCount */ 1
        61: .line 662
            iload 2 /* limit */
            ifle 63
            iload 12 /* rowCount */
            iload 2 /* limit */
            if_icmplt 63
        62: .line 663
            goto 64
        end local 18 // org.h2.fulltext.IndexInfo index
        end local 17 // int indexId
        end local 16 // java.lang.String key
        end local 15 // java.sql.ResultSet rs
        end local 13 // int rowId
        63: .line 635
      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: .line 667
      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 /* result */
            areturn
        end local 12 // int rowCount
        end local 11 // java.sql.PreparedStatement prepSelectRowById
        end local 10 // java.sql.PreparedStatement prepSelectMapByWordId
        end local 8 // java.util.Set rIds
        end local 7 // java.util.Set words
        end local 6 // org.h2.fulltext.FullTextSettings setting
        end local 5 // org.h2.tools.SimpleResultSet result
        end local 4 // boolean data
        end local 3 // int offset
        end local 2 // int limit
        end local 1 // java.lang.String text
        end local 0 // java.sql.Connection conn
      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 // java.util.ArrayList columns
        start local 1 // java.util.ArrayList data
        start local 2 // org.h2.expression.Expression expr
         0: .line 672
            aload 2 /* expr */
            instanceof org.h2.expression.condition.ConditionAndOr
            ifeq 5
         1: .line 673
            aload 2 /* expr */
            checkcast org.h2.expression.condition.ConditionAndOr
            astore 3 /* and */
        start local 3 // org.h2.expression.condition.ConditionAndOr and
         2: .line 674
            aload 0 /* columns */
            aload 1 /* data */
            aload 3 /* and */
            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: .line 675
            aload 0 /* columns */
            aload 1 /* data */
            aload 3 /* and */
            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 // org.h2.expression.condition.ConditionAndOr and
         4: .line 676
            goto 14
         5: .line 677
      StackMap locals:
      StackMap stack:
            aload 2 /* expr */
            checkcast org.h2.expression.condition.Comparison
            astore 3 /* comp */
        start local 3 // org.h2.expression.condition.Comparison comp
         6: .line 678
            aload 3 /* comp */
            iconst_0
            invokevirtual org.h2.expression.condition.Comparison.getSubexpression:(I)Lorg/h2/expression/Expression;
            checkcast org.h2.expression.ExpressionColumn
            astore 4 /* ec */
        start local 4 // org.h2.expression.ExpressionColumn ec
         7: .line 679
            aload 4 /* ec */
            invokevirtual org.h2.expression.ExpressionColumn.getColumnName:()Ljava/lang/String;
            astore 5 /* columnName */
        start local 5 // java.lang.String columnName
         8: .line 680
            aload 0 /* columns */
            aload 5 /* columnName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 681
            aload 2 /* expr */
            invokevirtual org.h2.expression.Expression.getSubexpressionCount:()I
            iconst_1
            if_icmpne 12
        10: .line 682
            aload 1 /* data */
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 683
            goto 14
        12: .line 684
      StackMap locals: org.h2.expression.condition.Comparison org.h2.expression.ExpressionColumn java.lang.String
      StackMap stack:
            aload 3 /* comp */
            iconst_1
            invokevirtual org.h2.expression.condition.Comparison.getSubexpression:(I)Lorg/h2/expression/Expression;
            checkcast org.h2.expression.ValueExpression
            astore 6 /* ev */
        start local 6 // org.h2.expression.ValueExpression ev
        13: .line 685
            aload 1 /* data */
            aload 6 /* ev */
            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 // org.h2.expression.ValueExpression ev
        end local 5 // java.lang.String columnName
        end local 4 // org.h2.expression.ExpressionColumn ec
        end local 3 // org.h2.expression.condition.Comparison comp
        14: .line 688
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.expression.Expression expr
        end local 1 // java.util.ArrayList data
        end local 0 // java.util.ArrayList columns
      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 // org.h2.fulltext.FullTextSettings setting
        start local 1 // java.util.Set set
        start local 2 // java.io.Reader reader
         0: .line 699
            new java.io.StreamTokenizer
            dup
            aload 2 /* reader */
            invokespecial java.io.StreamTokenizer.<init>:(Ljava/io/Reader;)V
            astore 3 /* tokenizer */
        start local 3 // java.io.StreamTokenizer tokenizer
         1: .line 700
            aload 3 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.resetSyntax:()V
         2: .line 701
            aload 3 /* tokenizer */
            bipush 33
            sipush 255
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         3: .line 702
            aload 0 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.getWhitespaceChars:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            astore 4 /* whitespaceChars */
        start local 4 // char[] whitespaceChars
         4: .line 703
            aload 4 /* whitespaceChars */
            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 /* ch */
        start local 5 // char ch
         6: .line 704
            aload 3 /* tokenizer */
            iload 5 /* ch */
            iload 5 /* ch */
            invokevirtual java.io.StreamTokenizer.whitespaceChars:(II)V
        end local 5 // char ch
         7: .line 703
            iinc 6 1
      StackMap locals:
      StackMap stack:
         8: iload 6
            iload 7
            if_icmplt 5
         9: .line 708
      StackMap locals: org.h2.fulltext.FullTextSettings java.util.Set java.io.Reader java.io.StreamTokenizer char[]
      StackMap stack:
            aload 3 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 5 /* token */
        start local 5 // int token
        10: .line 709
            iload 5 /* token */
            iconst_m1
            if_icmpne 12
        11: .line 710
            goto 20
        12: .line 711
      StackMap locals: int
      StackMap stack:
            iload 5 /* token */
            bipush -3
            if_icmpne 9
        13: .line 712
            aload 3 /* tokenizer */
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 6 /* word */
        start local 6 // java.lang.String word
        14: .line 713
            aload 0 /* setting */
            aload 6 /* word */
            invokevirtual org.h2.fulltext.FullTextSettings.convertWord:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* word */
        15: .line 714
            aload 6 /* word */
            ifnull 9
        16: .line 715
            aload 1 /* set */
            aload 6 /* word */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String word
        end local 5 // int token
        17: .line 707
            goto 9
        18: .line 719
      StackMap locals: org.h2.fulltext.FullTextSettings java.util.Set java.io.Reader java.io.StreamTokenizer char[]
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        19: .line 720
            aload 5 /* e */
            ldc "Tokenizer error"
            invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.io.IOException e
        20: .line 722
      StackMap locals:
      StackMap stack:
            return
        end local 4 // char[] whitespaceChars
        end local 3 // java.io.StreamTokenizer tokenizer
        end local 2 // java.io.Reader reader
        end local 1 // java.util.Set set
        end local 0 // org.h2.fulltext.FullTextSettings setting
      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 // org.h2.fulltext.FullTextSettings setting
        start local 1 // java.util.Set set
        start local 2 // java.lang.String text
         0: .line 733
            aload 0 /* setting */
            invokevirtual org.h2.fulltext.FullTextSettings.getWhitespaceChars:()Ljava/lang/String;
            astore 3 /* whitespaceChars */
        start local 3 // java.lang.String whitespaceChars
         1: .line 734
            new java.util.StringTokenizer
            dup
            aload 2 /* text */
            aload 3 /* whitespaceChars */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* tokenizer */
        start local 4 // java.util.StringTokenizer tokenizer
         2: .line 735
            goto 7
         3: .line 736
      StackMap locals: java.lang.String java.util.StringTokenizer
      StackMap stack:
            aload 4 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 5 /* word */
        start local 5 // java.lang.String word
         4: .line 737
            aload 0 /* setting */
            aload 5 /* word */
            invokevirtual org.h2.fulltext.FullTextSettings.convertWord:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* word */
         5: .line 738
            aload 5 /* word */
            ifnull 7
         6: .line 739
            aload 1 /* set */
            aload 5 /* word */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String word
         7: .line 735
      StackMap locals:
      StackMap stack:
            aload 4 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         8: .line 742
            return
        end local 4 // java.util.StringTokenizer tokenizer
        end local 3 // java.lang.String whitespaceChars
        end local 2 // java.lang.String text
        end local 1 // java.util.Set set
        end local 0 // org.h2.fulltext.FullTextSettings setting
      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 // java.sql.Connection conn
        start local 1 // java.lang.String schema
        start local 2 // java.lang.String table
         0: .line 753
            aload 0 /* conn */
            aload 1 /* schema */
            aload 2 /* table */
            iconst_1
            invokestatic org.h2.fulltext.FullText.createOrDropTrigger:(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 754
            return
        end local 2 // java.lang.String table
        end local 1 // java.lang.String schema
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String schema
        start local 2 // java.lang.String table
        start local 3 // boolean create
         0: .line 758
            aconst_null
            astore 4
            aconst_null
            astore 5
         1: aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 6 /* stat */
        start local 6 // java.sql.Statement stat
         2: .line 759
            new java.lang.StringBuilder
            dup
            aload 1 /* schema */
            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: .line 760
            new java.lang.StringBuilder
            dup
            ldc "FT_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* table */
            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: .line 759
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* trigger */
        start local 7 // java.lang.String trigger
         5: .line 761
            aload 6 /* stat */
            new java.lang.StringBuilder
            dup
            ldc "DROP TRIGGER IF EXISTS "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* trigger */
            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: .line 762
            iload 3 /* create */
            ifeq 23
         7: .line 763
            aload 0 /* conn */
            invokestatic org.h2.fulltext.FullText$FullTextTrigger.isMultiThread:(Ljava/sql/Connection;)Z
            istore 8 /* multiThread */
        start local 8 // boolean multiThread
         8: .line 764
            new java.lang.StringBuilder
            dup
         9: .line 765
            ldc "CREATE TRIGGER IF NOT EXISTS "
        10: .line 764
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 9 /* buff */
        start local 9 // java.lang.StringBuilder buff
        11: .line 769
            aload 9 /* buff */
            aload 7 /* trigger */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 770
            ldc " AFTER INSERT, UPDATE, DELETE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 771
            iload 8 /* multiThread */
            ifne 15
        14: .line 772
            aload 9 /* buff */
            ldc ", ROLLBACK"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 774
      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 /* buff */
            ldc " ON "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 775
            aload 9 /* buff */
            aload 1 /* schema */
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 776
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 777
            aload 9 /* buff */
            aload 2 /* table */
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 778
            ldc " FOR EACH ROW CALL \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 779
            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: .line 780
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 781
            aload 6 /* stat */
            aload 9 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        end local 9 // java.lang.StringBuilder buff
        end local 8 // boolean multiThread
        end local 7 // java.lang.String trigger
        23: .line 783
      StackMap locals:
      StackMap stack:
            aload 6 /* stat */
            ifnull 29
            aload 6 /* stat */
            invokeinterface java.sql.Statement.close:()V
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 4
            aload 6 /* stat */
            ifnull 25
            aload 6 /* stat */
            invokeinterface java.sql.Statement.close:()V
        end local 6 // java.sql.Statement stat
      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: .line 784
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean create
        end local 2 // java.lang.String table
        end local 1 // java.lang.String schema
        end local 0 // java.sql.Connection conn
      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 // java.sql.Connection conn
        start local 1 // java.lang.String schema
        start local 2 // java.lang.String table
         0: .line 795
            new org.h2.fulltext.FullText$FullTextTrigger
            dup
            invokespecial org.h2.fulltext.FullText$FullTextTrigger.<init>:()V
            astore 3 /* existing */
        start local 3 // org.h2.fulltext.FullText$FullTextTrigger existing
         1: .line 796
            aload 3 /* existing */
            aload 0 /* conn */
            aload 1 /* schema */
            aconst_null
            aload 2 /* table */
            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: .line 797
            new java.lang.StringBuilder
            dup
            ldc "SELECT * FROM "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* schema */
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 798
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* table */
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 797
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* sql */
        start local 4 // java.lang.String sql
         5: .line 799
            aload 0 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            aload 4 /* sql */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 5 /* rs */
        start local 5 // java.sql.ResultSet rs
         6: .line 800
            aload 5 /* rs */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 6 /* columnCount */
        start local 6 // int columnCount
         7: .line 801
            goto 15
         8: .line 802
      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 /* columnCount */
            anewarray java.lang.Object
            astore 7 /* row */
        start local 7 // java.lang.Object[] row
         9: .line 803
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        10: goto 13
        11: .line 804
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 7 /* row */
            iload 8 /* i */
            aload 5 /* rs */
            iload 8 /* i */
            iconst_1
            iadd
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            aastore
        12: .line 803
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* i */
            iload 6 /* columnCount */
            if_icmplt 11
        end local 8 // int i
        14: .line 806
            aload 3 /* existing */
            aload 0 /* conn */
            aconst_null
            aload 7 /* row */
            invokevirtual org.h2.fulltext.FullText$FullTextTrigger.fire:(Ljava/sql/Connection;[Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 7 // java.lang.Object[] row
        15: .line 801
      StackMap locals:
      StackMap stack:
            aload 5 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 8
        16: .line 808
            return
        end local 6 // int columnCount
        end local 5 // java.sql.ResultSet rs
        end local 4 // java.lang.String sql
        end local 3 // org.h2.fulltext.FullText$FullTextTrigger existing
        end local 2 // java.lang.String table
        end local 1 // java.lang.String schema
        end local 0 // java.sql.Connection conn
      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 // java.lang.String data
         0: .line 811
            aload 0 /* data */
            bipush 39
            invokevirtual java.lang.String.indexOf:(I)I
            ifge 2
         1: .line 812
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* data */
            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: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         3: .line 815
            new java.lang.StringBuilder
            dup
            iload 1 /* len */
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buff */
        start local 2 // java.lang.StringBuilder buff
         4: .line 816
            aload 2 /* buff */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 817
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 12
         7: .line 818
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* data */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
         8: .line 819
            iload 4 /* ch */
            bipush 39
            if_icmpne 10
         9: .line 820
            aload 2 /* buff */
            iload 4 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 822
      StackMap locals: int
      StackMap stack:
            aload 2 /* buff */
            iload 4 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char ch
        11: .line 817
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 7
        end local 3 // int i
        13: .line 824
            aload 2 /* buff */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 825
            aload 2 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buff
        end local 1 // int len
        end local 0 // java.lang.String data
      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 // org.h2.fulltext.FullTextSettings setting
        start local 1 // java.lang.String commaSeparatedList
         0: .line 830
            aload 1 /* commaSeparatedList */
            bipush 44
            iconst_1
            invokestatic org.h2.util.StringUtils.arraySplit:(Ljava/lang/String;CZ)[Ljava/lang/String;
            astore 2 /* list */
        start local 2 // java.lang.String[] list
         1: .line 831
            aload 0 /* setting */
            aload 2 /* list */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.h2.fulltext.FullTextSettings.addIgnored:(Ljava/lang/Iterable;)V
         2: .line 832
            return
        end local 2 // java.lang.String[] list
        end local 1 // java.lang.String commaSeparatedList
        end local 0 // org.h2.fulltext.FullTextSettings setting
      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 // java.lang.Object[] oldRow
        start local 1 // java.lang.Object[] newRow
        start local 2 // int[] indexColumns
         0: .line 846
            aload 2 /* indexColumns */
            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 /* c */
        start local 3 // int c
         2: .line 847
            aload 0 /* oldRow */
            iload 3 /* c */
            aaload
            astore 7 /* o */
        start local 7 // java.lang.Object o
         3: aload 1 /* newRow */
            iload 3 /* c */
            aaload
            astore 8 /* n */
        start local 8 // java.lang.Object n
         4: .line 848
            aload 7 /* o */
            ifnonnull 7
         5: .line 849
            aload 8 /* n */
            ifnull 9
         6: .line 850
            iconst_1
            ireturn
         7: .line 852
      StackMap locals: java.lang.Object[] java.lang.Object[] int[] int int int int[] java.lang.Object java.lang.Object
      StackMap stack:
            aload 7 /* o */
            aload 8 /* n */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 853
            iconst_1
            ireturn
        end local 8 // java.lang.Object n
        end local 7 // java.lang.Object o
        end local 3 // int c
         9: .line 846
      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: .line 856
            iconst_0
            ireturn
        end local 2 // int[] indexColumns
        end local 1 // java.lang.Object[] newRow
        end local 0 // java.lang.Object[] oldRow
      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: .line 1175
            invokestatic org.h2.fulltext.FullTextSettings.closeAll:()V
         1: .line 1176
            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 // java.lang.String message
         0: .line 1187
            new java.sql.SQLException
            dup
            aload 0 /* message */
            ldc "FULLTEXT"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String message
      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