public abstract class org.h2.tools.TriggerAdapter implements org.h2.api.Trigger
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.h2.tools.TriggerAdapter
  super_class: java.lang.Object
{
  protected java.lang.String schemaName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String triggerName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String tableName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected boolean before;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected int type;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private org.h2.tools.SimpleResultSet oldResultSet;
    descriptor: Lorg/h2/tools/SimpleResultSet;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.tools.SimpleResultSet newResultSet;
    descriptor: Lorg/h2/tools/SimpleResultSet;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.tools.TriggerAdapter$TriggerRowSource oldSource;
    descriptor: Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.tools.TriggerAdapter$TriggerRowSource newSource;
    descriptor: Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.tools.TriggerAdapter this
         0: .line 17
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.tools.TriggerAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/tools/TriggerAdapter;

  public void init(java.sql.Connection, java.lang.String, java.lang.String, java.lang.String, boolean, int);
    descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=7
        start local 0 // org.h2.tools.TriggerAdapter this
        start local 1 // java.sql.Connection conn
        start local 2 // java.lang.String schemaName
        start local 3 // java.lang.String triggerName
        start local 4 // java.lang.String tableName
        start local 5 // boolean before
        start local 6 // int type
         0: .line 69
            aload 1 /* conn */
            invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
         1: .line 70
            aconst_null
            aload 2 /* schemaName */
            aload 4 /* tableName */
            aconst_null
         2: .line 69
            invokeinterface java.sql.DatabaseMetaData.getColumns:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 7 /* rs */
        start local 7 // java.sql.ResultSet rs
         3: .line 71
            aload 0 /* this */
            new org.h2.tools.TriggerAdapter$TriggerRowSource
            dup
            invokespecial org.h2.tools.TriggerAdapter$TriggerRowSource.<init>:()V
            putfield org.h2.tools.TriggerAdapter.oldSource:Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
         4: .line 72
            aload 0 /* this */
            new org.h2.tools.TriggerAdapter$TriggerRowSource
            dup
            invokespecial org.h2.tools.TriggerAdapter$TriggerRowSource.<init>:()V
            putfield org.h2.tools.TriggerAdapter.newSource:Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
         5: .line 73
            aload 0 /* this */
            new org.h2.tools.SimpleResultSet
            dup
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.oldSource:Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
            invokespecial org.h2.tools.SimpleResultSet.<init>:(Lorg/h2/tools/SimpleRowSource;)V
            putfield org.h2.tools.TriggerAdapter.oldResultSet:Lorg/h2/tools/SimpleResultSet;
         6: .line 74
            aload 0 /* this */
            new org.h2.tools.SimpleResultSet
            dup
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.newSource:Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
            invokespecial org.h2.tools.SimpleResultSet.<init>:(Lorg/h2/tools/SimpleRowSource;)V
            putfield org.h2.tools.TriggerAdapter.newResultSet:Lorg/h2/tools/SimpleResultSet;
         7: .line 75
            goto 14
         8: .line 76
      StackMap locals: java.sql.ResultSet
      StackMap stack:
            aload 7 /* rs */
            ldc "COLUMN_NAME"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* column */
        start local 8 // java.lang.String column
         9: .line 77
            aload 7 /* rs */
            ldc "DATA_TYPE"
            invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
            istore 9 /* dataType */
        start local 9 // int dataType
        10: .line 78
            aload 7 /* rs */
            ldc "COLUMN_SIZE"
            invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
            istore 10 /* precision */
        start local 10 // int precision
        11: .line 79
            aload 7 /* rs */
            ldc "DECIMAL_DIGITS"
            invokeinterface java.sql.ResultSet.getInt:(Ljava/lang/String;)I
            istore 11 /* scale */
        start local 11 // int scale
        12: .line 80
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.oldResultSet:Lorg/h2/tools/SimpleResultSet;
            aload 8 /* column */
            iload 9 /* dataType */
            iload 10 /* precision */
            iload 11 /* scale */
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
        13: .line 81
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.newResultSet:Lorg/h2/tools/SimpleResultSet;
            aload 8 /* column */
            iload 9 /* dataType */
            iload 10 /* precision */
            iload 11 /* scale */
            invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
        end local 11 // int scale
        end local 10 // int precision
        end local 9 // int dataType
        end local 8 // java.lang.String column
        14: .line 75
      StackMap locals:
      StackMap stack:
            aload 7 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 8
        15: .line 83
            aload 0 /* this */
            aload 2 /* schemaName */
            putfield org.h2.tools.TriggerAdapter.schemaName:Ljava/lang/String;
        16: .line 84
            aload 0 /* this */
            aload 3 /* triggerName */
            putfield org.h2.tools.TriggerAdapter.triggerName:Ljava/lang/String;
        17: .line 85
            aload 0 /* this */
            aload 4 /* tableName */
            putfield org.h2.tools.TriggerAdapter.tableName:Ljava/lang/String;
        18: .line 86
            aload 0 /* this */
            iload 5 /* before */
            putfield org.h2.tools.TriggerAdapter.before:Z
        19: .line 87
            aload 0 /* this */
            iload 6 /* type */
            putfield org.h2.tools.TriggerAdapter.type:I
        20: .line 88
            return
        end local 7 // java.sql.ResultSet rs
        end local 6 // int type
        end local 5 // boolean before
        end local 4 // java.lang.String tableName
        end local 3 // java.lang.String triggerName
        end local 2 // java.lang.String schemaName
        end local 1 // java.sql.Connection conn
        end local 0 // org.h2.tools.TriggerAdapter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/h2/tools/TriggerAdapter;
            0   21     1         conn  Ljava/sql/Connection;
            0   21     2   schemaName  Ljava/lang/String;
            0   21     3  triggerName  Ljava/lang/String;
            0   21     4    tableName  Ljava/lang/String;
            0   21     5       before  Z
            0   21     6         type  I
            3   21     7           rs  Ljava/sql/ResultSet;
            9   14     8       column  Ljava/lang/String;
           10   14     9     dataType  I
           11   14    10    precision  I
           12   14    11        scale  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
             Name  Flags
      conn         
      schemaName   
      triggerName  
      tableName    
      before       
      type         

  public void fire(java.sql.Connection, java.lang.Object[], java.lang.Object[]);
    descriptor: (Ljava/sql/Connection;[Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.h2.tools.TriggerAdapter this
        start local 1 // java.sql.Connection conn
        start local 2 // java.lang.Object[] oldRow
        start local 3 // java.lang.Object[] newRow
         0: .line 144
            aload 0 /* this */
            aload 1 /* conn */
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.oldResultSet:Lorg/h2/tools/SimpleResultSet;
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.oldSource:Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
            aload 2 /* oldRow */
            invokestatic org.h2.tools.TriggerAdapter.wrap:(Lorg/h2/tools/SimpleResultSet;Lorg/h2/tools/TriggerAdapter$TriggerRowSource;[Ljava/lang/Object;)Lorg/h2/tools/SimpleResultSet;
         1: .line 145
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.newResultSet:Lorg/h2/tools/SimpleResultSet;
            aload 0 /* this */
            getfield org.h2.tools.TriggerAdapter.newSource:Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
            aload 3 /* newRow */
            invokestatic org.h2.tools.TriggerAdapter.wrap:(Lorg/h2/tools/SimpleResultSet;Lorg/h2/tools/TriggerAdapter$TriggerRowSource;[Ljava/lang/Object;)Lorg/h2/tools/SimpleResultSet;
         2: .line 144
            invokevirtual org.h2.tools.TriggerAdapter.fire:(Ljava/sql/Connection;Ljava/sql/ResultSet;Ljava/sql/ResultSet;)V
         3: .line 146
            return
        end local 3 // java.lang.Object[] newRow
        end local 2 // java.lang.Object[] oldRow
        end local 1 // java.sql.Connection conn
        end local 0 // org.h2.tools.TriggerAdapter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/h2/tools/TriggerAdapter;
            0    4     1    conn  Ljava/sql/Connection;
            0    4     2  oldRow  [Ljava/lang/Object;
            0    4     3  newRow  [Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      conn    
      oldRow  
      newRow  

  public abstract void fire(java.sql.Connection, java.sql.ResultSet, java.sql.ResultSet);
    descriptor: (Ljava/sql/Connection;Ljava/sql/ResultSet;Ljava/sql/ResultSet;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      conn    
      oldRow  
      newRow  

  private static org.h2.tools.SimpleResultSet wrap(org.h2.tools.SimpleResultSet, org.h2.tools.TriggerAdapter$TriggerRowSource, java.lang.Object[]);
    descriptor: (Lorg/h2/tools/SimpleResultSet;Lorg/h2/tools/TriggerAdapter$TriggerRowSource;[Ljava/lang/Object;)Lorg/h2/tools/SimpleResultSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.tools.SimpleResultSet rs
        start local 1 // org.h2.tools.TriggerAdapter$TriggerRowSource source
        start local 2 // java.lang.Object[] row
         0: .line 170
            aload 2 /* row */
            ifnonnull 2
         1: .line 171
            aconst_null
            areturn
         2: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            aload 2 /* row */
            invokevirtual org.h2.tools.TriggerAdapter$TriggerRowSource.setRow:([Ljava/lang/Object;)V
         3: .line 174
            aload 0 /* rs */
            invokevirtual org.h2.tools.SimpleResultSet.next:()Z
            pop
         4: .line 175
            aload 0 /* rs */
            areturn
        end local 2 // java.lang.Object[] row
        end local 1 // org.h2.tools.TriggerAdapter$TriggerRowSource source
        end local 0 // org.h2.tools.SimpleResultSet rs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      rs  Lorg/h2/tools/SimpleResultSet;
            0    5     1  source  Lorg/h2/tools/TriggerAdapter$TriggerRowSource;
            0    5     2     row  [Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      rs      
      source  
      row     

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.h2.tools.TriggerAdapter this
         0: .line 187
            return
        end local 0 // org.h2.tools.TriggerAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/tools/TriggerAdapter;
    Exceptions:
      throws java.sql.SQLException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.h2.tools.TriggerAdapter this
         0: .line 196
            return
        end local 0 // org.h2.tools.TriggerAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/tools/TriggerAdapter;
    Exceptions:
      throws java.sql.SQLException
}
SourceFile: "TriggerAdapter.java"
NestMembers:
  org.h2.tools.TriggerAdapter$TriggerRowSource
InnerClasses:
  TriggerRowSource = org.h2.tools.TriggerAdapter$TriggerRowSource of org.h2.tools.TriggerAdapter