Thread

  1. Re: Add SPLIT PARTITION/MERGE PARTITIONS commands

    Kirill Reshke <reshkekirill@gmail.com> — 2025-12-20T11:37:57Z

    On Sat, 20 Dec 2025 at 16:27, Alexander Korotkov <aekorotkov@gmail.com> wrote:
    >
    > On Sat, Dec 20, 2025 at 1:15 PM jian he <jian.universality@gmail.com> wrote:
    > > On Sat, Dec 20, 2025 at 6:42 PM Alexander Korotkov <aekorotkov@gmail.com> wrote:
    > > >
    > > > Hi Kirill!
    > >
    > > > > reshke=# alter table only z merge partitions (z_1,z_2) into z_12;
    > > > > ALTER TABLE
    > > > > reshke=#
    > > > >
    > > > > ```
    > > > >
    > > > > IMO "alter table only ... merge partitions" does not make perfect
    > > > > sense and should be rejected rather than executed. WDYT?
    > > >
    > > > Could you, please, clarify your point? I didn't quite get it.  It
    > > > looks like pretty basic example of merging two adjacent partitions.
    > > >
    > >
    > > > reshke=# alter table only z merge partitions (z_1,z_2) into z_12;
    > > I think it should fail, because we are not applying to table "z" itself,
    > > For Split/Merge partitions, we are processing the whole partitioned
    > > table z hierarchy.
    > >
    > > alter table z merge partitions (z_1,z_2) into z_12;
    > > should work.
    > >
    > > I guess the attached maybe is what Krill wants.
    
    
    Jian, Thank, you got me right. Your patch is addressing the problem I
    talk about, yes. The only issue about your patch is the actual error
    message (error hint is exactly on point.)
    
    So, instead of
    
    ```
    +ERROR:  ALTER TABLE MERGE PARTITIONS must apply to child tables too
    +HINT:  Do not specify the ONLY keyword.
    ``
    
    I would prefer (something like)
    
    ```
    +ERROR:  ALTER TABLE MERGE PARTITIONS is a non-recursive command.
    +HINT:  Do not specify the ONLY keyword.
    ``
    
    On Sat, 20 Dec 2025 at 16:27, Alexander Korotkov <aekorotkov@gmail.com> wrote:
    
    >  I don't think the problem with ONLY keyword is
    > that MERGE/SPLIT must be always recursive.  I think opposite, it's
    > always non-recursive and this is why ONLY is meaningless.  Otherwise,
    > we may decide to just leave it as it allowing ONLY.
    
    +1
    
    
    -- 
    Best regards,
    Kirill Reshke