heapgettup() with NoMovementScanDirection unused in core?

Поиск
Список
Период
Сортировка
От Melanie Plageman
Тема heapgettup() with NoMovementScanDirection unused in core?
Дата
Msg-id CAAKRu_bvkhka0CZQun28KTqhuUh5ZqY=_T8QEqZqOL02rpi2bw@mail.gmail.com
обсуждение исходный текст
Ответы Re: heapgettup() with NoMovementScanDirection unused in core?  (David Rowley <dgrowleyml@gmail.com>)
Список pgsql-hackers
Hi,

David Rowley and I were discussing how to test the
NoMovementScanDirection case for heapgettup() and heapgettup_pagemode()
in [1] (since there is not currently coverage). We are actually
wondering if it is dead code (in core).

This is a link to the code in question on github in [2] (side note: is
there a more evergreen way to do this that doesn't involve pasting a
hundred lines of code into this email? You need quite a few lines of
context for it to be clear what code I am talking about.)

standard_ExecutorRun() doesn't run ExecutePlan() if scan direction is no
movement.

    if (!ScanDirectionIsNoMovement(direction))
    {
    ...
        ExecutePlan(estate,
                    queryDesc->planstate,
  }

And other users of heapgettup() through table_scan_getnextslot() and the
like all seem to pass ForwardScanDirection as the direction.

A skilled code archaeologist brought our attention to adbfab119b308a
which appears to remove the only users in the core codebase calling
heapgettup() and heapgettup_pagemode() with NoMovementScanDirection (and
those users were not themselves used).

Perhaps we can remove support for NoMovementScanDirection with
heapgettup()? Unless someone knows of a good use case for a table AM to
do this?

- Melanie

[1] https://www.postgresql.org/message-id/CAAKRu_ZyiXwWS1WXSZneoy%2BsjoH_%2BF5UhO-1uFhyi-u0d6z%2BfA%40mail.gmail.com
[2] https://github.com/postgres/postgres/blob/master/src/backend/access/heap/heapam.c#L656



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: 011_crash_recovery.pl intermittently fails
Следующее
От: Melanie Plageman
Дата:
Сообщение: Re: heapgettup refactoring