Re: Index only scan and ctid

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Index only scan and ctid
Дата
Msg-id 28944.1582035711@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Index only scan and ctid  (Greg Stark <stark@mit.edu>)
Список pgsql-hackers
Greg Stark <stark@mit.edu> writes:
> For the user visible ctid we could just arbitrarily declare that the ctid
> returned by an IOS is the head of the HOT update chain instead of the tail.

No, I don't think that'd work at all, because that tuple might be dead.
A minimum expectation is that "SELECT ... WHERE ctid = 'xxx'" would return
the same data as the IOS, and that would fail because it wouldn't return
anything.

(In principle I suppose we could *also* redefine what selecting by ctid
means.  Doubt I want to go there though.)

> For a data modifying query -- and it would have to be one targeting some
> other table or else there's no way it could be an IOS -- does having a ctid
> for the head rather than the tail still work?

If you target a tuple that is live according to your current snapshot,
but nonetheless out-of-date, EPQ will chase up to the head for you.
But you gotta start with a tuple that is visible to your snapshot.

            regards, tom lane



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

Предыдущее
От: Mike Blackwell
Дата:
Сообщение: Re: Parallel copy
Следующее
От: Ants Aasma
Дата:
Сообщение: Re: Parallel copy