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.
