public class UserDefinedAggregatesTest extends GeneratedColumnsHelper
Test user defined aggregates. See DERBY-672.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
AGG_IN_GROUP_BY |
static java.lang.String |
AGG_IN_ON_CLAUSE |
static java.lang.String |
BAD_AGG_PLACEMENT |
static java.lang.String |
BAD_AGGREGATE_USAGE |
static java.lang.String |
BAD_CONSTRAINT |
static java.lang.String |
BAD_GEN_COL |
static java.lang.String |
CAST_FAILURE |
static java.lang.String |
DEPENDENCY_VIOLATION |
static java.lang.String |
ILLEGAL_AGGREGATE |
static java.lang.String |
INPUT_MISMATCH |
static java.lang.String |
INPUT_OUTSIDE_BOUNDS |
static java.lang.String |
INT_TRUNCATION |
static java.lang.String |
MISSING_CLASS |
static java.lang.String |
MISSING_FUNCTION |
static java.lang.String |
MISSING_SCHEMA |
static java.lang.String |
NAME_COLLISION |
static java.lang.String |
NESTED_AGGS |
static java.lang.String |
OBJECT_EXISTS |
static java.lang.String |
RETURN_OUTSIDE_BOUNDS |
static java.lang.String |
UNTYPED_NULL |
static java.lang.String |
XML_TYPE |
BAD_BEFORE_TRIGGER, BAD_CAST, BAD_FOREIGN_KEY_ACTION, CANT_ADD_IDENTITY, CANT_CONTAIN_NULLS, CANT_MODIFY_IDENTITY, CANT_OVERRIDE_GENERATION_CLAUSE, CANT_REFERENCE_GENERATED_COLUMN, CASCADED_COLUMN_DROP_WARNING, COLUMN_OUT_OF_SCOPE, CONSTRAINT_DROPPED_WARNING, CONSTRAINT_VIOLATION, DUPLICATE_CLAUSE, FORBIDDEN_DROP_TRIGGER, FORBIDDEN_ORDERING_OPERATION, FOREIGN_KEY_VIOLATION, GRANT_REVOKE_NOT_ALLOWED, ILLEGAL_ADD_DEFAULT, ILLEGAL_AGG, ILLEGAL_COMPARISON, ILLEGAL_DUPLICATE, ILLEGAL_RENAME, ILLEGAL_STORAGE, ILLEGAL_UDT_CLASS, JAVA_EXCEPTION, LACK_COLUMN_PRIV, LACK_EXECUTE_PRIV, LACK_TABLE_PRIV, LACK_USAGE_PRIV, LANG_INVALID_USE_OF_DEFAULT, LOCK_TIMEOUT, MISSING_OBJECT, NEED_EXPLICIT_DATATYPE, NON_EMPTY_SCHEMA, NONEXISTENT_OBJECT, NOT_NULL_NEEDS_DATATYPE, NOT_NULL_VIOLATION, OBJECT_DOES_NOT_EXIST, OPERATION_FORBIDDEN, REDUNDANT_CLAUSE, ROUTINE_CANT_ISSUE_SQL, ROUTINE_DEPENDS_ON_TYPE, STRING_TRUNCATION, SYNTAX_ERROR, TABLE_DEPENDS_ON_TYPE, TOO_MUCH_CONTENTION, TRIGGER_DROPPED_WARNING, UNSTABLE_RESULTS, VIEW_DEPENDENCYDEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE| Constructor and Description |
|---|
UserDefinedAggregatesTest(java.lang.String name)
Create a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
badAggregate(java.sql.Connection conn,
java.lang.String expectedSQLState,
java.lang.String name) |
private static junit.framework.Test |
collatedSuite(java.lang.String locale)
Return a suite that uses a single use database with
a primary fixture from this test plus potentially other
fixtures.
|
static byte[] |
makeBinary(java.lang.String contents)
Blob-creating function
|
static java.sql.Blob |
makeBlob(java.lang.String contents)
Blob-creating function
|
static java.sql.Clob |
makeClob(java.lang.String contents)
Clob-creating function
|
static junit.framework.Test |
suite()
Construct top level suite in this JUnit test
|
void |
test_01_basicSyntax()
Basic syntax.
|
void |
test_02_builtinConflicts()
Don't allow aggregates to have the names of builtin functions with 1 argument.
|
void |
test_03_keywordConflicts()
Various 1-arg operators and SQL aggregates should not be legal aggregate names because they
are supposed to be reserved keywords.
|
void |
test_04_nonReservedAggregateConflicts()
Various aggregates defined by the SQL Standard do not appear in the Derby
grammar as reserved keywords.
|
void |
test_05_basicSelectList()
Basic test for aggregates in the select list.
|
void |
test_06_parameterizedAggregates()
Test for parameterized aggregates.
|
void |
test_07_restrictedDrops()
Test restricted drops of aggregates.
|
void |
test_08_basicUDTaggregates()
Test aggregates on user defined types.
|
void |
test_09_genericAggregates()
Test aggregates bound to generic classes.
|
void |
test_10_negative()
Negative tests.
|
void |
test_11_datatypes()
Test datatype coverage.
|
void |
test_12_coercion()
Test implicit casts of input types.
|
void |
test_13_differentReturnType()
Test aggregates whose input and return types are different.
|
void |
test_14_inGroupBy()
Verify that user-defined aggregates are not allowed in GROUP BY clauses.
|
void |
test_15_precisionMismatch()
Verify precision mismatches.
|
void |
test_16_exactBound()
Verify that types fit within the most exact bound possible.
|
void |
test_17_udtDependencies()
Verify that you can't drop a user-defined type if a user-defined aggregate depends on it.
|
private int |
vetDatatypeCount(java.sql.Connection conn,
int expectedTypeCount) |
private void |
vetParameterizedAggregate(java.sql.Connection conn,
java.lang.String aggName,
java.lang.String sqlType,
java.lang.String externalName,
java.lang.String values,
java.lang.String[][] scalarResult,
java.lang.String[][] groupedResult,
java.lang.String[][] distinctScalarResult,
java.lang.String[][] distinctGroupedResult) |
assertColumnTypes, assertDeterministic, assertResults, assertResults, chattyPrepare, chattyPrepareCall, executeQuery, expectCompilationError, expectCompilationError, expectExecutionError, expectExecutionWarning, expectExecutionWarnings, expectInsertRowError, expectUpdateRowError, fill, goodStatement, verifyRestrictedDrop, verifyRevokePrivilegeassertCallError, assertCheckTable, assertCompileError, assertEquals, assertEquals, assertEquals, assertEquivalentDataType, assertErrorCode, assertGetIntError, assertNextError, assertPreparedStatementError, assertSQLExceptionEquals, assertSQLState, assertSQLState, assertStatementError, assertStatementError, assertStatementError, assertStatementError, assertStatementErrorUnordered, assertTableRowCount, assertUpdateCount, assertUpdateCount, assertWarning, checkAllConsistency, checkEstimatedRowCount, closeStatement, commit, createStatement, createStatement, createStatement, dropTable, dropTable, dropView, dropView, emptyStatementCache, getClientTransactionID, getConnection, getDatabaseProperty, getLastSQLException, 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, usingEmbeddedalarm, assertDirectoryDeleted, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertExecJavaCmdAsExpected, assertLaunchedJUnitTestMethod, assertLaunchedJUnitTestMethod, assertSecurityManager, assertThrowableEquals, currentDirectory, execJavaCmd, execJavaCmd, fail, getClassVersionMajor, getEmmaJar, getFailureFolder, getFilesWith, getJavaExecutableName, getSystemProperty, getTestConfiguration, getTestResource, hasInterruptibleIO, isCVM, isIBMJVM, isJ9Platform, isJava5, isJava7, isJava8, isPhoneME, isPlatform, isSunJVM, isWindowsPlatform, openTestResource, println, printStackTrace, readProcessOutput, removeDirectory, removeDirectory, removeFiles, removeSystemProperty, runsWithEmma, runsWithJaCoCo, setSystemProperty, sleep, sleepAtLeastOneTick, traceitassertEquals, 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, toStringpublic static final java.lang.String OBJECT_EXISTS
public static final java.lang.String ILLEGAL_AGGREGATE
public static final java.lang.String NAME_COLLISION
public static final java.lang.String MISSING_FUNCTION
public static final java.lang.String MISSING_SCHEMA
public static final java.lang.String BAD_AGGREGATE_USAGE
public static final java.lang.String BAD_AGG_PLACEMENT
public static final java.lang.String INPUT_MISMATCH
public static final java.lang.String BAD_GEN_COL
public static final java.lang.String INPUT_OUTSIDE_BOUNDS
public static final java.lang.String RETURN_OUTSIDE_BOUNDS
public static final java.lang.String XML_TYPE
public static final java.lang.String INT_TRUNCATION
public static final java.lang.String CAST_FAILURE
public static final java.lang.String AGG_IN_GROUP_BY
public static final java.lang.String NESTED_AGGS
public static final java.lang.String UNTYPED_NULL
public static final java.lang.String MISSING_CLASS
public static final java.lang.String AGG_IN_ON_CLAUSE
public static final java.lang.String BAD_CONSTRAINT
public static final java.lang.String DEPENDENCY_VIOLATION
public UserDefinedAggregatesTest(java.lang.String name)
public static junit.framework.Test suite()
private static junit.framework.Test collatedSuite(java.lang.String locale)
locale - Locale to use for the databasepublic void test_01_basicSyntax()
throws java.lang.Exception
Basic syntax.
java.lang.Exceptionpublic void test_02_builtinConflicts()
throws java.lang.Exception
Don't allow aggregates to have the names of builtin functions with 1 argument. See also DERBY-5901.
java.lang.Exceptionprivate void badAggregate(java.sql.Connection conn,
java.lang.String expectedSQLState,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic void test_03_keywordConflicts()
throws java.lang.Exception
Various 1-arg operators and SQL aggregates should not be legal aggregate names because they are supposed to be reserved keywords. See also DERBY-5901.
java.lang.Exceptionpublic void test_04_nonReservedAggregateConflicts()
throws java.lang.Exception
Various aggregates defined by the SQL Standard do not appear in the Derby grammar as reserved keywords. They are, nonetheless, illegal as the names of user-defined aggregates. See also DERBY-5901.
java.lang.Exceptionpublic void test_05_basicSelectList()
throws java.lang.Exception
Basic test for aggregates in the select list.
java.lang.Exceptionpublic void test_06_parameterizedAggregates()
throws java.lang.Exception
Test for parameterized aggregates.
java.lang.Exceptionprivate void vetParameterizedAggregate(java.sql.Connection conn,
java.lang.String aggName,
java.lang.String sqlType,
java.lang.String externalName,
java.lang.String values,
java.lang.String[][] scalarResult,
java.lang.String[][] groupedResult,
java.lang.String[][] distinctScalarResult,
java.lang.String[][] distinctGroupedResult)
throws java.lang.Exception
java.lang.Exceptionpublic void test_07_restrictedDrops()
throws java.lang.Exception
Test restricted drops of aggregates.
java.lang.Exceptionpublic void test_08_basicUDTaggregates()
throws java.lang.Exception
Test aggregates on user defined types.
java.lang.Exceptionpublic void test_09_genericAggregates()
throws java.lang.Exception
Test aggregates bound to generic classes.
java.lang.Exceptionpublic void test_10_negative()
throws java.lang.Exception
Negative tests.
java.lang.Exceptionpublic void test_11_datatypes()
throws java.lang.Exception
Test datatype coverage. Verify that you can declare user-defined aggregates on all Derby data types except for XML.
java.lang.Exceptionpublic static java.sql.Blob makeBlob(java.lang.String contents)
throws java.lang.Exception
java.lang.Exceptionprivate int vetDatatypeCount(java.sql.Connection conn,
int expectedTypeCount)
throws java.lang.Exception
java.lang.Exceptionpublic static byte[] makeBinary(java.lang.String contents)
throws java.lang.Exception
java.lang.Exceptionpublic static java.sql.Clob makeClob(java.lang.String contents)
throws java.lang.Exception
java.lang.Exceptionpublic void test_12_coercion()
throws java.lang.Exception
Test implicit casts of input types.
java.lang.Exceptionpublic void test_13_differentReturnType()
throws java.lang.Exception
Test aggregates whose input and return types are different.
java.lang.Exceptionpublic void test_14_inGroupBy()
throws java.lang.Exception
Verify that user-defined aggregates are not allowed in GROUP BY clauses.
java.lang.Exceptionpublic void test_15_precisionMismatch()
throws java.lang.Exception
Verify precision mismatches.
java.lang.Exceptionpublic void test_16_exactBound()
throws java.lang.Exception
Verify that types fit within the most exact bound possible.
java.lang.Exceptionpublic void test_17_udtDependencies()
throws java.lang.Exception
Verify that you can't drop a user-defined type if a user-defined aggregate depends on it.
java.lang.ExceptionApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.