org.h2.samples

## Class RowAccessRights

- java.lang.Object
- - org.h2.tools.TriggerAdapter
  - - org.h2.samples.RowAccessRights

All Implemented Interfaces:
  Trigger

    public class RowAccessRights
    extends TriggerAdapter

This sample application show how to emulate per-row access rights so that each user can only access rows created by the given user.

### Field Summary

### Fields inherited from class org.h2.tools.TriggerAdapter

`before, schemaName, tableName, triggerName, type`

### Fields inherited from interface org.h2.api.Trigger

`DELETE, INSERT, SELECT, UPDATE`

### Constructor Summary

Constructors
Constructor and Description
`RowAccessRights()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `fire(java.sql.Connection conn, java.sql.ResultSet oldRow, java.sql.ResultSet newRow)` This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method.
`void` `init(java.sql.Connection conn, java.lang.String schemaName, java.lang.String triggerName, java.lang.String tableName, boolean before, int type)` This method is called by the database engine once when initializing the trigger.
`static void` `main(java.lang.String... args)` Called when ran from command line.

### Methods inherited from class org.h2.tools.TriggerAdapter

`fire`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.h2.api.Trigger

`close, remove`

### Constructor Detail

#### RowAccessRights

    public RowAccessRights()

### Method Detail

#### main

    public static void main(java.lang.String... args)
                     throws java.lang.Exception

Called when ran from command line.

Parameters:
  `args` - ignored
Throws:
  `java.lang.Exception` - on failure

#### init

    public void init(java.sql.Connection conn,
                     java.lang.String schemaName,
                     java.lang.String triggerName,
                     java.lang.String tableName,
                     boolean before,
                     int type)
              throws java.sql.SQLException

Description copied from class: `TriggerAdapter`
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`
Overrides:
  `init` in class `TriggerAdapter`
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:
  `java.sql.SQLException` - on SQL exception

#### fire

    public void fire(java.sql.Connection conn,
                     java.sql.ResultSet oldRow,
                     java.sql.ResultSet newRow)
              throws java.sql.SQLException

Description copied from class: `TriggerAdapter`
This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method. ResultSet.next does not need to be called (and calling it has no effect; it will always return true).

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

Specified by:
  `fire` in class `TriggerAdapter`
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:
  `java.sql.SQLException` - if the operation must be undone