David W. Van Couvering wrote:

> In inspecting the exceptions across client and embedded drivers, I
> noticed that in the method updateRow(), if the current row has not been
> modified, the client throws an exception.  However, the embedded driver
> returns without taking any action and does not throw an exception.
> 
> The JavaDoc for updateRow() says nothing about what behavior is expected.
> 
> Does anyone know which one is correct?  Given a choice, I would prefer
> the more forgiving implementation in the embedded driver.  An alternate
> is to throw a SQLWarning rather than a SQLException.
> 
> Once I have a better sense of what the right behavior is, I can log a
> bug about this and attach it to our list of inconsistencies.

JDBC 4.0 (proposed final draft) section 16.2.4.1

"If the concurrency level is
ResultSet.CONCUR_UPDATABLE and updateRow is called without changes being
made to the row, the call will be considered a no-op."

Thus it seems embedded is correct.

Dan.

Reply via email to