public class Derby2017LayerATest extends BaseJDBCTestCase
The test uses various combinations of auto-commit and rollback.
Modifier and Type | Class and Description |
---|---|
static class |
Derby2017LayerATest.FailingReader
WARNING: This reader is not a general purpose reader!!!
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
UTF8
The encoding used when generating a byte array from a string.
|
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
Derby2017LayerATest(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
void |
cs_FailedStreamInsertCharBufferBoundaries()
Runs some failing inserts around buffer boundaries.
|
void |
cs_StreamInsertCharBufferBoundary()
Tests inserts around some selected buffer boundaries.
|
private void |
doInsertTest(byte[][] INSERT,
java.lang.String[][] MASTER,
boolean autoCommit,
boolean rollbackOnError)
Performs the base test cycle; insert 3 valid rows, try to insert 2
invalid rows, insert 2 valid rows.
|
private void |
doInsertTest(int[] INSERT,
boolean autoCommit,
boolean rollbackOnError)
Performs the base test cycle; insert 3 valid rows, try to insert 2
invalid rows, insert 2 valid rows.
|
private void |
doInsertTest(java.lang.String[] INSERT,
java.lang.String[][] MASTER,
boolean autoCommit,
boolean rollbackOnError)
Performs the base test cycle; insert 3 valid rows, try to insert 2
invalid rows, insert 2 valid rows.
|
static byte[][] |
generateDefaultInsert()
Helper method returning the default bytes used for testing binary data.
|
static java.lang.String[][] |
generateMaster(byte[][] insert,
int[] excludes)
Helper method returning a string array with the expected values from the
database (based on the values inserted).
|
static junit.framework.Test |
suite()
Returns a suite running most of the tests with both the client driver
and the embedded driver, and some of the tests only with the client
driver.
|
void |
testFailedStreamInsertBinary() |
void |
testFailedStreamInsertBinaryAutoCommit() |
void |
testFailedStreamInsertBinaryAutoCommitRollbackOnError() |
void |
testFailedStreamInsertBinaryRollbackOnError() |
void |
testFailedStreamInsertChar() |
void |
testFailedStreamInsertCharAutoCommit() |
void |
testFailedStreamInsertCharAutoCommitRollbackOnError() |
void |
testFailedStreamInsertCharIOException()
Inserts data by reading from streams, where two of these will thrown
an
IOException . |
void |
testFailedStreamInsertCharLong() |
void |
testFailedStreamInsertCharRollbackOnError() |
assertCallError, assertCheckTable, assertCommitError, assertCompileError, assertEquals, assertEquals, assertEquals, assertEquivalentDataType, assertErrorCode, assertGetIntError, assertNextError, assertPreparedStatementError, assertResults, assertResults, assertSQLExceptionEquals, assertSQLState, assertSQLState, assertStatementError, assertStatementError, assertStatementError, assertStatementError, assertStatementErrorUnordered, assertTableRowCount, assertUpdateCount, assertUpdateCount, assertWarning, chattyPrepare, chattyPrepareCall, checkAllConsistency, checkEstimatedRowCount, closeStatement, commit, createStatement, createStatement, createStatement, dropTable, dropTable, dropView, dropView, dumpRs, dumpRs, emptyStatementCache, executeQuery, expectCompilationError, expectCompilationError, expectExecutionError, getClientTransactionID, getConnection, getDatabaseProperty, getLastSQLException, goodStatement, goodUpdate, initializeConnection, openConnection, openDefaultConnection, openDefaultConnection, openDefaultConnection, openUserConnection, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, rollback, runBare, runBareOverridable, runScript, runScript, runSQLCommands, setAutoCommit, tearDown, usingDB2Client, usingDerbyNetClient, usingEmbedded
alarm, assertDirectoryDeleted, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertExecJavaCmdAsExpected, assertLaunchedJUnitTestMethod, assertLaunchedJUnitTestMethod, assertSameNullness, assertSecurityManager, assertThrowableEquals, currentDirectory, execJavaCmd, execJavaCmd, execJavaCmd, fail, getClassVersionMajor, getEmmaJar, getFailureFolder, getFilesWith, getJavaExecutableName, getSystemProperty, getTestConfiguration, getTestResource, hasInterruptibleIO, isCVM, isIBMJVM, isJ9Platform, isJava5, isJava7, isPhoneME, isPlatform, isSunJVM, isWindowsPlatform, newAssertionFailedError, openTestResource, println, printStackTrace, readProcessOutput, removeDirectory, removeDirectory, removeFiles, removeSystemProperty, runsWithEmma, runsWithJaCoCo, setSystemErr, setSystemOut, setSystemProperty, sleep, sleepAtLeastOneTick, traceit, vmAtLeast
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runTest, setName, setUp, toString
public static final java.lang.String UTF8
public static junit.framework.Test suite()
public void cs_StreamInsertCharBufferBoundary() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void cs_FailedStreamInsertCharBufferBoundaries() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertCharLong() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertCharIOException() throws java.io.IOException, java.sql.SQLException
IOException
. Data from these streams should not be committed.java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertChar() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertCharAutoCommit() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertCharRollbackOnError() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertCharAutoCommitRollbackOnError() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertBinary() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertBinaryAutoCommit() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertBinaryRollbackOnError() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
public void testFailedStreamInsertBinaryAutoCommitRollbackOnError() throws java.io.IOException, java.sql.SQLException
java.io.IOException
java.sql.SQLException
private void doInsertTest(java.lang.String[] INSERT, java.lang.String[][] MASTER, boolean autoCommit, boolean rollbackOnError) throws java.io.IOException, java.sql.SQLException
The outcome depends on whether auto-commit is on, and whether a rollback is issued when an insert fails.
INSERT
- the data to insertMASTER
- the expected outcomeautoCommit
- the auto-commit state to userollbackOnError
- whether or not to issue a rollback if an insert
failsjava.io.IOException
- if something goes wrongjava.sql.SQLException
- if something goes wrongprivate void doInsertTest(int[] INSERT, boolean autoCommit, boolean rollbackOnError) throws java.io.IOException, java.sql.SQLException
The outcome depends on whether auto-commit is on, and whether a rollback is issued when an insert fails.
INSERT
- the data to insertautoCommit
- the auto-commit state to userollbackOnError
- whether or not to issue a rollback if an insert
failsjava.io.IOException
- if something goes wrongjava.sql.SQLException
- if something goes wrongprivate void doInsertTest(byte[][] INSERT, java.lang.String[][] MASTER, boolean autoCommit, boolean rollbackOnError) throws java.io.IOException, java.sql.SQLException
The outcome depends on whether auto-commit is on, and whether a rollback is issued when an insert fails.
INSERT
- the data to insertMASTER
- the expected outcomeautoCommit
- the auto-commit state to userollbackOnError
- whether or not to issue a rollback if an insert
failsjava.io.IOException
- if something goes wrongjava.sql.SQLException
- if something goes wrongpublic static byte[][] generateDefaultInsert()
public static java.lang.String[][] generateMaster(byte[][] insert, int[] excludes)
The purpose of this method is to convert from byte[] to String (as
done by ResultSet.getString()
when invoked on a column with
binary data).
insert
- the data insertedexcludes
- the rows that is expected to fail, will be ignoredApache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.