[
https://issues.apache.org/jira/browse/DERBY-5246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen resolved DERBY-5246.
---------------------------------------
Resolution: Fixed
Fix Version/s: 10.9.0.0
Issue & fix info: (was: [Patch Available])
Committed revision 1127886.
> Simplify bytecode generation for concatenation operator
> -------------------------------------------------------
>
> Key: DERBY-5246
> URL: https://issues.apache.org/jira/browse/DERBY-5246
> Project: Derby
> Issue Type: Improvement
> Components: SQL
> Affects Versions: 10.9.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Fix For: 10.9.0.0
>
> Attachments: concat.diff
>
>
> ConcatenationOperatorNode generates bytecode that ensures the result object
> is not null before calling the method that implements the operator. This
> breaks the pattern used by other operators (which ensures that the result
> object is not null inside the method that implements the operator, not in the
> generated bytecode), and it unnecessarily complicates the code in
> BinaryOperatorNode.
> The comments indicate that the current approach was chosen to prevent the
> null check from happening at execution time, but the generated bytecode does
> perform the null check at execution time, so generating byte code for it
> shouldn't have any real benefit over writing Java code for it. In general,
> implementing as much as possible of the execution time code as Java code is
> preferred to implementing it directly as bytecode because it's easier to read
> and debug Java code, and because the generated bytecode cannot be shared
> between execution plans and take more memory.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira