[ https://issues.apache.org/jira/browse/DERBY-3390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rick Hillegas closed DERBY-3390. -------------------------------- > 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 > Assignee: Myrna van Lunteren > Fix For: 10.5.1.1 > > Attachments: DERBY-3390_a.diff, DERBY-3390_b.diff, DERBY-3390_c.diff > > > 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.