Re: POC: Lock updated tuples in tuple_update() and tuple_delete()

Поиск
Список
Период
Сортировка
От Aleksander Alekseev
Тема Re: POC: Lock updated tuples in tuple_update() and tuple_delete()
Дата
Msg-id CAJ7c6TNvAvGnyYgfn8=mx0=y8mZ0bwdkT60mnvsHBHiQmwgmTw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: POC: Lock updated tuples in tuple_update() and tuple_delete()  (Alexander Korotkov <aekorotkov@gmail.com>)
Ответы Re: POC: Lock updated tuples in tuple_update() and tuple_delete()  (Alexander Korotkov <aekorotkov@gmail.com>)
Список pgsql-hackers
Hi Alexander,

> I'm going to push this if no objections.

I took a fresh look at the patch and it LGTM. I only did a few
cosmetic changes, PFA v7.

Changes since v6 are:

```
@@ -318,12 +318,12 @@ heapam_tuple_delete(Relation relation,
ItemPointer tid, CommandId cid,
     result = heap_delete(relation, tid, cid, crosscheck, wait, tmfd,
changingPart);

     /*
-     * If the tuple has been concurrently updated, get lock already so that on
-     * retry it will succeed, provided that the caller asked to do this by
-     * providing a lockedSlot.
+     * If lockUpdated is true and the tuple has been concurrently updated, get
+     * the lock immediately so that on retry we will succeed.
      */
     if (result == TM_Updated && lockUpdated)
     {
+        Assert(lockedSlot != NULL);
```

... and the same for heapam_tuple_update().

-- 
Best regards,
Aleksander Alekseev

Вложения

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

Предыдущее
От: "Shinoda, Noriyoshi (PN Japan FSIP)"
Дата:
Сообщение: RE: Perform streaming logical transactions by background workers and parallel apply
Следующее
От: John Naylor
Дата:
Сообщение: Re: [PATCH] Simple code cleanup in tuplesort.c.