db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4459) Verification error at execute-time when an outer function which takes a primitive arg is wrapped around an inner function which returns the corresponding Java wrapper object
Date Tue, 01 Dec 2009 18:10:20 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rick Hillegas updated DERBY-4459:
---------------------------------

    Attachment: derby4459.java
                derby-4459.sql

Attaching a reproducible test case: derby4459.java and derby-4459.sql. If you compile the
class and run the script through ij, you will see this output:

ij version 10.6
ij> connect 'jdbc:derby:memory:db;create=true';
ij> create function getNullInt() returns int language java parameter style java external
name 'derby4459.getNullInt';
0 rows inserted/updated/deleted
ij> create function negateInt( a int ) returns int language java parameter style java external
name 'derby4459.negateInt';
0 rows inserted/updated/deleted
ij> -- this fails gracefully
values( negateInt( cast( null as int) ) );
1          
-----------
ERROR 39004: A NULL value cannot be passed to a method which takes a parameter of primitive
type 'int'.
ij> -- this fails gracelessly
values( negateInt( getNullInt() ) );
ERROR XBCM2: Cannot create an instance of generated class org.apache.derby.exe.ac0b5b0099x0125x4b6bxa3fdx000000135f981.
ERROR XJ001: Java exception: '(class: org/apache/derby/exe/ac0b5b0099x0125x4b6bxa3fdx000000135f981,
method: e0 signature: ()Ljava/lang/Object;) Expecting to find integer on stack: java.lang.VerifyError'.

> Verification error at execute-time when an outer function which takes a primitive arg
is wrapped around an inner function which returns the corresponding Java wrapper object
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4459
>                 URL: https://issues.apache.org/jira/browse/DERBY-4459
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.4.2.1, 10.4.3.0, 10.5.3.1, 10.5.4.0, 10.6.0.0
>            Reporter: Rick Hillegas
>         Attachments: derby-4459.sql, derby4459.java
>
>
> An insane Derby raises a verification error when trying to run the following query:
> values( negateInt( getNullInt() ) );
> where negateInt() takes a primitive int argument and getNullInt() returns an Integer.
> Sane Derby raises an assertion. The same test case, run against 10.3.3.1, also fails
but raises a more graceful compile-time exception.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message