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."


Reply via email to