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: 10.3.2.1, 10.3.1.4, 10.2.2.0, 10.2.1.6, 10.1.3.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.


Mime
View raw message