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.
Method Summary |
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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RowAccessRights
public RowAccessRights()
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
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 databaseschemaName
- the name of the schematriggerName
- the name of the trigger used in the CREATE TRIGGER
statementtableName
- the name of the tablebefore
- whether the fire method is called before or after the
operation is performedtype
- the operation type: INSERT, UPDATE, DELETE, SELECT, or a
combination (this parameter is a bit field)
- Throws:
java.sql.SQLException
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 databaseoldRow
- 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