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;
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 |