public inbox for [email protected]  
help / color / mirror / Atom feed
From: Alexander Korotkov <[email protected]>
To: Tender Wang <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Date: Sat, 20 Dec 2025 13:07:51 +0200
Message-ID: <CAPpHfdvs-U0HQWnhe8e7B=K5k=c9FvvA39UcqnmNoLqbkgAfjw@mail.gmail.com> (raw)
In-Reply-To: <CAHewXNmBM+5qbrJMu60NxPn+0y-=2wXM-QVVs3xRp8NxFvDb9A@mail.gmail.com>
References: <171085360143.2046436.7217841141682511557.pgcf@coridan.postgresql.org>
	<CAPpHfdsh_jPZ6-2JtWoFeZravVQYY4cYCcnKXQW6KxEx+F5vxg@mail.gmail.com>
	<[email protected]>
	<CACJufxF1Hfx1PST7pCLrKkGcjHEn2A51znXmYwVccnt5GDORcw@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<CACJufxET9Qe-=zJtjGrKPr7-1QbVcP9y-vJU9CMEDfPGt_dbyg@mail.gmail.com>
	<[email protected]>
	<CACJufxEBvrtcOWyX2NMwOCvb2ZvaRGaGeiMQpUD=yxL6ncBFOg@mail.gmail.com>
	<[email protected]>
	<CAPpHfdvSBR+sbsRCAybN949tOGArQvMH2QeDXf2L=7NDMNbJfw@mail.gmail.com>
	<[email protected]>
	<CAPpHfduQwwa4ytK-dGjRGN0fTWfpWNNysYuUKrOetsyGioBMfA@mail.gmail.com>
	<[email protected]>
	<CAPpHfdvpzezTnuumpdJYge=x1TbhgAkjMGh2GHnScf5SFsf2ew@mail.gmail.com>
	<[email protected]>
	<CAPpHfdtBH5YhAiKhXPcLAE4CCRMaGKqupzx8u2RKEm2aQ_e3Xw@mail.gmail.com>
	<CA+gpmfLSELzEKEzSFXeLkRRMGkRfm2+7ewXHyW-8ZWPbWOywyg@mail.gmail.com>
	<CAPpHfdtnWkesztu4qq1m8RfuR2OYXd5tbPyaHk-3Db2szWrb=Q@mail.gmail.com>
	<CAPpHfdta0DMb3XjePJJWf1xbAndE8w2uYPaWEOFBGQ=xsDkfiQ@mail.gmail.com>
	<[email protected]>
	<CAPpHfdvt64X0F3thjC0q9vOTU-JqG2M_MJfEeA2-_=odNOA3Dg@mail.gmail.com>
	<[email protected]>
	<CAPpHfdu8wPv6hes7v95fF__N1pkPG1yS3YumKUGmS_jdF2RtrA@mail.gmail.com>
	<CAHewXNmBM+5qbrJMu60NxPn+0y-=2wXM-QVVs3xRp8NxFvDb9A@mail.gmail.com>

Hi Tender,

On Sat, Dec 20, 2025 at 5:18 AM Tender Wang <[email protected]> wrote:
> I found this feature merged; thanks for this work.
> I tested it and found that one place in the error errcode may need to be changed.
> In checkPartition():
> ...
> if (get_partition_parent(partRelOid, false) != RelationGetRelid(rel))
>     ereport(ERROR,
>     errcode(ERRCODE_UNDEFINED_TABLE),
>     errmsg("relation \"%s\" is not a partition of relation \"%s\"",
> ...
>
> ERRCODE_UNDEFINED_TABLE usually means "table does not exist."
> When entering here, the table should exist, otherwise table_open() already reports an error.
> I found another two errcode in checkPartition() use ERRCODE_WRONG_OBJECT_TYPE,
> In the attached patch, I replace ERRCODE_UNDEFINED_TABLE with ERRCODE_WRONG_OBJECT_TYPE.

I agree with you that ERRCODE_UNDEFINED_TABLE is certainly wrong error
code because the table actually exists.  ERRCODE_WRONG_OBJECT_TYPE is
better.  For example, we throw it when trying to attach a partition to
non-partitioned table.  So, the parent table type is wrong.  However,
are objects in the situation under consideration really have wrong
type?  The problem is that one table is not partition of another.
However, it's possibly that they could be attached without changing of
their types.  So, I think about
ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE.  What do you think?

------
Regards,
Alexander Korotkov
Supabase





view thread (165+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
  In-Reply-To: <CAPpHfdvs-U0HQWnhe8e7B=K5k=c9FvvA39UcqnmNoLqbkgAfjw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox