public class CaseExpressionTest extends BaseJDBCTestCase
Modifier and Type | Field and Description |
---|---|
private static java.util.concurrent.atomic.AtomicInteger |
callCount
Count how many times countMe() has been called.
|
private static java.lang.String[][] |
columnReferenceResults |
private static java.lang.String[][] |
nullValueResults |
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
CaseExpressionTest(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
static int |
countMe(int i)
Stored function that keeps track of how many times it has been called.
|
static junit.framework.Test |
suite()
Runs the test fixtures in embedded.
|
void |
testAllDatatypesCombinationsForCaseExpressions() |
void |
testBooleanExpressions()
Before DERBY-6423, boolean expressions (such as A OR B, or A AND B)
were not accepted in THEN and ELSE clauses.
|
private void |
testCaseExpressionQuery(java.sql.Statement st,
java.lang.String[][] expRS,
java.lang.String caseExprBegin,
java.lang.String caseExprEnd)
Execute the received caseExpression on the received Statement
and check the results against the receieved expected array.
|
void |
testDerby3032()
Test fix for DERBY-3032.
|
void |
testLobAsCaseOperand()
Test that large objects can be used as case operands.
|
void |
testMultipleWhens()
Test a query that has many WHEN conditions in it.
|
void |
testNotElimination()
Verify that NOT elimination produces the correct results.
|
void |
testParameters()
Test that parameters can be used in CASE expressions.
|
void |
testQuantifiedComparison()
Regression test case for DERBY-6577.
|
void |
testSimpleCaseSyntax()
Tests for the simple case syntax added in DERBY-1576.
|
void |
testSingleEvaluationOfCaseOperand()
Verify that the case operand expression is evaluated only once per
evaluation of the CASE expression.
|
void |
testUntypedNulls()
Test how untyped NULLs are handled.
|
void |
testWhenNonBoolean()
Test various statements that
|
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
private static java.lang.String[][] columnReferenceResults
private static java.lang.String[][] nullValueResults
private static final java.util.concurrent.atomic.AtomicInteger callCount
public void testWhenNonBoolean()
public void testAllDatatypesCombinationsForCaseExpressions() throws java.sql.SQLException
java.sql.SQLException
public void testMultipleWhens() throws java.sql.SQLException
java.sql.SQLException
public void testBooleanExpressions() throws java.sql.SQLException
java.sql.SQLException
public static junit.framework.Test suite()
private void testCaseExpressionQuery(java.sql.Statement st, java.lang.String[][] expRS, java.lang.String caseExprBegin, java.lang.String caseExprEnd) throws java.sql.SQLException
java.sql.SQLException
public void testDerby3032() throws java.sql.SQLException
java.sql.SQLException
public void testNotElimination() throws java.sql.SQLException
java.sql.SQLException
public void testParameters() throws java.sql.SQLException
java.sql.SQLException
public void testUntypedNulls() throws java.sql.SQLException
java.sql.SQLException
public void testQuantifiedComparison() throws java.sql.SQLException
java.sql.SQLException
public void testSimpleCaseSyntax() throws java.sql.SQLException
java.sql.SQLException
public void testSingleEvaluationOfCaseOperand() throws java.sql.SQLException
java.sql.SQLException
public static int countMe(int i)
i
- an integeri
public void testLobAsCaseOperand() throws java.sql.SQLException
java.sql.SQLException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.