Drop OracleAdapter "optimizations"
----------------------------------
Key: CAY-1051
URL: https://issues.apache.org/cayenne/browse/CAY-1051
Project: Cayenne
Issue Type: Improvement
Components: Cayenne Core Library
Affects Versions: 3.0
Environment: Oracle 11
Reporter: Andrus Adamchik
Assignee: Andrus Adamchik
Priority: Minor
Fix For: 3.0
It was reported that OrlaceAdapter throws when running with Oracle 11 driver
[1]. The problem is caused by Oracle "optimizations" built in to the Adapter.
While I found a quick fix for "optimizations" to work with the new driver, I
think the whole idea that Cayenne should hardcode some special Oracle
parameters in the adapter is lame. Aside from the fact that our own testing
didn't find any benefits of those "optimizations", Cayenne should not
reconfigure the Statements.
Now what's *really* lame is Oracle inability to pass various parameters in the
JDBC URL, so you have to call their API directly. We'll be leaving this as an
exercise for the end-users from now on.
[1] http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
ava.lang.IllegalAccessException: Class
org.apache.cayenne.dba.oracle.OracleSelectTranslator can not access a member of
class oracle.jdbc.driver.OracleStatementWrapper with modifiers "public"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
at java.lang.reflect.Method.invoke(Method.java:578)
at
org.apache.cayenne.dba.oracle.OracleSelectTranslator.createStatement(OracleSelectTranslator.java:132)
at
org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:72)
at
org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:58)
at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:230)
at
org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:424)
at
org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:68)
at
org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:397)
at
org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:847)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.