This patch amends the driver to pass all the tests in the
SUN JDBC compatibility test suite 1.3.1. The tests were
run using SDK 1.4 and JEE 1.3 on a Linux PC.
The key changes required were as follows:
1. Driver needs to return Types.REAL as Float and
Types.FLOAT/Types.DOUBLE as Double.
2. VARCHAR to TIME/DATE/TIMESTAMP
conversions need to be supported.
3. Internal TIME representation standardised to
ensure equals test works.
4. PreparedStatement.getMetaData() could cause
driver to loop.
5. setFetchSize did not allow values > 1.
6. setFetchDirection constants not validated.
7. Scale on registerOutParameter not honoured.
8. Meta data getProcedures result set has
incorrect column names.
9. Null bigint parameters sent as integer size.
This patch also fixes the following recently reported
[ 1012307 ] PreparedStatement.setObject
(java.util.Date) not working
(Server not reporting that java.util.Date is not a
supported object type)
[ 1012301 ] 0.9-rc1: Prepared statement execution error
(Leading spaces cause the parameter marker offsets to
[ 1011650 ] 0.9-rc1: comments get parsed
(Added Joel Fouses patch plus modifications to ensure
that driver can cope with comments before the first SQL
[ 1002971 ] TimestampTest failures under JDK 1.3
(Possible class cast exception in TdsData).
[ 1008126 ] Metadata getTimeDateFunctions() wrong
The escape processor now supports all the standard
JBDC scalar functions and the DatabaseMetaData class
has been updated to reflect this. Nested escapes are
The patch contains an additional test suite that tests
the generic errors reported by the JDBC compatibility
tests. These tests are provided for convenience as the
full test suite takes over 2 hours to run on a 2Ghz PC.
Also included are the SQL Server specific DDL and DML
files required to run the SUN tests with jTDS