From: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: getUdateCount() vs. RETURNING clause |
Date: | 2009-11-25 11:53:17 |
Message-ID: | hej5r1$aqs$1@ger.gmane.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Oliver Jowett, 25.11.2009 12:13:
>
> 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.
Correct, once per *result* not per statement. If the statement returns more than one result, I should be allowed to call it multiple time.
I think the base of my (mis)understanding is that the term "current" lead me to believe that the "stack" of results a statement can hold, could look like this:
resultSet
update count = 3
update count = 2
resultSet
reslutSet
So if I create a loop using the condition stated in the Javadocs the program flow would be as follows:
1) stmt.execute() returns true, so I call getResultSet()
2) getMoreResults() returns false, but getUpdateCount() returns 3 ==> go on
3) getMoreResults() returns false, but getUpdateCount() returns 2 ==> go on
4) getMoreResults() returns true, so getResultSet() returns a result set ==> go on
5) getMoreResults() returns true, so getResultSet() returns a result set ==> go on
6) getMoreResults() returns false, getUpdateCount() returns -1 ==> everything was processed.
Apparently this interpretation of "current", "next" and "once per _result_" was wrong...
Regards
Thomas
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2009-11-25 12:16:20 | Re: getUdateCount() vs. RETURNING clause |
Previous Message | Oliver Jowett | 2009-11-25 11:13:40 | Re: getUdateCount() vs. RETURNING clause |