I have generic jdbc code that works with all kinds of databases. I have some apis that work with transactions and savepoints.
The problem is that some databases require you to release the savepoint manually
conn.releaseSavepoint(savepoint1)
and some just throw an exeption when you do a manual release (most notably Oracle).
How can I check at run-time if the db has automatic savepoint release or if I need to do it manually. And pls, I have some nice apis. I don't want to catch the exception, it's ugly and error-prone in this case. The exception thrown is java.sql.SqlException, not something like "FeatureUnsupportedException". So if there is a real error and I foolishly catch it then I could fail at the whole transaction thing altogether.
Thanks