From: | Oliver Jowett <oliver(at)opencloud(dot)com> |
---|---|
To: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: getUdateCount() vs. RETURNING clause |
Date: | 2009-11-25 11:13:40 |
Message-ID: | 4B0D1164.1060006@opencloud.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Kellerer | 2009-11-25 11:53:17 | Re: getUdateCount() vs. RETURNING clause |
Previous Message | Thomas Kellerer | 2009-11-25 07:31:37 | Re: getUdateCount() vs. RETURNING clause |