[
https://issues.apache.org/jira/browse/DERBY-3390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-3390:
----------------------------------
Component/s: (was: Newcomer)
Unchecking newcomer. I think this might be a bit more complicated than I first
thought. When sending an SQLException back to the client the expectation is
that the client can then make a stored procedure call to localize the
exception. There is not really a way to send back an exception which should
not be localized.
> SQLException thrown from user function kills network connection
> ---------------------------------------------------------------
>
> Key: DERBY-3390
> URL: https://issues.apache.org/jira/browse/DERBY-3390
> Project: Derby
> Issue Type: Bug
> Components: Network Server
> Affects Versions: 10.1.3.1, 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1
> Reporter: Rick Hillegas
>
> Thanks to Frank Griffin for pointing out this issue in a derby-dev email
> thread:
> http://www.nabble.com/SQLException-thrown-from-Table-Function-ResultSet-to15241332.html#a15241332
> If a user-coded function throws a SQLException, Derby will try to cast the
> exception to a Derby exception class before shipping the exception to the
> network client. This raises a ClassCastException and kills the connection. I
> have observed this in 10.4, 10.3, 10.2, and 10.1. You can reproduce this
> problem with the following function class and sql script.
> The function class:
> import java.sql.*;
> public class BadFunction
> {
> /**
> * <p>
> * This function just throws a SQLException.
> * </p>
> */
> public static int badFunction()
> throws SQLException
> {
> throw new SQLException( "I refuse to return an int!" );
> }
>
> }
> Here is the SQL script:
> connect 'jdbc:derby://localhost:8246/derby10.4';
> drop function badFunction;
> create function badFunction()
> returns int
> language java
> parameter style java
> no sql
> external name 'BadFunction.badFunction'
> ;
> values ( badFunction() );
> values ( badFunction() );
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.