Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt
Date
Msg-id 202511130823.vppi3clyjl4r@alvherre.pgsql
Whole thread Raw
In response to Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt  (jian he <jian.universality@gmail.com>)
Responses Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt
List 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."



pgsql-hackers by date:

Previous
From: Álvaro Herrera
Date:
Subject: Re: [PATCH] Add pg_get_subscription_ddl() function
Next
From: Chao Li
Date:
Subject: Re: Checkpointer write combining