public abstract class org.h2.table.TableBase extends org.h2.table.Table
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.h2.table.TableBase
  super_class: org.h2.table.Table
{
  private final java.lang.String tableEngine;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.lang.String> tableEngineParams;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final boolean globalTemporary;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static int getMainIndexColumn(org.h2.index.IndexType, org.h2.table.IndexColumn[]);
    descriptor: (Lorg/h2/index/IndexType;[Lorg/h2/table/IndexColumn;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.index.IndexType indexType
        start local 1 // org.h2.table.IndexColumn[] cols
         0: .line 46
            aload 0 /* indexType */
            invokevirtual org.h2.index.IndexType.isPrimaryKey:()Z
            ifeq 1
            aload 1 /* cols */
            arraylength
            iconst_1
            if_icmpeq 2
         1: .line 47
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         2: .line 49
      StackMap locals:
      StackMap stack:
            aload 1 /* cols */
            iconst_0
            aaload
            astore 2 /* first */
        start local 2 // org.h2.table.IndexColumn first
         3: .line 50
            aload 2 /* first */
            getfield org.h2.table.IndexColumn.sortType:I
            ifeq 5
         4: .line 51
            iconst_m1
            ireturn
         5: .line 53
      StackMap locals: org.h2.table.IndexColumn
      StackMap stack:
            aload 2 /* first */
            getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getValueType:()I
            tableswitch { // 2 - 5
                    2: 6
                    3: 6
                    4: 6
                    5: 6
              default: 7
          }
         6: .line 58
      StackMap locals:
      StackMap stack:
            aload 2 /* first */
            getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getColumnId:()I
            ireturn
         7: .line 60
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // org.h2.table.IndexColumn first
        end local 1 // org.h2.table.IndexColumn[] cols
        end local 0 // org.h2.index.IndexType indexType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  indexType  Lorg/h2/index/IndexType;
            0    8     1       cols  [Lorg/h2/table/IndexColumn;
            3    8     2      first  Lorg/h2/table/IndexColumn;
    MethodParameters:
           Name  Flags
      indexType  
      cols       

  public void <init>(org.h2.command.ddl.CreateTableData);
    descriptor: (Lorg/h2/command/ddl/CreateTableData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.h2.table.TableBase this
        start local 1 // org.h2.command.ddl.CreateTableData data
         0: .line 65
            aload 0 /* this */
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.schema:Lorg/h2/schema/Schema;
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.id:I
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.tableName:Ljava/lang/String;
         1: .line 66
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.persistIndexes:Z
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.persistData:Z
            invokespecial org.h2.table.Table.<init>:(Lorg/h2/schema/Schema;ILjava/lang/String;ZZ)V
         2: .line 67
            aload 0 /* this */
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.tableEngine:Ljava/lang/String;
            putfield org.h2.table.TableBase.tableEngine:Ljava/lang/String;
         3: .line 68
            aload 0 /* this */
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.globalTemporary:Z
            putfield org.h2.table.TableBase.globalTemporary:Z
         4: .line 69
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.tableEngineParams:Ljava/util/ArrayList;
            ifnull 7
         5: .line 70
            aload 0 /* this */
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.tableEngineParams:Ljava/util/ArrayList;
            putfield org.h2.table.TableBase.tableEngineParams:Ljava/util/List;
         6: .line 71
            goto 8
         7: .line 72
      StackMap locals: org.h2.table.TableBase org.h2.command.ddl.CreateTableData
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.h2.table.TableBase.tableEngineParams:Ljava/util/List;
         8: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.temporary:Z
            invokevirtual org.h2.table.TableBase.setTemporary:(Z)V
         9: .line 75
            aload 0 /* this */
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.columns:Ljava/util/ArrayList;
            iconst_0
            anewarray org.h2.table.Column
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.h2.table.Column[]
            invokevirtual org.h2.table.TableBase.setColumns:([Lorg/h2/table/Column;)V
        10: .line 76
            return
        end local 1 // org.h2.command.ddl.CreateTableData data
        end local 0 // org.h2.table.TableBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/table/TableBase;
            0   11     1  data  Lorg/h2/command/ddl/CreateTableData;
    MethodParameters:
      Name  Flags
      data  

  public java.lang.String getDropSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.table.TableBase this
         0: .line 80
            new java.lang.StringBuilder
            dup
            ldc "DROP TABLE IF EXISTS "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 81
            aload 0 /* this */
            aload 1 /* builder */
            iconst_1
            invokevirtual org.h2.table.TableBase.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            ldc " CASCADE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 82
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.table.TableBase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/h2/table/TableBase;
            1    3     1  builder  Ljava/lang/StringBuilder;

  public java.lang.String getCreateSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.h2.table.TableBase this
         0: .line 87
            aload 0 /* this */
            invokevirtual org.h2.table.TableBase.getDatabase:()Lorg/h2/engine/Database;
            astore 1 /* db */
        start local 1 // org.h2.engine.Database db
         1: .line 88
            aload 1 /* db */
            ifnonnull 3
         2: .line 90
            aconst_null
            areturn
         3: .line 92
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "CREATE "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* buff */
        start local 2 // java.lang.StringBuilder buff
         4: .line 93
            aload 0 /* this */
            invokevirtual org.h2.table.TableBase.isTemporary:()Z
            ifeq 11
         5: .line 94
            aload 0 /* this */
            invokevirtual org.h2.table.TableBase.isGlobalTemporary:()Z
            ifeq 8
         6: .line 95
            aload 2 /* buff */
            ldc "GLOBAL "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 96
            goto 9
         8: .line 97
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* buff */
            ldc "LOCAL "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 99
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            ldc "TEMPORARY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 100
            goto 15
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            invokevirtual org.h2.table.TableBase.isPersistIndexes:()Z
            ifeq 14
        12: .line 101
            aload 2 /* buff */
            ldc "CACHED "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 102
            goto 15
        14: .line 103
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            ldc "MEMORY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 105
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            ldc "TABLE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 106
            aload 0 /* this */
            getfield org.h2.table.TableBase.isHidden:Z
            ifeq 18
        17: .line 107
            aload 2 /* buff */
            ldc "IF NOT EXISTS "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buff */
            iconst_1
            invokevirtual org.h2.table.TableBase.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            pop
        19: .line 110
            aload 0 /* this */
            getfield org.h2.table.TableBase.comment:Ljava/lang/String;
            ifnull 22
        20: .line 111
            aload 2 /* buff */
            ldc " COMMENT "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 112
            aload 2 /* buff */
            aload 0 /* this */
            getfield org.h2.table.TableBase.comment:Ljava/lang/String;
            invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 114
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            ldc "(\n    "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 115
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        24: aload 0 /* this */
            getfield org.h2.table.TableBase.columns:[Lorg/h2/table/Column;
            arraylength
            istore 4 /* l */
        start local 4 // int l
        25: goto 30
        26: .line 116
      StackMap locals: int int
      StackMap stack:
            iload 3 /* i */
            ifle 28
        27: .line 117
            aload 2 /* buff */
            ldc ",\n    "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 119
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            aload 0 /* this */
            getfield org.h2.table.TableBase.columns:[Lorg/h2/table/Column;
            iload 3 /* i */
            aaload
            invokevirtual org.h2.table.Column.getCreateSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 115
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 26
        end local 4 // int l
        end local 3 // int i
        31: .line 121
            aload 2 /* buff */
            ldc "\n)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 122
            aload 0 /* this */
            getfield org.h2.table.TableBase.tableEngine:Ljava/lang/String;
            ifnull 40
        33: .line 123
            aload 1 /* db */
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            astore 3 /* s */
        start local 3 // org.h2.engine.DbSettings s
        34: .line 124
            aload 3 /* s */
            getfield org.h2.engine.DbSettings.defaultTableEngine:Ljava/lang/String;
            astore 4 /* d */
        start local 4 // java.lang.String d
        35: .line 125
            aload 4 /* d */
            ifnonnull 37
            aload 3 /* s */
            getfield org.h2.engine.DbSettings.mvStore:Z
            ifeq 37
        36: .line 126
            ldc Lorg/h2/mvstore/db/MVTableEngine;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* d */
        37: .line 128
      StackMap locals: org.h2.table.TableBase org.h2.engine.Database java.lang.StringBuilder org.h2.engine.DbSettings java.lang.String
      StackMap stack:
            aload 4 /* d */
            ifnull 38
            aload 0 /* this */
            getfield org.h2.table.TableBase.tableEngine:Ljava/lang/String;
            aload 4 /* d */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 40
        38: .line 129
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            ldc "\nENGINE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 130
            aload 2 /* buff */
            aload 0 /* this */
            getfield org.h2.table.TableBase.tableEngine:Ljava/lang/String;
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String d
        end local 3 // org.h2.engine.DbSettings s
        40: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.table.TableBase.tableEngineParams:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 50
        41: .line 134
            aload 2 /* buff */
            ldc "\nWITH "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 135
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        43: aload 0 /* this */
            getfield org.h2.table.TableBase.tableEngineParams:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* l */
        start local 4 // int l
        44: goto 49
        45: .line 136
      StackMap locals: int int
      StackMap stack:
            iload 3 /* i */
            ifle 47
        46: .line 137
            aload 2 /* buff */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            aload 0 /* this */
            getfield org.h2.table.TableBase.tableEngineParams:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 135
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 45
        end local 4 // int l
        end local 3 // int i
        50: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.table.TableBase.isPersistIndexes:()Z
            ifne 52
            aload 0 /* this */
            invokevirtual org.h2.table.TableBase.isPersistData:()Z
            ifne 52
        51: .line 143
            aload 2 /* buff */
            ldc "\nNOT PERSISTENT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.table.TableBase.isHidden:Z
            ifeq 54
        53: .line 146
            aload 2 /* buff */
            ldc "\nHIDDEN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        54: .line 148
      StackMap locals:
      StackMap stack:
            aload 2 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buff
        end local 1 // org.h2.engine.Database db
        end local 0 // org.h2.table.TableBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   55     0  this  Lorg/h2/table/TableBase;
            1   55     1    db  Lorg/h2/engine/Database;
            4   55     2  buff  Ljava/lang/StringBuilder;
           24   31     3     i  I
           25   31     4     l  I
           34   40     3     s  Lorg/h2/engine/DbSettings;
           35   40     4     d  Ljava/lang/String;
           43   50     3     i  I
           44   50     4     l  I

  public boolean isGlobalTemporary();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.table.TableBase this
         0: .line 153
            aload 0 /* this */
            getfield org.h2.table.TableBase.globalTemporary:Z
            ireturn
        end local 0 // org.h2.table.TableBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/table/TableBase;
}
SourceFile: "TableBase.java"