Only evaluate default values as required when doing COPY FROM
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 1 Oct 2023 14:18:41 +0000 (10:18 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 1 Oct 2023 14:18:41 +0000 (10:18 -0400)
commit276393f53efbf08f72190221e9c1ef2a28e7fc66
tree0a321de871c594e30bf6a9d6b3af9535206b0913
parentb1a8dc846da4d96d903dcb5733f68a1e02d82a23
Only evaluate default values as required when doing COPY FROM

Commit 9f8377f7a2 was a little too eager in fetching default values.
Normally this would not matter, but if the default value is not valid
for the type (e.g. a varchar that's too long) it caused an unnecessary
error.

Complaint and fix from Laurenz Albe

Backpatch to release 16.

Discussion: https://postgr.es/m/75a7b7483aeb331aa017328d606d568fc715b90d.camel@cybertec.at
src/backend/commands/copyfrom.c
src/test/regress/expected/copy.out
src/test/regress/sql/copy.sql