pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Andres Freund <andres@anarazel.de>
To: Haribabu Kommi <kommi.haribabu@gmail.com>
Cc: Asim R P <apraveen@pivotal.io>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Cc: aagrawal@pivotal.io, Dmitry Dolgov <9erthalion6@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Alexander Korotkov <a.korotkov@postgrespro.ru>
Subject: Re: Pluggable Storage - Andres's take
Date: Mon, 10 Dec 2018 18:13:40 -0800
Message-ID: <20181211021340.mqaown4njtcgrjvr@alap3.anarazel.de> (raw )
In-Reply-To: <20181127015557.unah7opawwrvr3us@alap3.anarazel.de >
References: <CAJrrPGcB1jF52ogb_tshu04rjyaZN16isjOGWiQXCreDDcmRew@mail.gmail.com >
<CAJrrPGcpAH60ut6hAtFMi3ewymMJnEXvA=1QKK+LR7vJy4ZRXA@mail.gmail.com >
<CA+q6zcW=st1p9R1piOV6sgAEC3oDWYi9-96sPKJ0-4uTigGw1A@mail.gmail.com >
<CAJrrPGfHrQeGzqZwd=Bj96P9aubDH67kO8gf5mvynvRxXucq2g@mail.gmail.com >
<CA+q6zcXwJ8m0EvGONjnwE=xESJe1z5NPh43Q8kS8j+1o2M0agg@mail.gmail.com >
<CAJrrPGc5xE_sJbGNZJ7h8d5kWwS-0SspUKa2Vmi+nwEaBUYQFw@mail.gmail.com >
<CAJrrPGfS-ax=dySxD_B5Vg6sjXCSqN-9g7kmV8Oq_vsEST7uAw@mail.gmail.com >
<CANXE4TfZUZCg+afo+gpqiHF6O=rDfqt5a+3jTH2SD8FZ9Yd2pA@mail.gmail.com >
<CAJrrPGc66Bcv5_Lkw+6yqSzptEw2mh8o=JH05poNh4BZYuGN2w@mail.gmail.com >
<20181127015557.unah7opawwrvr3us@alap3.anarazel.de >
Hi,
On 2018-11-26 17:55:57 -0800, Andres Freund wrote:
> FWIW, now that oids are removed, and the tuple table slot abstraction
> got in, I'm working on rebasing the pluggable storage patchset ontop of
> that.
I've pushed a version to that to the git tree, including a rebased
version of zheap:
https://github.com/anarazel/postgres-pluggable-storage
https://github.com/anarazel/postgres-pluggable-zheap
I'm still working on moving some of the out-of-access/zheap
modifications into pluggable storage (see e.g. the first commit of the
pluggable-zheap series). But this should allow others to start on a more
recent codebasis.
My next steps are:
- make relation creation properly pluggable
- remove the typedefs from tableam.h, instead move them into the
TableAmRoutine struct.
- Move rs_{nblocks, startblock, numblocks} out of TableScanDescData
- Move HeapScanDesc and IndexFetchHeapData out of relscan.h
- See if the slot in SysScanDescData can be avoided, it's not exactly
free of overhead.
- remove ExecSlotCompare(), it's entirely unrelated to these changes imo
(and in the wrong place)
- rename HeapUpdateFailureData et al to not reference Heap
- split pluggable storage patchset, to commit earlier:
- EvalPlanQual slotification
- trigger slotification
- split of IndexBuildHeapScan out of index.c
I'm wondering whether we should add
table_beginscan/table_getnextslot/index_getnext_slot using the old API
in an earlier commit that then could be committed separately, allowing
the tablecmd.c changes to be committed soon.
I'm wondering whether we should change the table_beginscan* API so it
provides a slot - pretty much every caller has to do so, and it seems
just as easy to create/dispose via table_beginscan/endscan.
Further tasks I'm not yet planning to tackle, that I'd welcome help on:
- pg_dump support
- pg_upgrade testing
- I think we should consider removing HeapTuple->t_tableOid, it should
imo live entirely in the slot
Greetings,
Andres Freund
view thread (175+ messages) latest in thread
Message-ID: <20181211021340.mqaown4njtcgrjvr@alap3.anarazel.de>
Permalink: ../20181211021340.mqaown4njtcgrjvr@alap3.anarazel.de/
Also on: postgresql.org/message-id/20181211021340.mqaown4njtcgrjvr@alap3.anarazel.de
copy link · copy postgr.es
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: andres@anarazel.de, kommi.haribabu@gmail.com, apraveen@pivotal.io, 9erthalion6@gmail.com, alvherre@2ndquadrant.com, a.korotkov@postgrespro.ru
Subject: Re: Pluggable Storage - Andres's take
In-Reply-To: <20181211021340.mqaown4njtcgrjvr@alap3.anarazel.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox