pgsql: tableam: Avoid relying on relation size to determine validityof - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: tableam: Avoid relying on relation size to determine validityof
Date
Msg-id [email protected]
Whole thread Raw
List 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/[email protected]

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 by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Restructure creation of run-time pruning steps.
Next
From: Tom Lane
Date:
Subject: pgsql: "A void function may not return a value".