mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
In COPY FROM, fail cleanly when unsupported encoding conversion is needed.
In recent releases, such cases fail with "cache lookup failed for function 0" rather than complaining that the conversion function doesn't exist as prior versions did. Seems to be a consequence of sloppy refactoring in commit f82de5c46. Add the missing error check. Per report from Pierre Fortin. Back-patch to v14 where the oversight crept in. Discussion: https://postgr.es/m/20230929163739.3bea46e5.pfortin@pfortin.com
This commit is contained in:
parent
2d4f99bc69
commit
a715c02122
@ -1334,6 +1334,12 @@ BeginCopyFrom(ParseState *pstate,
|
||||
cstate->need_transcoding = true;
|
||||
cstate->conversion_proc = FindDefaultConversionProc(cstate->file_encoding,
|
||||
GetDatabaseEncoding());
|
||||
if (!OidIsValid(cstate->conversion_proc))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_UNDEFINED_FUNCTION),
|
||||
errmsg("default conversion function for encoding \"%s\" to \"%s\" does not exist",
|
||||
pg_encoding_to_char(cstate->file_encoding),
|
||||
pg_encoding_to_char(GetDatabaseEncoding()))));
|
||||
}
|
||||
|
||||
cstate->copy_src = COPY_FILE; /* default */
|
||||
|
Loading…
x
Reference in New Issue
Block a user