[ 
https://issues.apache.org/cayenne/browse/CAY-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrus Adamchik closed CAY-1051.
--------------------------------

    Resolution: Fixed

> Oracle 11 driver support - 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 in a one-size-fits-all manner.
> 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.

Reply via email to