public class TableFunctionTest extends BaseJDBCTestCase
Modifier and Type | Class and Description |
---|---|
static class |
TableFunctionTest.WarningVTI |
Modifier and Type | Field and Description |
---|---|
private java.sql.DatabaseMetaData |
_databaseMetaData |
private boolean |
_usingLocaleSpecificCollation |
private static java.lang.String[][] |
ALL_STRING_TYPES_ROWS |
private static java.lang.String[][] |
ALL_TYPES_ROWS |
private static java.lang.Integer |
ALLOWS_NULLS |
private static java.lang.Integer |
ARG_COUNT_0 |
private static java.lang.Integer |
ARG_COUNT_1 |
private static java.lang.Integer |
ARG_COUNT_2 |
private static java.lang.Integer |
ARG_COUNT_3 |
private static java.lang.String |
BAD_ARG_JOIN |
private static java.lang.String[][] |
BOOLEAN_ROWS |
private static java.lang.String[][] |
BULK_INSERT_ROWS |
private static java.lang.String[][] |
BULK_INSERT_SELF_JOIN_ROWS |
private static java.lang.String[][] |
DOUBLY_INSERTED_ROWS |
private static java.lang.String[][] |
DOUBLY_SIMPLE_ROWS |
private static java.lang.Object |
EMPTY_REMARKS |
private static java.lang.String |
ESTIMATED_COST |
private static java.lang.String |
ESTIMATED_ROW_COUNT |
private static java.lang.String |
EXPECTED_GET_XXX_CALLS |
private static java.lang.String |
EXPECTED_GET_XXX_CALLS_JSR169 |
private static java.lang.Integer |
FUNCTION_COLUMN_IN |
private static java.lang.String[] |
FUNCTION_NAMES |
private static java.lang.Integer |
FUNCTION_RESULT_COLUMN |
private static java.lang.Integer |
FUNCTION_RETURN_VALUE |
private static java.lang.Integer |
FUNCTION_RETURNS_TABLE |
private static JDBC.GeneratedId |
GENERIC_NAME |
private static java.lang.Object[][] |
GF_RADT
Expected rows from getFunctions() for returnsAllLegalDatatypes
|
private static java.lang.Object[][] |
GF_SFT
Expected rows from getFunctions() for SIMPLEFUNCTIONTABLE
|
private static java.lang.Object[][] |
GFC_RADT
Expected rows from getFunctionColumns() for returnsAllLegalDatatypes
|
private static java.lang.Object[][] |
GFC_SFT
Expected rows from getFunctionColumns() for SIMPLEFUNCTIONTABLE
|
private static java.lang.String |
IS_NULLABLE |
private static java.lang.Integer |
JDBC_TYPE_BIGINT |
private static java.lang.Integer |
JDBC_TYPE_BINARY |
private static java.lang.Integer |
JDBC_TYPE_BLOB |
private static java.lang.Integer |
JDBC_TYPE_BOOLEAN |
private static java.lang.Integer |
JDBC_TYPE_CHAR |
private static java.lang.Integer |
JDBC_TYPE_CLOB |
private static java.lang.Integer |
JDBC_TYPE_DATE |
private static java.lang.Integer |
JDBC_TYPE_DECIMAL |
private static java.lang.Integer |
JDBC_TYPE_DOUBLE |
private static java.lang.Integer |
JDBC_TYPE_INT |
private static java.lang.Integer |
JDBC_TYPE_LONGVARBINARY |
private static java.lang.Integer |
JDBC_TYPE_LONGVARCHAR |
private static java.lang.Integer |
JDBC_TYPE_NUMERIC |
private static java.lang.Integer |
JDBC_TYPE_OTHER |
private static java.lang.Integer |
JDBC_TYPE_REAL |
private static java.lang.Integer |
JDBC_TYPE_SMALLINT |
private static java.lang.Integer |
JDBC_TYPE_TIME |
private static java.lang.Integer |
JDBC_TYPE_TIMESTAMP |
private static java.lang.Integer |
JDBC_TYPE_VARBINARY |
private static java.lang.Integer |
JDBC_TYPE_VARCHAR |
private static java.lang.Integer |
LENGTH_BIGINT |
private static java.lang.Integer |
LENGTH_INTEGER |
private static java.lang.Integer |
LENGTH_MAX |
private static java.lang.Integer |
LENGTH_UNDEFINED |
private static int |
MAX_VARIABLE_DATA_TYPE_LENGTH |
private static java.lang.Object |
NO_CATALOG |
private static java.lang.Integer |
POSITION_ARG_1 |
private static java.lang.Integer |
POSITION_ARG_2 |
private static java.lang.Integer |
POSITION_RETURN_VALUE |
private static java.lang.Integer |
PRECISION_BIGINT |
private static java.lang.Integer |
PRECISION_INTEGER |
private static java.lang.Integer |
PRECISION_MAX |
private static java.lang.Integer |
PRECISION_NONE |
private static java.lang.Integer |
RADIX_INTEGER |
private static java.lang.Integer |
RADIX_UNDEFINED |
private static java.lang.String |
RADT_RETURN_TYPE |
private static java.lang.String |
RETURN_VALUE_NAME |
private static java.lang.Integer |
ROW_ORDER_1 |
private static java.lang.Integer |
ROW_ORDER_2 |
private static java.lang.Integer |
ROW_ORDER_RETURN_VALUE |
private static java.lang.Integer |
SCALE_INTEGER |
private static java.lang.Integer |
SCALE_UNDEFINED |
private static java.lang.String |
SFT_RETURN_TYPE |
private static java.lang.String[][] |
SIMPLE_ROWS |
private static java.lang.String[][] |
SIMPLY_ROWS |
private static int[] |
STRING_JDBC_TYPES |
private static java.lang.String[] |
STRING_TYPES |
private static java.lang.String[] |
TABLE_NAMES |
private static java.lang.Object |
UNDEFINED_CHAR_OCTET_LENGTH |
private static java.lang.String |
UTF8 |
private static java.lang.String[][] |
WARNING_VTI_ROWS |
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
TableFunctionTest(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
private void |
allLegalDatatypesVTIResults()
Verify that Derby handles VTI columns of all known datatypes.
|
static java.sql.ResultSet |
allStringTypesFunction()
A VTI which returns rows having columns of all string datatypes.
|
static java.sql.ResultSet |
appendFooAndBar(java.lang.String text)
A VTI which returns rows based on a passed-in parameter
|
void |
assertFunctionDBMD(java.lang.String functionName,
java.lang.Object[][] expectedGetFunctionsResult,
java.lang.Object[][] expectedGetFunctionColumnsResult)
Assert that the function has the correct database metadata.
|
private void |
assertResults(int[] expectedJdbcTypes,
java.lang.String[] columnNames,
java.sql.ResultSet rs,
java.lang.String[][] rows)
Assert that the ResultSet returns the desired rows.
|
void |
assertResults(java.lang.String sql,
java.lang.String[][] rows,
int[] expectedJdbcTypes)
Assert that the ResultSet returns the desired rows.
|
void |
assertResults(java.lang.String sql,
java.lang.String[] columnNames,
java.lang.String[][] rows,
int[] expectedJdbcTypes)
Assert that the ResultSet returns the desired rows.
|
private void |
badDDL()
Verify bad DDL.
|
private void |
bulkInsert()
Verify bulk insert using a VTI
|
static java.sql.ResultSet |
bulkInsertVTI()
A VTI for use in bulk insert
|
private java.sql.PreparedStatement |
chattyPrepare(java.lang.String text)
Prepare a statement and report its sql text.
|
private void |
checkGetXXXCalls()
Verify that the correct getXXX() methods are called by Derby.
|
private void |
classpathError()
test for DERBY-5585
|
static java.sql.ResultSet |
coercionFunction()
A VTI which returns variable-length data typed columns.
|
private void |
coercionTest()
Verify that variable length data values are coerced to their
declared types, regardless of what actually is returned by the
user-coded ResultSet.
|
private static junit.framework.Test |
collatedSuite(java.lang.String locale,
java.lang.String baseFixture)
Return a suite that uses a single use database with
a primary fixture from this test plus potentially other
fixtures.
|
private void |
collationTest()
Verify that Derby uses the same collation logic on columns in real Tables
and in Table Functions.
|
private void |
compareColumnNames(java.lang.String[] expectedNames,
java.sql.ResultSet rs)
Verify that we have the correct column names.
|
private void |
compareJdbcTypes(int[] expected,
int[] actual)
Verify that we saw the jdbc types that we expected.
|
private void |
derby_4092()
Don't allow table functions to appear where scalar functions are expected.
|
private void |
derby_5779()
Don't allow table functions to take arguments built out of references
to other tables in the FROM list of their own query block.
|
private void |
derby_6040()
Make sure that ORDER BY columns are not mistakenly pruned
when projection eliminates a column and one of the columns is
compared to a constant.
|
private void |
derby_6151()
Verify that warnings percolate back from table functions.
|
private void |
dropFunction(java.lang.String functionName)
Drop a function so that we can recreate it.
|
private void |
dropSchema()
Drop the schema that we are going to use so that we can recreate it.
|
private void |
expectError(java.lang.String sqlState,
java.lang.String query)
Assert that the statement text, when compiled, raises an exception
|
private long |
getConglomerateID(java.sql.Connection conn,
java.lang.String tableName)
Get the conglomerate id of a table
|
private int[] |
getJdbcColumnTypes(java.sql.ResultSet rs)
Get the datatypes of returned columns
|
private java.lang.String |
getOptimizerStats(java.lang.String query)
Get the optimizer stats for a query.
|
private long |
getScalarLong(java.sql.PreparedStatement ps)
Get a scalar long result from a query
|
private void |
goodStatement(java.lang.String ddl)
Run good DDL.
|
static int |
invert(int value)
Just a simple function which is not a VTI.
|
static java.sql.ResultSet |
lowerCaseRow(java.lang.String contents)
A table function which returns one row, containing one column, the lowercased
content string.
|
private static java.lang.String |
makeByteString(int count)
Return a String encoding a byte array of the specified length.
|
private static java.lang.String[][] |
makeCoercionInputs()
Make the input rows for the coercion function.
|
private static java.lang.String[][] |
makeCoercionOutputs()
Make the expected output rows which should come back from the coercion function.
|
private static java.lang.String[] |
makeColumnNames(int columnCount,
java.lang.String stub)
Make column names.
|
private static java.lang.String |
makeString(int count)
Return a String of the specified length.
|
private static StringArrayVTI |
makeVTI(java.lang.String[][] rows)
Make a VTI given its rows.
|
private void |
miscBugs()
Miscellaneous bugs.
|
void |
noSpecialCollation()
Verify table functions in a vanilla database without locale-specific collations.
|
private void |
notTableFunction()
Verify that you can't invoke an ordinary function as a VTI.
|
static void |
prettyPrint(java.sql.Connection conn,
java.sql.ResultSet rs)
Print a ResultSet, using Derby's pretty-printing tool.
|
private double |
readDoubleTag(java.lang.String optimizerOutput,
java.lang.String tag)
Read the value of a tag in some optimizer output.
|
static java.sql.ResultSet |
returnsACoupleRows()
A VTI which returns a couple rows.
|
static java.sql.ResultSet |
returnsAllLegalDatatypes(int intArg,
java.lang.String varcharArg)
A VTI which returns rows having columns of all legal datatypes.
|
static java.sql.ResultSet |
returnsBooleans()
A VTI which returns some boolean values
|
protected void |
setUp() |
private void |
simpleDDL()
Verify simple good DDL.
|
private void |
simpleVTIResults()
Verify that a simple VTI returns the correct results.
|
void |
specialCollation()
Verify table functions in a database with a special collation.
|
private java.lang.String |
squeezeString(java.lang.Object obj)
Squeeze a string out of an object
|
private void |
subqueryTest()
Verify that table functions work correctly when invoked in
a subuery with correlated references to outer query blocks.
|
static junit.framework.Test |
suite()
Tests to run.
|
void |
tableFunctionTest()
Verify table functions.
|
protected void |
tearDown()
Tear down this fixture, sub-classes should call
super.tearDown().
|
private void |
verifyReturnType(java.lang.String functionName,
java.lang.String expectedReturnType)
Verify that the return type of function looks good.
|
private void |
vetBulkInsert(java.sql.Connection conn,
java.lang.String insert,
boolean bulkInsertExpected) |
private void |
vetBulkInsert(java.sql.Connection conn,
java.lang.String insert,
boolean bulkInsertExpected,
java.lang.String[][] expectedRows) |
private void |
vetBulkInsertSimple(java.sql.Connection conn,
java.lang.String insert,
boolean bulkInsertSimpleExpected) |
private void |
vetBulkInsertSimple(java.sql.Connection conn,
java.lang.String insert,
boolean bulkInsertSimpleExpected,
java.lang.String[][] expectedRows) |
private void |
vtiCosting()
Verify the VTICosting optimizer api.
|
static TableFunctionTest.WarningVTI |
warningVTI() |
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 final java.lang.String UTF8
private static final java.lang.String BAD_ARG_JOIN
private static final int MAX_VARIABLE_DATA_TYPE_LENGTH
private static final java.lang.String[] FUNCTION_NAMES
private static final java.lang.String[] TABLE_NAMES
private static final java.lang.String[][] SIMPLE_ROWS
private static final java.lang.String[][] SIMPLY_ROWS
private static final java.lang.String[][] DOUBLY_SIMPLE_ROWS
private static final java.lang.String[][] BOOLEAN_ROWS
private static final java.lang.String[][] BULK_INSERT_ROWS
private static final java.lang.String[][] BULK_INSERT_SELF_JOIN_ROWS
private static final java.lang.String[][] DOUBLY_INSERTED_ROWS
private static final java.lang.String[][] WARNING_VTI_ROWS
private static final java.lang.String[][] ALL_TYPES_ROWS
private static final java.lang.String EXPECTED_GET_XXX_CALLS
private static final java.lang.String EXPECTED_GET_XXX_CALLS_JSR169
private static final java.lang.String[] STRING_TYPES
private static final int[] STRING_JDBC_TYPES
private static final java.lang.String[][] ALL_STRING_TYPES_ROWS
private static final java.lang.String SFT_RETURN_TYPE
private static final java.lang.String RADT_RETURN_TYPE
private static final java.lang.Integer FUNCTION_COLUMN_IN
private static final java.lang.Integer FUNCTION_RETURN_VALUE
private static final java.lang.Integer FUNCTION_RESULT_COLUMN
private static final java.lang.Integer FUNCTION_RETURNS_TABLE
private static final java.lang.Integer JDBC_TYPE_OTHER
private static final java.lang.Integer JDBC_TYPE_INT
private static final java.lang.Integer JDBC_TYPE_VARCHAR
private static final java.lang.Integer JDBC_TYPE_BIGINT
private static final java.lang.Integer JDBC_TYPE_BLOB
private static final java.lang.Integer JDBC_TYPE_CHAR
private static final java.lang.Integer JDBC_TYPE_CLOB
private static final java.lang.Integer JDBC_TYPE_DATE
private static final java.lang.Integer JDBC_TYPE_DECIMAL
private static final java.lang.Integer JDBC_TYPE_DOUBLE
private static final java.lang.Integer JDBC_TYPE_REAL
private static final java.lang.Integer JDBC_TYPE_NUMERIC
private static final java.lang.Integer JDBC_TYPE_SMALLINT
private static final java.lang.Integer JDBC_TYPE_TIME
private static final java.lang.Integer JDBC_TYPE_TIMESTAMP
private static final java.lang.Integer JDBC_TYPE_BINARY
private static final java.lang.Integer JDBC_TYPE_LONGVARBINARY
private static final java.lang.Integer JDBC_TYPE_LONGVARCHAR
private static final java.lang.Integer JDBC_TYPE_VARBINARY
private static final java.lang.Integer JDBC_TYPE_BOOLEAN
private static final java.lang.Integer PRECISION_NONE
private static final java.lang.Integer PRECISION_INTEGER
private static final java.lang.Integer PRECISION_BIGINT
private static final java.lang.Integer PRECISION_MAX
private static final java.lang.Integer LENGTH_UNDEFINED
private static final java.lang.Integer LENGTH_INTEGER
private static final java.lang.Integer LENGTH_BIGINT
private static final java.lang.Integer LENGTH_MAX
private static final java.lang.Integer SCALE_UNDEFINED
private static final java.lang.Integer SCALE_INTEGER
private static final java.lang.Integer RADIX_UNDEFINED
private static final java.lang.Integer RADIX_INTEGER
private static final java.lang.Object NO_CATALOG
private static final java.lang.String RETURN_VALUE_NAME
private static final java.lang.Integer ALLOWS_NULLS
private static final java.lang.Object EMPTY_REMARKS
private static final java.lang.Object UNDEFINED_CHAR_OCTET_LENGTH
private static final java.lang.String IS_NULLABLE
private static final java.lang.Integer ROW_ORDER_RETURN_VALUE
private static final java.lang.Integer ROW_ORDER_1
private static final java.lang.Integer ROW_ORDER_2
private static final java.lang.Integer POSITION_RETURN_VALUE
private static final java.lang.Integer POSITION_ARG_1
private static final java.lang.Integer POSITION_ARG_2
private static final java.lang.Integer ARG_COUNT_0
private static final java.lang.Integer ARG_COUNT_1
private static final java.lang.Integer ARG_COUNT_2
private static final java.lang.Integer ARG_COUNT_3
private static final JDBC.GeneratedId GENERIC_NAME
private static final java.lang.Object[][] GF_SFT
private static final java.lang.Object[][] GFC_SFT
private static final java.lang.Object[][] GF_RADT
private static final java.lang.Object[][] GFC_RADT
private static final java.lang.String ESTIMATED_ROW_COUNT
private static final java.lang.String ESTIMATED_COST
private boolean _usingLocaleSpecificCollation
private java.sql.DatabaseMetaData _databaseMetaData
public static junit.framework.Test suite()
private static junit.framework.Test collatedSuite(java.lang.String locale, java.lang.String baseFixture)
locale
- Locale to use for the databasebaseFixture
- Base fixture from this test.protected void setUp() throws java.lang.Exception
setUp
in class junit.framework.TestCase
java.lang.Exception
protected void tearDown() throws java.lang.Exception
BaseJDBCTestCase
tearDown
in class BaseJDBCTestCase
java.lang.Exception
public void noSpecialCollation() throws java.lang.Exception
java.lang.Exception
public void specialCollation() throws java.lang.Exception
java.lang.Exception
public void tableFunctionTest() throws java.lang.Exception
java.lang.Exception
private void badDDL() throws java.lang.Exception
java.lang.Exception
private void simpleDDL() throws java.lang.Exception
java.lang.Exception
private void notTableFunction() throws java.lang.Exception
java.lang.Exception
private void classpathError() throws java.lang.Exception
java.lang.Exception
private void simpleVTIResults() throws java.lang.Exception
java.lang.Exception
private void bulkInsert() throws java.lang.Exception
java.lang.Exception
private void vetBulkInsert(java.sql.Connection conn, java.lang.String insert, boolean bulkInsertExpected) throws java.lang.Exception
java.lang.Exception
private void vetBulkInsert(java.sql.Connection conn, java.lang.String insert, boolean bulkInsertExpected, java.lang.String[][] expectedRows) throws java.lang.Exception
java.lang.Exception
private void vetBulkInsertSimple(java.sql.Connection conn, java.lang.String insert, boolean bulkInsertSimpleExpected) throws java.lang.Exception
java.lang.Exception
private void vetBulkInsertSimple(java.sql.Connection conn, java.lang.String insert, boolean bulkInsertSimpleExpected, java.lang.String[][] expectedRows) throws java.lang.Exception
java.lang.Exception
private void allLegalDatatypesVTIResults() throws java.lang.Exception
java.lang.Exception
private void checkGetXXXCalls() throws java.lang.Exception
java.lang.Exception
private void vtiCosting() throws java.lang.Exception
java.lang.Exception
private void collationTest() throws java.lang.Exception
java.lang.Exception
private void subqueryTest() throws java.lang.Exception
java.lang.Exception
private void coercionTest() throws java.lang.Exception
java.lang.Exception
private void miscBugs() throws java.lang.Exception
Miscellaneous bugs.
java.lang.Exception
private void derby_4092() throws java.lang.Exception
Don't allow table functions to appear where scalar functions are expected.
java.lang.Exception
private void derby_5779() throws java.lang.Exception
Don't allow table functions to take arguments built out of references to other tables in the FROM list of their own query block.
java.lang.Exception
private void derby_6040() throws java.lang.Exception
Make sure that ORDER BY columns are not mistakenly pruned when projection eliminates a column and one of the columns is compared to a constant.
java.lang.Exception
private void derby_6151() throws java.lang.Exception
Verify that warnings percolate back from table functions.
java.lang.Exception
private static java.lang.String[][] makeCoercionInputs()
Make the input rows for the coercion function.
private static java.lang.String[][] makeCoercionOutputs()
Make the expected output rows which should come back from the coercion function.
private static java.lang.String makeString(int count)
Return a String of the specified length.
private static java.lang.String makeByteString(int count)
Return a String encoding a byte array of the specified length.
public static int invert(int value)
public static java.sql.ResultSet returnsBooleans()
public static java.sql.ResultSet returnsACoupleRows()
public static java.sql.ResultSet bulkInsertVTI()
public static java.sql.ResultSet returnsAllLegalDatatypes(int intArg, java.lang.String varcharArg)
public static java.sql.ResultSet allStringTypesFunction()
public static java.sql.ResultSet appendFooAndBar(java.lang.String text)
public static java.sql.ResultSet coercionFunction()
public static java.sql.ResultSet lowerCaseRow(java.lang.String contents)
public void assertResults(java.lang.String sql, java.lang.String[][] rows, int[] expectedJdbcTypes) throws java.lang.Exception
java.lang.Exception
public void assertResults(java.lang.String sql, java.lang.String[] columnNames, java.lang.String[][] rows, int[] expectedJdbcTypes) throws java.lang.Exception
java.lang.Exception
private void expectError(java.lang.String sqlState, java.lang.String query)
private void goodStatement(java.lang.String ddl) throws java.sql.SQLException
java.sql.SQLException
private java.sql.PreparedStatement chattyPrepare(java.lang.String text) throws java.sql.SQLException
java.sql.SQLException
private void verifyReturnType(java.lang.String functionName, java.lang.String expectedReturnType) throws java.sql.SQLException
java.sql.SQLException
public void assertFunctionDBMD(java.lang.String functionName, java.lang.Object[][] expectedGetFunctionsResult, java.lang.Object[][] expectedGetFunctionColumnsResult) throws java.lang.Exception
java.lang.Exception
private void dropSchema() throws java.lang.Exception
java.lang.Exception
private void dropFunction(java.lang.String functionName) throws java.lang.Exception
java.lang.Exception
private void assertResults(int[] expectedJdbcTypes, java.lang.String[] columnNames, java.sql.ResultSet rs, java.lang.String[][] rows) throws java.lang.Exception
java.lang.Exception
private void compareJdbcTypes(int[] expected, int[] actual) throws java.lang.Exception
java.lang.Exception
private void compareColumnNames(java.lang.String[] expectedNames, java.sql.ResultSet rs) throws java.lang.Exception
java.lang.Exception
private int[] getJdbcColumnTypes(java.sql.ResultSet rs) throws java.lang.Exception
java.lang.Exception
private java.lang.String squeezeString(java.lang.Object obj) throws java.lang.Exception
java.lang.Exception
private static StringArrayVTI makeVTI(java.lang.String[][] rows)
private static java.lang.String[] makeColumnNames(int columnCount, java.lang.String stub)
public static void prettyPrint(java.sql.Connection conn, java.sql.ResultSet rs) throws java.sql.SQLException
Print a ResultSet, using Derby's pretty-printing tool.
java.sql.SQLException
private java.lang.String getOptimizerStats(java.lang.String query) throws java.lang.Exception
Get the optimizer stats for a query.
java.lang.Exception
private double readDoubleTag(java.lang.String optimizerOutput, java.lang.String tag) throws java.lang.Exception
Read the value of a tag in some optimizer output.
java.lang.Exception
private long getConglomerateID(java.sql.Connection conn, java.lang.String tableName) throws java.lang.Exception
java.lang.Exception
private long getScalarLong(java.sql.PreparedStatement ps) throws java.lang.Exception
java.lang.Exception
public static TableFunctionTest.WarningVTI warningVTI()
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.