Re: [GENERAL] Is the row version available in SQL?

Поиск
Список
Период
Сортировка
От Chris Travers
Тема Re: [GENERAL] Is the row version available in SQL?
Дата
Msg-id CAKt_Zfs6Lz02XO4=C9pw1wcM2AraFCiu2_ss53XEt9AnrQG0nA@mail.gmail.com
обсуждение исходный текст
Ответ на [GENERAL] Is the row version available in SQL?  (Rob Nikander <rob.nikander@gmail.com>)
Ответы Re: [GENERAL] Is the row version available in SQL?
Список pgsql-general


On Wed, Jun 28, 2017 at 4:54 PM, Rob Nikander <rob.nikander@gmail.com> wrote:
Hi,


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.

В списке pgsql-general по дате отправления:

Предыдущее
От: Rob Nikander
Дата:
Сообщение: [GENERAL] Is the row version available in SQL?
Следующее
От: marcelo
Дата:
Сообщение: Re: [GENERAL] iso-8859-1 lvalue 'PIDFILE' in section 'Service'