[ 
https://issues.apache.org/jira/browse/OPENJPA-3028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18140121#comment-18140121
 ] 

ASF subversion and git services commented on OPENJPA-3028:
----------------------------------------------------------

Commit 7359c8db97bb2f6f7f3eb74f4b6a97215bf7f987 in openjpa's branch 
refs/heads/master from Richard Zowalla
[ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=7359c8db9 ]

[OPENJPA-3028] Stored procedures on Oracle: REF CURSOR and numeric OUT types 
(#279)

* [OPENJPA-3028] Register REF CURSOR parameters of stored procedures on Oracle

Oracle reports a SYS_REFCURSOR parameter of a stored procedure with the
generic type OTHER and the type name REF CURSOR, and its driver rejects
registerOutParameter(OTHER) with ORA-17004, so no procedure returning a
result set through a REF CURSOR could be called. OracleDictionary now
registers such parameters as Types.REF_CURSOR; the existing handling of
cursor OUT parameters then reads the result set.

* [OPENJPA-3028] Return numeric OUT parameters in their registered type

getOutputParameterValue() returned the value as the driver reported it
and ignored the Java type the parameter was registered with. On Oracle
an INTEGER parameter is a NUMBER, so an OUT parameter registered as
Integer came back as a BigDecimal.

A numeric value is now converted to the registered numeric type. The
conversion to an integral type (Byte, Short, Integer, Long, BigInteger)
is exact: a value with a fraction or outside the range of the registered
type is returned unchanged, as before, instead of being truncated. A
conversion to Float or Double follows the usual floating point rounding.
Non-numeric values are returned unchanged. This applies to all
databases.

---------

Co-authored-by: Maxim Solodovnik <[email protected]>

> Jakarta Persistence 3.2 TCK failures on Derby, MySQL and SQL Server
> -------------------------------------------------------------------
>
>                 Key: OPENJPA-3028
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-3028
>             Project: OpenJPA
>          Issue Type: Epic
>            Reporter: Richard Zowalla
>            Assignee: Richard Zowalla
>            Priority: Major
>         Attachments: run_de.tar.xz, run_ms.tar.xz, run_my.tar.xz, 
> run_or.tar.xz
>
>
> Results of the Jakarta Persistence 3.2 TCK with 
> {{openjpa-integration/tck/run-tck32.sh}} (reported by Maxim Solodovnik on 
> dev@):
> * PostgreSQL 16: passed
> * MySQL 8.4.8: 2134 tests, 43 errors
> * SQL Server 2017-CU12: 2134 tests, 45 errors
> * Derby: 2134 tests, 184 errors
> The sub-tasks group the errors by cause. Several groups show up on more than 
> one database. Where the TCK output only says "<test> failed", the cause still 
> has to be found from the TCK logs.
> Note: the TCK build does not work with Maven 3.10.0; 3.9.x works.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to