You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Daniel John Debrunner (JIRA)" <de...@db.apache.org> on 2006/05/25 19:14:31 UTC

[jira] Commented: (DERBY-479) Passing the return of a RETURN NULL ON NULL INPUT function to another function call throws linkage error.

    [ http://issues.apache.org/jira/browse/DERBY-479?page=comments#action_12413279 ] 

Daniel John Debrunner commented on DERBY-479:
---------------------------------------------

Back in an earlier comment I said:

Another aspect that may not be important, but before this change the conversion nodes are always dropped if they are between Java expressions, and that was incorrect in one situation, functions with RETURNS NULL ON NULL INPUT. Now you have changed it so they are only dropped in one situation, both methods being CALLED ON NULL INPUT (assuming a modified patch). Thus the optimization is being lost in situations where it is useful. Maybe this is not an issue because those siutations typically don't arise any more, but some internal statements that use Java expressions may be losing this optimization.

Having worked on triggers recently for DERBY-438 I see that Java expressions are heavily used in accessing data with a trigger's action statement. Thus it would be best to reinstate the optimization of dropping conversion nodes for pure java expressions to avoid performance degradation in 10.2

> Passing the return of  a RETURN NULL ON NULL INPUT function to another function call throws linkage error.
> ----------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-479
>          URL: http://issues.apache.org/jira/browse/DERBY-479
>      Project: Derby
>         Type: Bug

>   Components: SQL
>     Versions: 10.2.0.0
>     Reporter: Daniel John Debrunner
>     Assignee: Mamta A. Satoor
>      Fix For: 10.2.0.0
>  Attachments: Derby479LinkageErrorReturnNullIfNulldiff021306.txt, Derby479LinkageErrorReturnNullIfNulldiff021406.txt, Derby479LinkageErrorReturnNullIfNulldiff021606.txt, Derby479Version4LinkageErrorReturnNullIfNull022006.txt, Derby479Version5LinkageErrorReturnNullIfNull022206.txt, wisconsin.out, wisconsinAfterRemovingNullChk.out
>
> Error in ij (RN_RADIANS is a function declared as returns null on null input)
> ij> VALUES CAST( CALL_COS(RN_RADIANS(90.0)) AS DECIMAL(3,2));
> ERROR XBCM1: Java linkage error thrown during load of generated class org.apache.derby.exe.ace5214067x0105x5e41x7a46xffff855452e375.
> ERROR XJ001: Java exception: '(class: org/apache/derby/exe/ace5214067x0105x5e41x
> 7a46xffff855452e375, method: e0 signature: ()Ljava/lang/Object;) Expecting to find double on stack: java.lang.VerifyError'.
> extract from derby.log
> 2005-07-28 16:23:43.836 GMT Thread[main,5,main] Wrote class org.apache.derby.exe
> .ace5214067x0105x5e41x7a46xffff855452e375 to file C:\_work\svn_pb\trunk\systest\
> out\functions\ace5214067x0105x5e41x7a46xffff855452e375.class. Please provide sup
> port with the file and the following exception information: java.lang.VerifyErro
> r: (class: org/apache/derby/exe/ace5214067x0105x5e41x7a46xffff855452e375, method
> : e0 signature: ()Ljava/lang/Object;) Expecting to find double on stack
> I will add a test case to lang/functions.sql commented with this bug number. Test cases
> that fail will be commented out.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira