| From: | Jan de Visser <jan(at)de-visser(dot)net> | 
|---|---|
| To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> | 
| Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>, Alexander Farber <alexander(dot)farber(at)gmail(dot)com> | 
| Subject: | Re: Moving from PHP to Java: A result was returned when none was expected. | 
| Date: | 2016-06-15 15:24:25 | 
| Message-ID: | 1481634.LjI3kEln4R@coyote | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
On Wednesday, June 15, 2016 10:43:13 AM EDT David G. Johnston wrote:
> On Wed, Jun 15, 2016 at 10:30 AM, Jan de Visser <jan(at)de-visser(dot)net> wrote:
> > Point is that you're doing a SELECT. A SELECT returns a result, which can
> > be
> > empty. I would use executeQuery and ignore the result.
> > 
> > There is a bit of a mismatch between the JDBC stored procedure model and
> > the
> > pgsql function model, because pgsql doesn't have true stored procedures.
> 
> Can you point to docs, JDBC and/or PG, that describe what it means to
> "RETURN void"?
> 
> At a high-level SQL returns SETs and the empty set is a valid SET.  I take
> it from your comment that JDBC considers the empty set "a result", whose
> record count is zero.
Hrm...
jan=# create or replace function foo() returns void as $$
begin
raise notice 'foo() called';
end
$$ language plpgsql;
CREATE FUNCTION
jan=# select foo();
NOTICE:  foo() called
 foo 
-----
 
(1 row)
So there's a row. Don't know what that row would contain, and how it would map 
to JDBC.
 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Durgamahesh Manne | 2016-06-15 15:27:44 | Fwd: regarding schema only migration from sqlserver to postgres with runmtk.sh | 
| Previous Message | Jan de Visser | 2016-06-15 14:57:49 | Re: Moving from PHP to Java: A result was returned when none was expected. |