Package org.h2.tools

Class TriggerAdapter

java.lang.Object
org.h2.tools.TriggerAdapter
All Implemented Interfaces:
Trigger

public abstract class TriggerAdapter extends Object implements Trigger
An adapter for the trigger interface that allows to use the ResultSet interface instead of a row array.
  • Field Details

    • schemaName

      protected String schemaName
      The schema name.
    • triggerName

      protected String triggerName
      The name of the trigger.
    • tableName

      protected String tableName
      The name of the table.
    • before

      protected boolean before
      Whether the fire method is called before or after the operation is performed.
    • type

      protected int type
      The trigger type: INSERT, UPDATE, DELETE, SELECT, or a combination (a bit field).
  • Constructor Details

    • TriggerAdapter

      public TriggerAdapter()
  • Method Details

    • init

      public void init(Connection conn, String schemaName, String triggerName, String tableName, boolean before, int type) throws SQLException
      This method is called by the database engine once when initializing the trigger. It is called when the trigger is created, as well as when the database is opened. The default implementation initialized the result sets.
      Specified by:
      init in interface Trigger
      Parameters:
      conn - a connection to the database
      schemaName - the name of the schema
      triggerName - the name of the trigger used in the CREATE TRIGGER statement
      tableName - the name of the table
      before - whether the fire method is called before or after the operation is performed
      type - the operation type: INSERT, UPDATE, DELETE, SELECT, or a combination (this parameter is a bit field)
      Throws:
      SQLException - on SQL exception
    • fire

      public final void fire(Connection conn, Object[] oldRow, Object[] newRow) throws SQLException
      Description copied from interface: Trigger
      This method is called for each triggered action. The method is called immediately when the operation occurred (before it is committed). A transaction rollback will also rollback the operations that were done within the trigger, if the operations occurred within the same database. If the trigger changes state outside the database, a rollback trigger should be used.

      The row arrays contain all columns of the table, in the same order as defined in the table.

      The trigger itself may change the data in the newRow array.

      Specified by:
      fire in interface Trigger
      Parameters:
      conn - a connection to the database
      oldRow - the old row, or null if no old row is available (for INSERT)
      newRow - the new row, or null if no new row is available (for DELETE)
      Throws:
      SQLException - if the operation must be undone
    • fire

      public abstract void fire(Connection conn, ResultSet oldRow, ResultSet newRow) throws SQLException
      This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method.

      For "before" triggers, the new values of the new row may be changed using the ResultSet.updateX methods.

      Parameters:
      conn - a connection to the database
      oldRow - the old row, or null if no old row is available (for INSERT)
      newRow - the new row, or null if no new row is available (for DELETE)
      Throws:
      SQLException - if the operation must be undone