pgsql: tableam: Avoid relying on relation size to determine validity of

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: tableam: Avoid relying on relation size to determine validity of
Date: 2019-05-18 02:10:46
Message-ID: E1hRooA-0006mU-74@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2019-05-18 04:40:51 pgsql: "A void function may not return a value".
Previous Message Tom Lane 2019-05-17 23:44:43 pgsql: Restructure creation of run-time pruning steps.