Report specific SQLSTATEs for stats restore errors The pg_restore_*_stats() functions could report SQLSTATE XX000 for invalid variadic arguments, such as an unmatched name/value pair, a NULL argument name, or a non-text argument name. Attribute and extended statistics restores could also report XX000 when the supplied statistics exceed the number of slots PostgreSQL can store.
These are not internal errors. They result from invalid caller input or a PostgreSQL implementation limit, but the lack of specific SQLSTATEs made clients treat them as internal errors. Assign appropriate SQLSTATEs to these errors so that applications and tests can classify them correctly. Backpatch to v19, but no further; changing ERRCODE assignments in released stable branches doesn't seem like a good idea. Bug: #19629 Reported-by: Zheng Wang <[email protected]> Reported-by: Yanjie Zhao Reported-by: Yiyang Liu Author: Fujii Masao <[email protected]> Discussion: https://postgr.es/m/[email protected] Backpatch-through: 19 Branch ------ REL_19_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/4c5291435d40a0cf02b131b680a71e42243fcd04 Modified Files -------------- src/backend/statistics/stat_utils.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
