pgsql: tableam: Avoid relying on relation size to determine validityof

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: tableam: Avoid relying on relation size to determine validityof
Дата
Msg-id E1hRooA-0006mU-74@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
tableam: Avoid relying on relation size to determine validity of tids.

Instead add a tableam callback to do so. To avoid adding per
validation overhead, pass a scan to tuple_tid_valid. In heap's case
we'd otherwise incurred a RelationGetNumberOfBlocks() call for each
tid - which'd have added noticable overhead to nodeTidscan.c.

Author: Andres Freund
Reviewed-By: Ashwin Agrawal
Discussion: https://postgr.es/m/20190515185447.gno2jtqxyktylyvs@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/147e3722f7e531f15ba389a4d518efe8cd0bd736

Modified Files
--------------
src/backend/access/heap/heapam.c         | 26 ++++--------
src/backend/access/heap/heapam_handler.c | 10 +++++
src/backend/access/table/tableam.c       | 27 ++++++++++++
src/backend/executor/nodeTidscan.c       | 73 +++++++++++++++++++++-----------
src/backend/utils/adt/tid.c              | 10 ++++-
src/include/access/heapam.h              |  3 +-
src/include/access/tableam.h             | 37 +++++++++++-----
7 files changed, 129 insertions(+), 57 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Restructure creation of run-time pruning steps.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: "A void function may not return a value".