public class StatementPlanCacheTest extends BaseJDBCTestCase
Modifier and Type | Field and Description |
---|---|
private static int |
CACHE_SIZE |
private java.sql.PreparedStatement |
cacheInPlanPS_ID |
private java.sql.PreparedStatement |
cacheInPlanPS_TEXT |
private int |
statmentCacheSize |
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
StatementPlanCacheTest(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
private static junit.framework.Test |
baseSuite(java.lang.String name) |
private void |
checkPreparedPlanInCache(int number,
java.lang.String sqlBase)
Compile a number of statements based upon the sqlbase
replacing the and with a number increasing from 0 to number - 1
Uses PreparedStatement unless sqlbase starts with CALL then
CallableStatement is used.
|
private static java.lang.String |
getSQL(java.lang.String sqlBase,
int i) |
private boolean |
isPlanInCache(java.sql.PreparedStatement ps) |
private boolean |
isPlanInCache(java.lang.String schema,
java.lang.String sql) |
void |
noCachingTest()
Check that when the cache size is set to zero that
no caching takes place.
|
protected void |
setUp()
Prepare the statement that sees if a statement given its
ID is in the cache.
|
static junit.framework.Test |
suite()
Runs in embedded only since it's testing the server side cache.
|
private static junit.framework.Test |
suiteWithSizeSet(int cacheSize) |
protected void |
tearDown()
Tear down this fixture, sub-classes should call
super.tearDown().
|
void |
testAcrossStatementObjects()
Check that the same plan can be shared across
Statement, PreparedStatement and CallableStatement.
|
void |
testCallableStatementPlanCaching()
Test statement caching according to the size of the cache
using CallableStatement.
|
void |
testCompileFailuresNotInCache()
Test that statements that fail to compile do not end up in the cache.
|
void |
testPreparedStatementPlanCaching()
Test statement caching according to the size of the cache
using PreparedStatement.
|
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, 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, toString
private static int CACHE_SIZE
private int statmentCacheSize
private java.sql.PreparedStatement cacheInPlanPS_ID
private java.sql.PreparedStatement cacheInPlanPS_TEXT
public static junit.framework.Test suite()
private static junit.framework.Test suiteWithSizeSet(int cacheSize)
private static junit.framework.Test baseSuite(java.lang.String name)
protected void setUp() throws java.sql.SQLException
setUp
in class junit.framework.TestCase
java.sql.SQLException
protected void tearDown() throws java.lang.Exception
BaseJDBCTestCase
tearDown
in class BaseJDBCTestCase
java.lang.Exception
public void noCachingTest() throws java.sql.SQLException
java.sql.SQLException
public void testAcrossStatementObjects() throws java.sql.SQLException
java.sql.SQLException
public void testCompileFailuresNotInCache() throws java.sql.SQLException
java.sql.SQLException
public void testPreparedStatementPlanCaching() throws java.sql.SQLException
java.sql.SQLException
public void testCallableStatementPlanCaching() throws java.sql.SQLException
java.sql.SQLException
private void checkPreparedPlanInCache(int number, java.lang.String sqlBase) throws java.sql.SQLException
java.sql.SQLException
private static java.lang.String getSQL(java.lang.String sqlBase, int i)
private boolean isPlanInCache(java.sql.PreparedStatement ps) throws java.sql.SQLException
java.sql.SQLException
private boolean isPlanInCache(java.lang.String schema, java.lang.String sql) throws java.sql.SQLException
java.sql.SQLException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.