Maxim Solodovnik created OPENJPA-2966:
-----------------------------------------
Summary: Long cast uses decimalTypeName instead of bigint
Key: OPENJPA-2966
URL: https://issues.apache.org/jira/browse/OPENJPA-2966
Project: OpenJPA
Issue Type: Sub-task
Components: jpa
Affects Versions: 4.2.0
Reporter: Maxim Solodovnik
Fix For: 4.2.0
Discussion thread:
https://github.com/apache/openjpa/pull/144#discussion_r3683002577
**(medium)** Casting to Long uses `dict.decimalTypeName`; on MySQL `CAST(x AS
DECIMAL)` defaults to DECIMAL(10,0), so large long values overflow/truncate -
why not `bigintTypeName` for the long case? Also `getDbNumberTargetTypeName`
sanitizes the `{0}` size suffix while the sibling TypecastAsString.java:152
appends `dict.varcharTypeName` raw - the two siblings should share the same
sanitize logic.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)