[
https://issues.apache.org/jira/browse/DERBY-5749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13271629#comment-13271629
]
Dag H. Wanvik commented on DERBY-5749:
--------------------------------------
The code inserts a cast on the actual argument string here if dynamic
parameter: StaticMethodCallNode#585:
boolean needCast = false;
if (!isParameterMarker)
{
:
}
else
{
// any variable length type will need a cast from the
// Java world (the ? parameter) to the SQL type. This
// ensures values like CHAR(10) are passed into the procedure
// correctly as 10 characters long.
if (parameterTypeId.variableLength()) {
if (parameterMode != JDBC30Translation.PARAMETER_MODE_OUT)
---> needCast = true;
}
}
> VARCHAR args to stored methods are silently truncated if too long for the
> argument type.
> ----------------------------------------------------------------------------------------
>
> Key: DERBY-5749
> URL: https://issues.apache.org/jira/browse/DERBY-5749
> Project: Derby
> Issue Type: Bug
> Components: JDBC, SQL
> Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1,
> 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0,
> 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0, 10.6.2.1, 10.7.1.1, 10.8.1.2, 10.8.2.2
> Reporter: Dag H. Wanvik
> Attachments: SilentVarcharArgTruncation.java
>
>
> Cf the attached repro SilentVarcharArgTruncation.
> It seem implicit casts are inserted here, cf discussion on derby-dev thread
> starting here:
> http://mail-archives.apache.org/mod_mbox/db-derby-dev/201205.mbox/%3Cx67gwm7hir.fsf%40oracle.com%3E
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira