Re: tablecmds: reject CLUSTER ON for partitioned tables earlier

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-17T06:14:29Z
Lists: pgsql-hackers

> On Mar 17, 2026, at 13:36, Michael Paquier <michael@paquier.xyz> wrote:
> 
> On Tue, Mar 17, 2026 at 09:12:13AM +0800, Chao Li wrote:
>> Anyway, I added the asserts in ATExecAddInherit() and
>> ATExecDropInherit() in v9. If you have a second thought, I can tune
>> it further.
> 
> I have removed the assertions at the end, after looking at the
> surroundings for hints.
> 
>> PFA v9:
>> * 0001 - added a NO INHERIT test case in typed_table.sql
>> * 0002 - added asserts in ATExecAddInherit and ATExecDropInherit.
> 
> The comments rmeoved from ATPrepAddInherit() were still not at the
> correct location.  CreateInheritance() is the routine in charge of the
> column and constraint checks.
> --
> Michael

Hi Michael, thank you very much for fixing the comment and pushing the patch.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







Commits

  1. Refactor some code around ALTER TABLE [NO] INHERIT

  2. Add regression test for ALTER TABLE .. NO INHERIT on typed tables

  3. Reject ALTER TABLE .. CLUSTER earlier for partitioned tables

  4. Ignore partitioned indexes where appropriate