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] Created: (DERBY-3390) SQLException thrown from user function kills network connection
Date Tue, 05 Feb 2008 14:42:08 GMT
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:,,,,
            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.

View raw message