Package org.h2.test.db
Class TestTriggersConstraints
java.lang.Object
org.h2.test.TestBase
org.h2.test.TestDb
org.h2.test.db.TestTriggersConstraints
- All Implemented Interfaces:
Trigger
Tests for trigger and constraints.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic classA trigger that deletes all rows in the test table.static classTrigger that sets null value.static classTrigger that sets null value.static classA test trigger implementation.static classA test trigger adapter implementation.static classA test trigger implementation.static classA test trigger implementation.static classstatic classTrigger that sets value of the wrong data type.static classTrigger that sets value of the wrong data type.Nested classes/interfaces inherited from class org.h2.test.TestDb
org.h2.test.TestDb.ChildNested classes/interfaces inherited from class org.h2.test.TestBase
org.h2.test.TestBase.VoidCallable -
Field Summary
Fields inherited from class org.h2.test.TestBase
BASE_TEST_DIR, config, start, uniqueId -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()This method is called when the database is closed.voidfire(Connection conn, Object[] oldRow, Object[] newRow) This method is called for each triggered action.voidinit(Connection conn, String schemaName, String trigger, String tableName, boolean before, int type) This method is called by the database engine once when initializing the trigger.static voidRun just this test.voidremove()This method is called when the trigger is dropped.voidtest()This method will be called by the test framework.Methods inherited from class org.h2.test.TestDb
buildChild, deleteDb, deleteDb, getConnection, getConnection, getURLMethods inherited from class org.h2.test.TestBase
assertContains, assertEmpty, assertEqualDatabases, assertEqualReaders, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualStreams, assertFalse, assertFalse, assertKnownException, assertKnownException, assertNotContaining, assertNotNull, assertNotNull, assertNull, assertResult, assertResultRowCount, assertResultSetMeta, assertResultSetOrdered, assertResultSetOrdered, assertSame, assertSingleValue, assertSmaller, assertStartsWith, assertThrows, assertThrows, assertThrows, assertThrows, assertThrows, assertThrows, assertThrows, assertThrows, assertTrue, assertTrue, checkErrorCode, crash, createCaller, createFailingStream, eatMemory, execute, execute, fail, fail, freeMemory, getBaseDir, getClassPath, getFilePassword, getJVM, getMemoryUsed, getMemoryUsedBytes, getPassword, getPassword, getPowerOffCount, getSize, getTestDir, getTestName, getUser, init, init, isEnabled, logError, logErrorMessage, println, printTime, printTimeMemory, readString, runTest, setPowerOffCount, testFromMain, throwException, trace, trace, traceMemory
-
Constructor Details
-
TestTriggersConstraints
public TestTriggersConstraints()
-
-
Method Details
-
main
Run just this test.- Parameters:
a- ignored- Throws:
Exception
-
test
Description copied from class:org.h2.test.TestBaseThis method will be called by the test framework.- Specified by:
testin classorg.h2.test.TestBase- Throws:
Exception- if an exception in the test occurs
-
fire
Description copied from interface:TriggerThis 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:
firein interfaceTrigger- 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:
SQLException- if the operation must be undone
-
close
public void close()Description copied from interface:TriggerThis method is called when the database is closed. If the method throws an exception, it will be logged, but closing the database will continue. -
remove
public void remove()Description copied from interface:TriggerThis method is called when the trigger is dropped. -
init
public void init(Connection conn, String schemaName, String trigger, String tableName, boolean before, int type) Description copied from interface:TriggerThis 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 type of operation is a bit field with the appropriate flags set. As an example, if the trigger is of type INSERT and UPDATE, then the parameter type is set to (INSERT | UPDATE).- Specified by:
initin interfaceTrigger- Parameters:
conn- a connection to the database (a system connection)schemaName- the name of the schematrigger- 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)
-