[ 
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

Reply via email to