From 11ed011ae22a620b01a43634b5eea2f9af5c709c Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Wed, 15 Jul 2026 21:22:38 +0900 Subject: [PATCH] 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 Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/4bf66c5e-8dd7-4ef3-8691-db67ecff6f16@tantorlabs.com Backpatch-through: 18 --- src/backend/statistics/attribute_stats.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/statistics/attribute_stats.c b/src/backend/statistics/attribute_stats.c index 48e0df391e2..4774e443f38 100644 --- a/src/backend/statistics/attribute_stats.c +++ b/src/backend/statistics/attribute_stats.c @@ -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}