Обсуждение: pgsql: Split ExecStoreTuple into ExecStoreHeapTuple andExecStoreBuffer

Поиск
Список
Период
Сортировка

pgsql: Split ExecStoreTuple into ExecStoreHeapTuple andExecStoreBuffer

От
Andres Freund
Дата:
Split ExecStoreTuple into ExecStoreHeapTuple and ExecStoreBufferHeapTuple.

Upcoming changes introduce further types of tuple table slots, in
preparation of making table storage pluggable. New storage methods
will have different representation of tuples, therefore the slot
accessor should refer explicitly to heap tuples.

Instead of just renaming the functions, split it into one function
that accepts heap tuples not residing in buffers, and one accepting
ones in buffers.  Previously one function was used for both, but that
was a bit awkward already, and splitting will allow us to represent
slot types for tuples in buffers and normal memory separately.

This is split out from the patch introducing abstract slots, as this
largely consists out of mechanical changes.

Author: Ashutosh Bapat
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/20180220224318.gw4oe5jadhpmcdnm@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/29c94e03c7d05d2b29afa1de32795ce178531246

Modified Files
--------------
contrib/postgres_fdw/postgres_fdw.c       |  11 ++-
src/backend/access/heap/heapam.c          |   4 +-
src/backend/catalog/index.c               |   6 +-
src/backend/catalog/indexing.c            |   2 +-
src/backend/commands/analyze.c            |   2 +-
src/backend/commands/constraint.c         |   2 +-
src/backend/commands/copy.c               |   4 +-
src/backend/commands/functioncmds.c       |   2 +-
src/backend/commands/tablecmds.c          |   6 +-
src/backend/commands/trigger.c            |  12 +--
src/backend/executor/execIndexing.c       |   2 +-
src/backend/executor/execMain.c           |   8 +-
src/backend/executor/execPartition.c      |   4 +-
src/backend/executor/execReplication.c    |   4 +-
src/backend/executor/execScan.c           |   4 +-
src/backend/executor/execTuples.c         | 124 +++++++++++++++++++-----------
src/backend/executor/nodeAgg.c            |   7 +-
src/backend/executor/nodeBitmapHeapscan.c |   7 +-
src/backend/executor/nodeGather.c         |   8 +-
src/backend/executor/nodeGatherMerge.c    |   9 +--
src/backend/executor/nodeIndexonlyscan.c  |   2 +-
src/backend/executor/nodeIndexscan.c      |  20 +++--
src/backend/executor/nodeModifyTable.c    |   4 +-
src/backend/executor/nodeSamplescan.c     |   7 +-
src/backend/executor/nodeSeqscan.c        |  11 ++-
src/backend/executor/nodeSetOp.c          |   7 +-
src/backend/executor/nodeTidscan.c        |  16 ++--
src/backend/partitioning/partbounds.c     |   2 +-
src/backend/replication/logical/worker.c  |   2 +-
src/backend/utils/adt/selfuncs.c          |   4 +-
src/backend/utils/sort/tuplesort.c        |   4 +-
src/include/executor/tuptable.h           |  10 ++-
32 files changed, 172 insertions(+), 145 deletions(-)


Re: pgsql: Split ExecStoreTuple into ExecStoreHeapTuple and ExecStoreBuffer

От
David Rowley
Дата:
On 26 September 2018 at 11:39, Andres Freund <andres@anarazel.de> wrote:
> src/backend/executor/nodeSeqscan.c        |  11 ++-

The change made to the above file leaves a misleading comment about
passing false to ExecStoreTuple().  A similar mistake exists in
nodeIndexscan.c

A patch was posted to remove them in
https://www.postgresql.org/message-id/CAMyN-kCq+fDLUSEN+TmUkpn5YGQCyKKR266tyEnJjOd_WT-SDQ@mail.gmail.com

-- 
 David Rowley                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services