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_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, LEXICAL_ERROR, LOCK_TIMEOUT, MISSING_OBJECT, NEED_EXPLICIT_DATATYPE, NO_GENERIC_PERMISSION, NO_SELECT_OR_UPDATE_PERMISSION, NO_TABLE_PERMISSION, NON_EMPTY_SCHEMA, NONEXISTENT_OBJECT, NOT_IMPLEMENTED, 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_DEPENDENCY
DEFAULT_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, expectExecutionWarning, expectExecutionWarnings, expectInsertRowError, expectNoWarning, expectUpdateRowError, fill, verifyRestrictedDrop, verifyRevokePrivilege
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 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.Exception
public 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.Exception
private void badAggregate(java.sql.Connection conn, java.lang.String expectedSQLState, java.lang.String name) throws java.lang.Exception
java.lang.Exception
public 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.Exception
public 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.Exception
public void test_05_basicSelectList() throws java.lang.Exception
Basic test for aggregates in the select list.
java.lang.Exception
public void test_06_parameterizedAggregates() throws java.lang.Exception
Test for parameterized aggregates.
java.lang.Exception
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) throws java.lang.Exception
java.lang.Exception
public void test_07_restrictedDrops() throws java.lang.Exception
Test restricted drops of aggregates.
java.lang.Exception
public void test_08_basicUDTaggregates() throws java.lang.Exception
Test aggregates on user defined types.
java.lang.Exception
public void test_09_genericAggregates() throws java.lang.Exception
Test aggregates bound to generic classes.
java.lang.Exception
public void test_10_negative() throws java.lang.Exception
Negative tests.
java.lang.Exception
public 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.Exception
public static java.sql.Blob makeBlob(java.lang.String contents) throws java.lang.Exception
java.lang.Exception
private int vetDatatypeCount(java.sql.Connection conn, int expectedTypeCount) throws java.lang.Exception
java.lang.Exception
public static byte[] makeBinary(java.lang.String contents) throws java.lang.Exception
java.lang.Exception
public static java.sql.Clob makeClob(java.lang.String contents) throws java.lang.Exception
java.lang.Exception
public void test_12_coercion() throws java.lang.Exception
Test implicit casts of input types.
java.lang.Exception
public void test_13_differentReturnType() throws java.lang.Exception
Test aggregates whose input and return types are different.
java.lang.Exception
public void test_14_inGroupBy() throws java.lang.Exception
Verify that user-defined aggregates are not allowed in GROUP BY clauses.
java.lang.Exception
public void test_15_precisionMismatch() throws java.lang.Exception
Verify precision mismatches.
java.lang.Exception
public void test_16_exactBound() throws java.lang.Exception
Verify that types fit within the most exact bound possible.
java.lang.Exception
public 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.Exception
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.