In some cases I can use these transaction isolation modes, but in other cases, I may want to manage the versions and concurrency manually. Is there a way to select the “version” of a row, or is that data hidden to ordinary SQL statements?
I’m thinking about a sequence of actions, which are logically a transaction, but start on one thread and complete later on another thread. I don’t think I can tie up a JDBC database connection for that long. I can add a `version bigint` column to my table, and the final update will look like:
update ... where id = ? and version = the_version_selected_earlier_in_a_different_thread
… and if that gets 0 rows, it can handle the conflict.
For that, you could use xmin. That tracks the transaction where the row first became visible.
Best Wishes,
Chris Travers
Rob
--
Best Wishes,
Chris Travers
Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in.