On Wednesday, June 15, 2016 4:21:47 PM EDT Alexander Farber wrote: > Hello Jan, > > On Wed, Jun 15, 2016 at 4:17 PM, Jan de Visser <jan@xxxxxxxxxxxxx> wrote: > > On Wednesday, June 15, 2016 3:56:07 PM EDT Alexander Farber wrote: > > > 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.". > > > > Looking at the 9.4 documentation, I see something completely different: > > > > https://jdbc.postgresql.org/documentation/94/callproc.html > > your doc talks about calling stored functions which return SETOF or cursor. Example 6.1 doesn't. What I was trying to indicate that the page you referred to has undergone, um, significant changes over the years. > > But my function is returning VOID, so according to > https://jdbc.postgresql.org/documentation/94/update.html > I was thinking I should call executeUpdate()? > > Regards > Alex 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. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general