Moving from PHP to Java: A result was returned when none was expected.

From: Alexander Farber <alexander(dot)farber(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Moving from PHP to Java: A result was returned when none was expected.
Date: 2016-06-15 13:56:07
Message-ID: CAADeyWhKJo+BbK61tMpOZgwxBpMMSMtQu3xOwEnhh+Zy2EN8Jw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Good afternoon,

at PostgreSQL 9.5.3 I have a stored function (full source code below)
returning void, which I successfully call with PHP:

function skipGame($dbh, $uid, $gid) {
$sth = $dbh->prepare('SELECT words_skip_game(?, ?)');
$sth->execute(array($uid, $gid));
}

Now I am trying to call the same function through JDBC driver 9.4.1208.jre7:

private static final String SQL_SKIP_GAME =
"SELECT words_skip_game(?, ?)";

try (PreparedStatement st =
mDatabase.prepareStatement(SQL_SKIP_GAME)) {
st.setInt(1, mUid);
st.setInt(2, gid);
st.executeUpdate();
}

and sadly get the SQLException "A result was returned when none was
expected.".

Shouldn't I call executeUpdate() method here - according to the doc
https://www.postgresql.org/docs/7.4/static/jdbc-callproc.html ?

Below is the stored procedure, thank you for any hints.
Alex

CREATE OR REPLACE FUNCTION words_skip_game(
IN in_uid integer,
IN in_gid integer)
RETURNS void AS
$func$
BEGIN
UPDATE words_games
SET played1 = CURRENT_TIMESTAMP
WHERE gid = in_gid
AND player1 = in_uid
/* and it is first player's turn */
AND (played1 IS NULL OR played1 < played2);

IF NOT FOUND THEN
UPDATE words_games
SET played2 = CURRENT_TIMESTAMP
WHERE gid = in_gid
AND player2 = in_uid
/* and it is second player's turn */
AND (played2 IS NULL OR played2 < played1);
END IF;
END
$func$ LANGUAGE plpgsql;

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alexander Farber 2016-06-15 13:58:28 Re: Moving from PHP to Java: A result was returned when none was expected.
Previous Message Adrian Klaver 2016-06-15 13:55:47 Re: ***SPAM*** Re: random huge delay when recreate a VIEW or FUNCTION