Example Derby-style table function

The following simple table function selects rows from a foreign database.

package com.acme.hrSchema;

import java.sql.*;

/**
 * Sample Table Function for reading the employee table in an
 * external database.
 */
public class EmployeeTable
{
    public static ResultSet read()
        throws SQLException
    {
        Connection conn = getConnection();
        PreparedStatement ps = conn.prepareStatement(
            "select * from hrSchema.EmployeeTable" );

        return ps.executeQuery();
    }

    protected static Connection getConnection()
        throws SQLException
    {
        String EXTERNAL_DRIVER = "com.mysql.jdbc.Driver";

        try { 
            Class.forName( EXTERNAL_DRIVER ); 
        }
        catch (ClassNotFoundException e) {
            throw new SQLException( "Could not find class " 
                + EXTERNAL_DRIVER );
        }

        Connection conn = DriverManager.getConnection( 
            "jdbc:mysql://localhost/hr?user=root&password=mysql-passwd" );

        return conn;
    }
}