Re: getUdateCount() vs. RETURNING clause
От | Oliver Jowett |
---|---|
Тема | Re: getUdateCount() vs. RETURNING clause |
Дата | |
Msg-id | 4B0D1164.1060006@opencloud.com обсуждение исходный текст |
Ответ на | Re: getUdateCount() vs. RETURNING clause (Thomas Kellerer <spam_eater@gmx.net>) |
Ответы |
Re: getUdateCount() vs. RETURNING clause
|
Список | pgsql-jdbc |
Thomas Kellerer wrote: > Hmm, my understand was a bit different. > The Javadocs simply say > > There are no more results when the following is true: > ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1)) > > It doesn't state that they are mutually exclusive. And for me it seemed > to imply that I can call getMoreResults() and getUpdateCount() in a loop > in order to process everything that is returned. > > Additionally the Javadocs for getUpdateCount() says: > > "Gets the *current* result as an update count" and ".. if there are no > more results it returns -1" You've done some selective editing there. The javadoc I referred to is this (from the Java 6 javadoc): getResultSet(): Retrieves the current result as a ResultSet object. This method should be called only once per result. Returns: the current result as a ResultSet object or null if the result is an update count or there are no more results --- getUpdateCount(): Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned. This method should be called only once per result. Returns: the current result as an update count; -1 if the current result is a ResultSet object or there are no more results --- I think that's fairly clear: the "current result" is either a ResultSet, or an update count, but it can't be both. getUpdateCount() explicitly says that it returns "-1 [...] if the current result is a ResultSet object", and getResultSet() explicitly says that it returns "null if the [current] result is an update count." > The word "current" here also let me to believe I can call those methods > multiple times. From memory the postgresql driver doesn't care if you call them multiple times, but FWIW the javadoc says that you should only call them once per result. -O
В списке pgsql-jdbc по дате отправления: