1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

Fix argument names in pg_clear_attribute_stats() errors

pg_clear_attribute_stats() checks its required arguments manually
because the function is not strict. Previously, when schemaname or
relname was passed as NULL, the error incorrectly reported the
argument name as "relation" in both cases:

    ERROR:  argument "relation" must not be null

This was misleading, especially for schemaname, and inconsistent with
the function's SQL-visible argument names.

The cause is that cleararginfo[] in attribute_stats.c used
"relation" for both the schema-name and relation-name arguments.

This commit fixes the issue by using "schemaname" and "relname" instead,
matching the function's declared argument names so that the error reports
the correct argument name.

Backpatch to v18, where pg_clear_attribute_stats() was introduced.

Author: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/4bf66c5e-8dd7-4ef3-8691-db67ecff6f16@tantorlabs.com
Backpatch-through: 18
This commit is contained in:
Fujii Masao
2026-07-15 21:22:38 +09:00
parent f38afa4abb
commit 11ed011ae2

View File

@@ -97,8 +97,8 @@ enum clear_attribute_stats_argnum
static struct StatsArgInfo cleararginfo[] =
{
[C_ATTRELSCHEMA_ARG] = {"relation", TEXTOID},
[C_ATTRELNAME_ARG] = {"relation", TEXTOID},
[C_ATTRELSCHEMA_ARG] = {"schemaname", TEXTOID},
[C_ATTRELNAME_ARG] = {"relname", TEXTOID},
[C_ATTNAME_ARG] = {"attname", TEXTOID},
[C_INHERITED_ARG] = {"inherited", BOOLOID},
[C_NUM_ATTRIBUTE_STATS_ARGS] = {0}