org.h2.test.db
Class TestTriggersConstraints

java.lang.Object
  extended by org.h2.test.TestBase
      extended by org.h2.test.db.TestTriggersConstraints
All Implemented Interfaces:
Trigger

public class TestTriggersConstraints
extends TestBase
implements Trigger

Tests for trigger and constraints.


Nested Class Summary
static class TestTriggersConstraints.Test
          A test trigger implementation.
static class TestTriggersConstraints.TestSelect
          A test trigger implementation.
static class TestTriggersConstraints.TestTriggerAdapter
          A test trigger adapter implementation.
static class TestTriggersConstraints.TestView
          A test trigger implementation.
 
Field Summary
 
Fields inherited from class org.h2.test.TestBase
BASE_TEST_DIR, config, start, TEMP_DIR, uniqueId
 
Fields inherited from interface org.h2.api.Trigger
DELETE, INSERT, SELECT, UPDATE
 
Constructor Summary
TestTriggersConstraints()
           
 
Method Summary
 void close()
          This method is called when the database is closed.
 void fire(java.sql.Connection conn, java.lang.Object[] oldRow, java.lang.Object[] newRow)
          This method is called for each triggered action.
 void init(java.sql.Connection conn, java.lang.String schemaName, java.lang.String trigger, 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... a)
          Run just this test.
 void remove()
          This method is called when the trigger is dropped.
 void test()
          This method will be called by the test framework.
 
Methods inherited from class org.h2.test.TestBase
assertContains, assertEqualDatabases, assertEqualReaders, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualStreams, assertFalse, assertFalse, assertKnownException, assertKnownException, assertResult, assertResultRowCount, assertResultSetMeta, assertResultSetOrdered, assertSingleValue, assertSmaller, assertStartsWith, assertTrue, assertTrue, crash, createCaller, createCaller, deleteDb, deleteDb, eatMemory, fail, fail, freeMemory, getBaseDir, getClassPath, getConnection, getConnection, getMemoryUsed, getPassword, getPassword, getSize, getTestDir, getURL, getUser, init, init, logError, println, printTime, printTimeMemory, readString, runTest, startServerIfRequired, testCase, trace, trace, traceMemory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TestTriggersConstraints

public TestTriggersConstraints()
Method Detail

main

public static void main(java.lang.String... a)
                 throws java.lang.Exception
Run just this test.

Parameters:
a - ignored
Throws:
java.lang.Exception

test

public void test()
          throws java.sql.SQLException
Description copied from class: TestBase
This method will be called by the test framework.

Specified by:
test in class TestBase
Throws:
java.sql.SQLException

fire

public void fire(java.sql.Connection conn,
                 java.lang.Object[] oldRow,
                 java.lang.Object[] newRow)
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.

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)

close

public void close()
Description copied from interface: Trigger
This method is called when the database is closed. If the method throws an exception, it will be logged, but closing the database will continue.

Specified by:
close in interface Trigger

remove

public void remove()
Description copied from interface: Trigger
This method is called when the trigger is dropped.

Specified by:
remove in interface Trigger

init

public void init(java.sql.Connection conn,
                 java.lang.String schemaName,
                 java.lang.String trigger,
                 java.lang.String tableName,
                 boolean before,
                 int type)
Description copied from interface: Trigger
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.

Specified by:
init in interface Trigger
Parameters:
conn - a connection to the database
schemaName - the name of the schema
trigger - 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, or DELETE