pgsql: Fix performance problem with new COPY DEFAULT code

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix performance problem with new COPY DEFAULT code
Date: 2023-07-27 02:49:05
Message-ID: E1qOr3o-001WiC-MJ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix performance problem with new COPY DEFAULT code

9f8377f7a added code to allow COPY FROM insert a column's default value
when the input matches the DEFAULT string specified in the COPY command.

Here we fix some inefficient code which needlessly palloc0'd an array to
store if we should use the default value or input value for the given
column. This array was being palloc0'd and pfree'd once per row. It's
much more efficient to allocate this once and just reset the values once
per row.

Reported-by: Masahiko Sawada
Author: Masahiko Sawada
Discussion: https://postgr.es/m/CAD21AoDvDmUQeJtZrau1ovnT_smN940%3DKp6mszNGK3bq9yRN6g%40mail.gmail.com
Backpatch-through: 16, where 9f8377f7a was introduced.

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/c1308ce2d9224f0ec08128ab35e161837f9a5105

Modified Files
--------------
src/backend/commands/copyfrom.c | 1 +
src/backend/commands/copyfromparse.c | 4 +---
2 files changed, 2 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2023-07-27 04:30:35 pgsql: worker_spi: Switch to TAP tests
Previous Message David Rowley 2023-07-27 02:48:30 pgsql: Fix performance problem with new COPY DEFAULT code