On Thu, 24 Oct 2024 at 18:08, hugo <2689496754@qq.com> wrote:
>
> Hi!
>
> When looking at the partition-related code, I found that the ispartitioned
>
> field in CreateStmtContext is not used. It looks like we can safely remove it and
>
> avoid invalid assignment logic.
>
>
>
> Here's a very simple fix, any suggestion?
>
>
>
> diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
>
> index 1e15ce10b48..6dea85cc2dc 100644
>
> --- a/src/backend/parser/parse_utilcmd.c
>
> +++ b/src/backend/parser/parse_utilcmd.c
>
> @@ -89,7 +89,6 @@ typedef struct
>
> List *alist; /* "after list" of things to do after creating
>
> * the table */
>
> IndexStmt *pkey; /* PRIMARY KEY index, if any */
>
> - bool ispartitioned; /* true if table is partitioned */
>
> PartitionBoundSpec *partbound; /* transformed FOR VALUES */
>
> bool ofType; /* true if statement contains OF typename */
>
> } CreateStmtContext;
>
> @@ -246,7 +245,6 @@ transformCreateStmt(CreateStmt *stmt, const char *queryString)
>
> cxt.blist = NIL;
>
> cxt.alist = NIL;
>
> cxt.pkey = NULL;
>
> - cxt.ispartitioned = stmt->partspec != NULL;
>
> cxt.partbound = stmt->partbound;
>
> cxt.ofType = (stmt->ofTypename != NULL);
>
> @@ -3401,7 +3399,6 @@ transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,
>
> cxt.blist = NIL;
>
> cxt.alist = NIL;
>
> cxt.pkey = NULL;
>
> - cxt.ispartitioned = (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE);
>
> cxt.partbound = NULL;
>
> cxt.ofType = false;
>
>
>
> --
>
> Best regards,
>
> hugozhang
Hi, I noticed a change of cf entry, thanks!
Can you please also send your patch as attachment?
You need to do something like git format-patch -v1 -1 and attach resulting file
--
Best regards,
Kirill Reshke