From: | lucas at mcsnw(dot)com (Lucas Madar) |
---|---|
To: | |
Subject: | [Pljava-dev] Calling pl/pgsql functions from pl/java? |
Date: | 2007-12-11 01:29:06 |
Message-ID: | 475DE7E2.3000506@mcsnw.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pljava-dev |
Hello,
I'm trying to call preexisting plpgsql functions from pljava. I've been
beating my head against a wall with them all day, and I can't seem to
figure out what I'm doing wrong. Apologies if this is too much junk, but
this is a low-traffic list ;)
Thanks,
Lucas Madar
Given the following setup, why does this happen? I can't seem to call
*any* plpgsql functions from within pl/java.
create or replace function pljava_test_internal(integer) returns varchar
as 'stupid.test.Dummy.test_internal' LANGUAGE 'javaU' VOLATILE;
create or replace function pljava_test_external(integer) returns varchar
as 'stupid.test.Dummy.test_external' LANGUAGE 'javaU' VOLATILE;
CREATE OR REPLACE FUNCTION plpgsql_test_external(varchar) RETURNS
varchar AS $$
BEGIN
return $1 || ' from plpgsql!';
END;
$$ LANGUAGE plpgsql VOLATILE;
package stupid.test;
import java.sql.*;
public class Dummy {
public static String test_internal(int number) {
return "internal test la la la " + number;
}
public static String test_external(int number) throws SQLException {
String text = "internal test la la la " + number;
Connection sql =
DriverManager.getConnection("jdbc:default:connection");
String ret;
Statement stmt = sql.createStatement();
if(stmt.execute("SELECT plpgsql_test_external('" + text
+ "');"))
throw new SQLException("No results from query?");
ResultSet res = stmt.getResultSet();
ret = res.getString(1);
res.close();
stmt.close();
sql.close();
return ret;
}
}
# select pljava_test_internal(1);
pljava_test_internal
--------------------------
internal test la la la 1
(1 row)
# select plpgsql_test_external('test');
plpgsql_test_external
-----------------------
test from plpgsql!
(1 row)
# select pljava_test_external(1);
ERROR: java.sql.SQLException: ResultSet is not positioned on a valid row
From | Date | Subject | |
---|---|---|---|
Next Message | Jeffrey Lyon | 2007-12-11 02:17:43 | [Pljava-dev] Calling pl/pgsql functions from pl/java? |
Previous Message | Kris Jurka | 2007-11-20 21:28:45 | [Pljava-dev] commit + bug emails |