From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Fix two issues with HEADER MATCH in COPY |
Date: | 2022-06-23 01:50:56 |
Message-ID: | E1o4Bzk-001Mag-Gc@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix two issues with HEADER MATCH in COPY
072132f0 used the attnum offset to access the raw_fields array when
checking that the attribute names of the header and of the relation
match, leading to incorrect results or even crashes if the attribute
numbers of a relation are changed, like on a dropped attribute. This
fixes the logic to use the correct attribute names for the header
matching requirements.
Also, this commit disallows HEADER MATCH in COPY TO as there is no
validation that can be done in this case.
The tests are expanded for HEADER MATCH with COPY FROM and dropped
columns, with cases where a relation has a dropped and re-added column,
as well as a reduced set of columns.
Author: Julien Rouhaud
Reviewed-by: Peter Eisentraut, Michael Paquier
Discussion: https://postgr.es/m/20220607154744.vvmitnqhyxrne5ms@jrouhaud
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/ca7a0d1d368216e89359c63531a4df0b99a437e4
Modified Files
--------------
doc/src/sgml/ref/copy.sgml | 2 ++
src/backend/commands/copy.c | 11 +++++++--
src/backend/commands/copyfromparse.c | 5 ++--
src/test/regress/expected/copy.out | 43 ++++++++++++++++++++++++++++++++++-
src/test/regress/sql/copy.sql | 44 +++++++++++++++++++++++++++++++++---
5 files changed, 97 insertions(+), 8 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2022-06-23 04:03:39 | pgsql: Fix memory leak due to LogicalRepRelMapEntry.attrmap. |
Previous Message | Andres Freund | 2022-06-23 00:01:08 | pgsql: pgstat: Mention pgstat_replslot.c in pgstat.c. |