openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zilin Chen (Created) (JIRA)" <>
Subject [jira] [Created] (OPENJPA-2131) Missing IN or OUT parameter exception with OracleDictionary
Date Tue, 14 Feb 2012 20:23:59 GMT
Missing IN or OUT parameter exception with OracleDictionary

                 Key: OPENJPA-2131
             Project: OpenJPA
          Issue Type: Bug
          Components: jdbc
    Affects Versions: 2.1.1
         Environment: Windows with Oracle 11g
            Reporter: Zilin Chen

We have generate query with 

Query q = em.createQuery("select e._name, e._id, sum(case when e._status=:pending then e._count
else 0 end) from Exceptions e, Historty h where e._guid = :guid and .....
then set paramenters for both :pending (in select) and :guid (in where), and call q.setMaxResults(100);

with DB2, everything works fine, and DBDictionary.getSelects() and SQLBuffer.append() will
invoke correctly and set parameter of :pending

with Oracle implementation, OracleDictionary.getSelects(Select sel, boolean distinctIdentifiers,
boolean forUpdate) will invoke and SQLBuffer.getSQL() get to call (as two if checks are not
satisfied and gos to create a new SQLBuffer instance), but this time :pending parameter will
missing to add to _param List,
Eventually, we'll get Missing IN or OUT parameter exception from to execute query by preparedStatement

This bug exist in both this branch and trunk.
We have a work around, after SQLBuffer.getSQL() call, add some code to reset _param list.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message