Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: jian he <jian(dot)universality(at)gmail(dot)com>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Kirill Reshke <reshkekirill(at)gmail(dot)com>
Subject: Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt
Date: 2025-11-13 08:24:52
Message-ID: 202511130823.vppi3clyjl4r@alvherre.pgsql
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2025-Nov-13, jian he wrote:

> @@ -15658,10 +15658,19 @@ ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd,
> querytree_list = list_concat(querytree_list, afterStmts);
> }
> else if (IsA(stmt, CreateStatsStmt))
> + {
> + RangeTblEntry *rte;
> + CreateStatsStmt *ss = castNode(CreateStatsStmt, stmt);
> +
> + rte = makeNode(RangeTblEntry);
> + rte->rtekind = RTE_RELATION;
> + rte->relid = oldRelId;
> + rte->rellockmode = ShareUpdateExclusiveLock;
> + ss->rtable = list_make1(rte);
> +
> querytree_list = lappend(querytree_list,
> - transformStatsStmt(oldRelId,
> - (CreateStatsStmt *) stmt,
> - cmd));
> + transformStatsStmt(ss, cmd));
> + }
> else
> querytree_list = lappend(querytree_list, stmt);
> }

Hmm, how would this part here work in the hypothetical world where a
stats object references multiple relations?

--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"No renuncies a nada. No te aferres a nada."

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Chao Li 2025-11-13 08:29:50 Re: Checkpointer write combining
Previous Message Álvaro Herrera 2025-11-13 08:20:41 Re: [PATCH] Add pg_get_subscription_ddl() function