Re: POC: postgres_fdw insert batching

Tomas Vondra <tomas.vondra@enterprisedb.com>

From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Zhihong Yu <zyu@yugabyte.com>
Cc: Amit Langote <amitlangote09@gmail.com>, "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>, "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-01-21T01:11:32Z
Lists: pgsql-hackers

On 1/21/21 2:02 AM, Zhihong Yu wrote:
> Hi, Tomas:
> In my opinion, my patch is a little better.
> Suppose one of the conditions in the if block changes in between the 
> start of loop and the end of the loop:
> 
>       * Determine if the FDW supports batch insert and determine the batch
>       * size (a FDW may support batching, but it may be disabled for the
>       * server/table).
> 
> My patch would reflect that change. I guess this was the reason the if / 
> else block was placed there in the first place.
> 

But can it change? All the loop does is extracting junk attributes from 
the plans, it does not modify anything related to the batching. Or maybe 
I just don't understand what you mean.


regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Commits

  1. Fix tuple routing to initialize batching only for inserts

  2. Fix pointer type in ExecForeignBatchInsert SGML docs

  3. Fix initialization of FDW batching in ExecInitModifyTable

  4. Implement support for bulk inserts in postgres_fdw