| Summary: | TWO TESTS IN CUSTOMFEATURESJUNITTESTSUITE FAILED WITH 11.2.0.2 DRIVER | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Andrei Ilitchev <andrei.ilitchev> | ||||||
| Component: | Eclipselink | Assignee: | Nobody - feel free to take it <nobody> | ||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | eclipselink.foundation-inbox, edwin.tang | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Andrei Ilitchev
Created attachment 176922 [details]
Suggested patch
The failure was caused by Oracle jdbc 11.2.0.2 driver reading database fields of type XMLDATA and XMLDOM into oracle.jdbc.driver.OracleSQLXML.
This class implements java.sql.SQLXML interface introduced in jdk 1.6.
Note that Oracle jdbc MetaData.getColumnType still returns a wrong sql type OracleType.OPAQUE (2007) instead of correct Types.SQLXML == OracleTypes.SQLXML == 2009
Also added SQLXML case to DatabasePlatform.
The String should be extracted from SQLXML object while its transaction is still active, therefore (just like with lobs) can't place this code into conversion manager - it may be too late.
To allow Eclipselink code to still be executable under jdk 1.5 added JDK16Platform class that encapsulates usage of the new classes defined in jdk 1.6.
Created attachment 176925 [details]
corrected patch
The original patch missed DatabasePlatform class.
Checked the patch into trunk (2.2), 2.1.2 is pending. Reviewed by Tom. The patch checked into 2.1.2. The fix was tested in TestingBrowser on Oracle db 11.2.0.1. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |