Re: Table AM modifications to accept column projection lists

From: Nikita Malakhov <hukutoc(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Table AM modifications to accept column projection lists
Date: 2022-09-05 14:38:51
Message-ID: CAN-LCVO6MuE8_ZN0wJmAGiEZaEvAynTJiJPOpB4LVCP70TGrfQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi hackers!

Due to experiments with columnar data storage I've decided to revive this
thread -
Table AM modifications to accept column projection lists
<https://www.postgresql.org/message-id/flat/CAE-ML+9RmTNzKCNTZPQf8O3b-UjHWGFbSoXpQa3Wvuc8YBbEQw(at)mail(dot)gmail(dot)com>

To remind:

This patch introduces a set of changes to the table AM APIs, making them
accept a column projection list. That helps columnar table AMs, so that
they don't need to fetch all columns from disk, but only the ones
actually needed.

The set of changes in this patch is not exhaustive -
there are many more opportunities that are discussed in the TODO section
below. Before digging deeper, we want to elicit early feedback on the
API changes and the column extraction logic.

TableAM APIs that have been modified are:

1. Sequential scan APIs
2. Index scan APIs
3. API to lock and return a row
4. API to fetch a single row

We have seen performance benefits in Zedstore for many of the optimized
operations [0]. This patch is extracted from the larger patch shared in
[0].

--
Regards,
Nikita Malakhov
Postgres Professional
https://postgrespro.ru/

Attachment Content-Type Size
v5_0001-tableam-accept-column-projection.patch application/octet-stream 57.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marina Polyakova 2022-09-05 15:14:00 Re: ICU for global collation
Previous Message Aleksander Alekseev 2022-09-05 14:20:03 Re: Convert *GetDatum() and DatumGet*() macros to inline functions