From: | "Han" <zhouhanok(at)vip(dot)sina(dot)com> |
---|---|
To: | Barry Lind <blind(at)xythos(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Problem about executeUpdate and stored procedure that |
Date: | 2003-05-19 05:34:58 |
Message-ID: | 20030519052509.400ED9254B0@developer.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Barry Lind,
function:
create function testfunc() returns void language sql as 'update table1 set col1=0';
Test.java:
...
CallableStatement stmt = null;
try
{
stmt = conn.prepareCall("{call testfunc()}");
stmt.executeUpdate();
}
catch(Exception e)
{
System.out.println(e.toString());
}
...
output:
java.sql.SQLException: ERROR: Unknown kind of return type specified for function testfunc
I checked the jdbc code, and find this in AbstractJdbc1Statement::modifyJdbcCall(string):
if (connection.haveMinimumServerVersion("7.3")) {
l_sql = "select * from " + l_sql + " as " + RESULT_ALIAS + ";";
} else {
l_sql = "select " + l_sql + " as " + RESULT_ALIAS + ";";
}
I changed "7.3" to "7.4" here. And then the error became : A result was returned when none was expected.
>Han,
>
>Could you send a more complete test case, that I could compile and run?
>
>thanks,
>--Barry
>
>
>Han wrote:
>> pgsql-jdbc
>>
>> When using executeUpdate with {call func_name(?,?,?)}, there's an error saying that no result should be returned. But the value is updated successfully in the database by the function.
>> I know that it's because {call func_name(?,?,?)} be transfered to "select func_name(...) as result" and this sql returns a row. But I do need to call a function that returns no result, but do some updates. I defined the function as "create function ... returns void as'...'". But it still returns a row contains one field with null value.
>> I don't want to use executeQuery. Is there anyother way to do this? Or should the jdbc executeUpdate should be fixed?
>> Thanks!
>>
>>
>>
>>
>> Han
>> zhouhanok(at)vip(dot)sina(dot)com
>> 2003-05-16
>>
>>
>>
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 2: you can get off all lists at once with the unregister command
>> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
>>
>
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 5: Have you checked our extensive FAQ?
>
>http://www.postgresql.org/docs/faqs/FAQ.html
Regards!
Han
zhouhanok(at)vip(dot)sina(dot)com
2003-05-19
From | Date | Subject | |
---|---|---|---|
Next Message | Han | 2003-05-19 06:29:07 | Re: Problem about executeUpdate and stored procedure that |
Previous Message | Barry Lind | 2003-05-19 04:25:41 | Re: [PATCH] Fix COLUMN_SIZE and NUM_PREC_RADIX in metadata |