Re: Introduce new multi insert Table AM and improve performance of various SQL commands with it for Heap AM
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, PostgreSQL-development
<pgsql-hackers@postgresql.org>, Andres Freund <andres@anarazel.de>, Dilip
Kumar <dilipbalaut@gmail.com>, Luc Vlaming <luc@swarm64.com>, Justin Pryzby
<pryzby@telsasoft.com>, Michael Paquier <michael@paquier.xyz>, Matthias van
de Meent <boekewurm+postgres@gmail.com>, Alexander Korotkov
<aekorotkov@gmail.com>
Date: 2024-08-27T21:37:27Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
libpq: Fix some issues in TAP tests for service files
- 2c7bd2ba507e 18.0 cited
-
Multiple revisions to the GROUP BY reordering tests
- 874d817baa16 17.0 cited
-
Explore alternative orderings of group-by pathkeys during optimization.
- 0452b461bc40 17.0 cited
On Mon, 2024-08-26 at 11:09 +0530, Bharath Rupireddy wrote: > On Wed, Jun 5, 2024 at 12:42 PM Bharath Rupireddy > <bharath.rupireddyforpostgres@gmail.com> wrote: > > > > Please find the v22 patches with the above changes. > > Please find the v23 patches after rebasing 0005 and adapting 0004 for > 9758174e2e. In patches 0002-0004, they must avoid the multi insert path when there are before-row triggers, instead-of-row triggers, or volatile functions used (see copyfrom.c:917-1006). Also, until we decide on the RETURNING clause, we should block the multi-insert path for that, as well, or implement it by using the callback to copy tuples into the caller's context. In 0003, why do you need the global insert_modify_buffer_flush_context? 0004 is the only place that calls table_modify_buffer_flush(). Is that really necessary, or is automatic flushing enough? Regards, Jeff Davis