public class JDBCDriverTest extends CompatibilitySuite
Modifier and Type | Class and Description |
---|---|
static class |
JDBCDriverTest.MyBlob
A crude Blob implementation for datatype testing.
|
static class |
JDBCDriverTest.MyClob
A crude Clob implementation for datatype testing.
|
static class |
JDBCDriverTest.T_CN
This helper class captures TypeCoercion logic.
|
static class |
JDBCDriverTest.TypeDescriptor
This helper class describes a legal datatype and the version of Derby
where the datatype first appears.
|
CompatibilitySuite.Creator, CompatibilitySuite.Version
Modifier and Type | Field and Description |
---|---|
private static java.util.HashMap |
_coercionIndex |
private static java.util.HashMap |
_types |
private static JDBCDriverTest.TypeDescriptor[] |
ALL_TYPES |
private static java.lang.String |
ALL_TYPES_TABLE |
private static JDBCDriverTest.T_CN[] |
COERCIONS |
private static java.util.regex.Pattern |
DERBY_5449_PATTERN
A pattern that matches the value returned by
DatabaseMetaData.getDriverVersion() for the versions that suffer
from DERBY-5449.
|
private static java.lang.String |
KEY_COLUMN |
private static boolean |
n |
private static java.lang.Object[] |
ROW_1 |
private static byte[] |
SAMPLE_BYTES |
private static java.lang.String |
SAMPLE_STRING |
private static boolean |
Y |
DRB_10_0, DRB_10_1, DRB_10_2, DRB_10_3, DRB_10_4, DRB_10_5, DRB_10_6, DRB_10_7, SERVER_VERSION_FUNCTION
DATABASE_URL, DEBUG_FLAG, DEFAULT_DATABASE_NAME, DEFAULT_PASSWORD, DEFAULT_USER_NAME, DRIVER_NAME, FAILURE_EXIT, FRAMEWORK_NAME, JDBC_BOOLEAN, LEGAL_CLIENTS, SUCCESS_EXIT
Constructor and Description |
---|
JDBCDriverTest() |
Modifier and Type | Method and Description |
---|---|
private void |
addColumn(java.lang.StringBuffer buffer,
int columnNumber,
java.lang.String text) |
private void |
beginColumnList(java.lang.StringBuffer buffer) |
private void |
buildCoercionMap() |
private void |
buildTypeMap() |
private void |
checkCoercions(java.sql.PreparedStatement ps,
JDBCDriverTest.TypeDescriptor type,
java.util.List casts)
Verify all legal JDBC coercions of a data value.
|
private void |
checkDBMetadata(java.sql.Connection conn,
java.lang.String tableName) |
private void |
checkPlainGet(java.sql.PreparedStatement ps,
int columnIndex,
JDBCDriverTest.TypeDescriptor type,
java.lang.Object[][] rows)
Checks that fetching the specified column as the declared data type
works, i.e doing rs.getString() on a VARCHAR column or rs.getInt() on
a SMALLINT column.
|
private void |
checkPMD(java.sql.Connection conn,
java.lang.String query,
java.lang.String expectedClassName,
int expectedJDBCType,
java.lang.String expectedSQLTypeName,
int expectedPrecision,
int expectedScale)
Check the ParameterMetaData for a statement whose first parameter is a UDT.
|
private void |
checkRows(java.sql.PreparedStatement ps,
JDBCDriverTest.TypeDescriptor[] types,
java.lang.Object[][] rows,
java.util.List casts)
Verify that we select the values we originally inserted into a table,
and that the valid coercions succeeds.
|
private void |
checkRSMD(java.sql.Connection conn,
java.lang.String query,
java.lang.String expectedClassName,
int expectedDisplaySize,
int expectedJDBCType,
java.lang.String expectedSQLTypeName,
int expectedPrecision,
int expectedScale)
Check the ResultSetMetaData for a query whose first column is a UDT.
|
private void |
checkRSMD(java.sql.ResultSet rs) |
private boolean |
clientSupports(JDBCDriverTest.TypeDescriptor type) |
private void |
create_derby_2602_objects(java.sql.Connection conn) |
private void |
createSchema(java.sql.Connection conn) |
private void |
createTable(java.sql.Connection conn,
java.lang.String tableName,
JDBCDriverTest.TypeDescriptor[] types) |
private void |
createUDTObjects(java.sql.Connection conn) |
private void |
datatypesTest(java.sql.Connection conn) |
private void |
derby_2602_test(java.sql.Connection conn) |
private void |
derby_4613_test(java.sql.Connection conn) |
private void |
derby_4888_test(java.sql.Connection conn)
Test case for DERBY-4888.
|
private void |
derby_5449_test(java.sql.Connection conn)
Test case for DERBY-5449.
|
private java.lang.String |
doubleQuote(java.lang.String text) |
private void |
drop_derby_2602_objects(java.sql.Connection conn) |
private void |
dropSchema(java.sql.Connection conn) |
private void |
dropUDTObjects(java.sql.Connection conn) |
private void |
endColumnList(java.lang.StringBuffer buffer) |
private int |
getCoercionIndex(int jdbcType) |
private java.lang.Object |
getColumn(java.sql.ResultSet rs,
java.lang.String columnName,
JDBCDriverTest.TypeDescriptor type) |
private JDBCDriverTest.TypeDescriptor |
getType(java.lang.String typeName) |
private java.sql.PreparedStatement |
makeInsert(java.sql.Connection conn,
java.lang.String tableName,
JDBCDriverTest.TypeDescriptor[] types) |
private java.lang.Object[] |
makeNullRow(int rowLength) |
private void |
putCoercionIndex(int index) |
private void |
putType(JDBCDriverTest.TypeDescriptor type) |
private void |
readTable(java.sql.Connection conn,
java.lang.String tableName,
JDBCDriverTest.TypeDescriptor[] types,
java.lang.Object[][] rows,
java.util.List casts) |
private java.sql.PreparedStatement |
readTableQuery(java.sql.Connection conn,
java.lang.String tableName,
JDBCDriverTest.TypeDescriptor[] types) |
private int |
rsmdTypeKludge(int originalJDbcType) |
private void |
setParameter(java.sql.PreparedStatement ps,
int param,
JDBCDriverTest.TypeDescriptor type,
java.lang.Object value) |
private void |
setRow(java.sql.PreparedStatement ps,
int keyValue,
JDBCDriverTest.TypeDescriptor[] types,
java.lang.Object[] row) |
private void |
stuffTable(java.sql.Connection conn,
java.lang.String tableName,
JDBCDriverTest.TypeDescriptor[] types,
java.lang.Object[][] rows) |
void |
testJDBCDriver()
Main test of jdbc drivers.
|
void |
testSanity()
Sanity check the integrity of this test suite.
|
private void |
udtTest(java.sql.Connection conn) |
private void |
vet_isindex_column(java.sql.Connection conn,
boolean correctBehavior,
java.lang.String conglomerateName,
boolean expectedValue)
Vet boolean results.
|
findClient, findServer, getClientVMVersion, getDriverVersion, getServerVersion, getServerVMVersion, getVMVersion, main, parseArgs, parseServerVMVersion, parseVMLevel, serverSupportsUDTs, suite
alarm, assertColumnEquals, assertColumnEquals, assertRow, assertScalar, close, close, close, compareBytes, compareDates, compareObjects, createDB, dropFunction, dropProcedure, dropSchemaObject, dropTable, dropUDT, execute, executeDDL, faultInDriver, getClientSettings, getColumn, getColumn, getConnection, getConnection, getOutArg, parseDebug, prepare, prepareCall, println, printStackTrace, setClient, setDatabaseName, setDebug, setParameter, setParameter, singleQuote, truncateTable, usingDerbyClient, usingEmbeddedClient
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, runBare, runTest, setName, setUp, tearDown, toString
private static final java.lang.String ALL_TYPES_TABLE
private static final java.lang.String KEY_COLUMN
private static final byte[] SAMPLE_BYTES
private static final java.lang.String SAMPLE_STRING
private static final boolean Y
private static final boolean n
private static final JDBCDriverTest.TypeDescriptor[] ALL_TYPES
private static final java.lang.Object[] ROW_1
private static final JDBCDriverTest.T_CN[] COERCIONS
private static java.util.HashMap _types
private static java.util.HashMap _coercionIndex
private static java.util.regex.Pattern DERBY_5449_PATTERN
public void testSanity()
Sanity check the integrity of this test suite.
public void testJDBCDriver() throws java.lang.Exception
Main test of jdbc drivers.
java.lang.Exception
private void derby_4613_test(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void vet_isindex_column(java.sql.Connection conn, boolean correctBehavior, java.lang.String conglomerateName, boolean expectedValue) throws java.lang.Exception
Vet boolean results.
java.lang.Exception
private void derby_2602_test(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void derby_4888_test(java.sql.Connection conn) throws java.sql.SQLException
java.sql.SQLException
private void derby_5449_test(java.sql.Connection conn) throws java.sql.SQLException
java.sql.SQLException
private void udtTest(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void checkRSMD(java.sql.Connection conn, java.lang.String query, java.lang.String expectedClassName, int expectedDisplaySize, int expectedJDBCType, java.lang.String expectedSQLTypeName, int expectedPrecision, int expectedScale) throws java.lang.Exception
java.lang.Exception
private void checkPMD(java.sql.Connection conn, java.lang.String query, java.lang.String expectedClassName, int expectedJDBCType, java.lang.String expectedSQLTypeName, int expectedPrecision, int expectedScale) throws java.lang.Exception
java.lang.Exception
private void datatypesTest(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void checkDBMetadata(java.sql.Connection conn, java.lang.String tableName) throws java.lang.Exception
java.lang.Exception
private void stuffTable(java.sql.Connection conn, java.lang.String tableName, JDBCDriverTest.TypeDescriptor[] types, java.lang.Object[][] rows) throws java.lang.Exception
java.lang.Exception
private java.sql.PreparedStatement makeInsert(java.sql.Connection conn, java.lang.String tableName, JDBCDriverTest.TypeDescriptor[] types) throws java.lang.Exception
java.lang.Exception
private void readTable(java.sql.Connection conn, java.lang.String tableName, JDBCDriverTest.TypeDescriptor[] types, java.lang.Object[][] rows, java.util.List casts) throws java.lang.Exception
java.lang.Exception
private java.sql.PreparedStatement readTableQuery(java.sql.Connection conn, java.lang.String tableName, JDBCDriverTest.TypeDescriptor[] types) throws java.lang.Exception
java.lang.Exception
private void checkRSMD(java.sql.ResultSet rs) throws java.lang.Exception
java.lang.Exception
private void checkRows(java.sql.PreparedStatement ps, JDBCDriverTest.TypeDescriptor[] types, java.lang.Object[][] rows, java.util.List casts) throws java.lang.Exception
ps
- the query used to obtain the resultstypes
- the type descriptions of the columnsrows
- the values expected to be returnedcasts
- a list to which objects retrieved from the result rows
are added, specify null
if you don't need thisjava.lang.Exception
private void checkPlainGet(java.sql.PreparedStatement ps, int columnIndex, JDBCDriverTest.TypeDescriptor type, java.lang.Object[][] rows) throws java.lang.Exception
ps
- the query used to obtain the resultscolumnIndex
- the index of the column to checktype
- the type description of the columnrows
- the values expected to be returnedjava.lang.Exception
private void checkCoercions(java.sql.PreparedStatement ps, JDBCDriverTest.TypeDescriptor type, java.util.List casts) throws java.lang.Exception
ps
- the query used to obtain the rowstype
- the type description of the columncasts
- java.lang.Exception
private int rsmdTypeKludge(int originalJDbcType)
private void setRow(java.sql.PreparedStatement ps, int keyValue, JDBCDriverTest.TypeDescriptor[] types, java.lang.Object[] row) throws java.lang.Exception
java.lang.Exception
private java.lang.Object[] makeNullRow(int rowLength)
private void buildTypeMap()
private void putType(JDBCDriverTest.TypeDescriptor type)
private JDBCDriverTest.TypeDescriptor getType(java.lang.String typeName)
private void buildCoercionMap()
private void putCoercionIndex(int index)
private int getCoercionIndex(int jdbcType)
private void createSchema(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void createTable(java.sql.Connection conn, java.lang.String tableName, JDBCDriverTest.TypeDescriptor[] types) throws java.lang.Exception
java.lang.Exception
private void createUDTObjects(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void create_derby_2602_objects(java.sql.Connection conn) throws java.lang.Exception
java.lang.Exception
private void beginColumnList(java.lang.StringBuffer buffer)
private void endColumnList(java.lang.StringBuffer buffer)
private void addColumn(java.lang.StringBuffer buffer, int columnNumber, java.lang.String text)
private void dropSchema(java.sql.Connection conn)
private void dropUDTObjects(java.sql.Connection conn)
private void drop_derby_2602_objects(java.sql.Connection conn)
private void setParameter(java.sql.PreparedStatement ps, int param, JDBCDriverTest.TypeDescriptor type, java.lang.Object value) throws java.lang.Exception
java.lang.Exception
private boolean clientSupports(JDBCDriverTest.TypeDescriptor type)
private java.lang.Object getColumn(java.sql.ResultSet rs, java.lang.String columnName, JDBCDriverTest.TypeDescriptor type) throws java.lang.Exception
java.lang.Exception
private java.lang.String doubleQuote(java.lang.String text)
Apache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.