Thread: BUG #1201: void functions called through jdbc driver return error
The following bug has been logged online: Bug reference: 1201 Logged by: Jonathan Scott Email address: jwscott@vanten.com PostgreSQL version: 7.4 Operating system: Linux Description: void functions called through jdbc driver return error Details: Hello all, At work here, we are considering upgrading from 7.3 to 7.4, but we've hit a bit of a snag. We have functions in our schema that have return void. When called through the 7.4's JDBC driver, we get the following error: ERROR: function "fulfill_cctrans_item" in FROM has unsupported return type Our DB unit tests seem to indicate the function is defined and works correctly; we just get the error when accessing it through the JDBC driver. Inside our Java code, we use executeQuery() on a CallableStatement object, as below: stmt = con.prepareCall("{ call " + statement + "}"); stmt.executeQuery(); Any more info needed, please feel free to contact me. Thanks, Jonathan
On Tue, 27 Jul 2004, PostgreSQL Bugs List wrote: > Bug reference: 1201 > Logged by: Jonathan Scott > Email address: jwscott@vanten.com > PostgreSQL version: 7.4 > Description: void functions called through jdbc driver return error > > At work here, we are considering upgrading from 7.3 to 7.4, but we've hit a > bit of a snag. We have functions in our schema that have return void. When > called through the 7.4's JDBC driver, we get the following error: > > ERROR: function "fulfill_cctrans_item" in FROM has unsupported return type > To elaborate more on this problem after it gets past the jdbc driver, what happens is that the function call execution is translated into a SQL statement of the form "SELECT * FROM voidfunc();" This produces a server error message: CREATE OR REPLACE FUNCTION voidfunc() RETURNS void AS 'begin return; end;' LANGUAGE plpgsql; SELECT * FROM voidfunc(); ERROR: function "voidfunc" in FROM has unsupported return type It is unclear why this is disallowed. A plain "SELECT voidfunc();" works. Kris Jurka