Re: Add SPLIT PARTITION/MERGE PARTITIONS commands

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Dmitry Koval <d(dot)koval(at)postgrespro(dot)ru>
Cc: Alexander Lakhin <exclusion(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Date: 2024-04-22 10:31:48
Message-ID: CAPpHfdtB9L1C7HLE30WDQfQQgUZo5P+5=9kLr5vQSpDZ-2AV_A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

On Fri, Apr 19, 2024 at 4:29 PM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
> On Fri, Apr 19, 2024 at 2:26 AM Dmitry Koval <d(dot)koval(at)postgrespro(dot)ru> wrote:
> > 18.04.2024 19:00, Alexander Lakhin wrote:
> > > leaves a strange constraint:
> > > \d+ t*
> > > Table "public.tp_0"
> > > ...
> > > Not-null constraints:
> > > "merge-16385-26BCB0-tmp_i_not_null" NOT NULL "i"
> >
> > Thanks!
> > Attached fix (with test) for this case.
> > The patch should be applied after patches
> > v6-0001- ... .patch ... v6-0004- ... .patch
>
> I've incorporated this fix with 0001 patch.
>
> Also added to the patchset
> 005 – tab completion by Dagfinn [1]
> 006 – draft fix for table AM issue spotted by Alexander Lakhin [2]
> 007 – doc review by Justin [3]
>
> I'm continuing work on this.
>
> Links
> 1. https://www.postgresql.org/message-id/87plumiox2.fsf%40wibble.ilmari.org
> 2. https://www.postgresql.org/message-id/84ada05b-be5c-473e-6d1c-ebe5dd21b190%40gmail.com
> 3. https://www.postgresql.org/message-id/ZiGH0xc1lxJ71ZfB%40pryzbyj2023

0001
The way we handle name collisions during MERGE PARTITIONS operation is
reworked by integration of patch [3]. This makes note about commit in
[2] not relevant.

0002
The persistence of the new partition is copied as suggested in [1].
But the checks are in-place, because search_path could influence new
table persistence. Per review [2], commit message typos are fixed,
documentation is revised, revised tests to cover schema-qualification,
usage of search_path.

0003
Making code more clear that we're not going to dereference the NULL
datum per note in [2].

0004
Gender-neutral terms are used per suggestions in [2].

0005
Commit message revised

0006
Revise documentation mentioning we're going to copy the parent's table
AM. Regression tests are added. Commit message revised.

0007
Commit message revised

Links
1. https://www.postgresql.org/message-id/CA%2BTgmoYcjL%2Bw2BQzku5iNXKR5fyxJMSP3avQta8xngioTX7D7A%40mail.gmail.com
2. https://www.postgresql.org/message-id/CA%2BTgmoY_4r6BeeSCTim04nAiCmmXg-1pG1toxQovZOP2qaFJ0A%40mail.gmail.com
3. https://www.postgresql.org/message-id/f8b5cbf5-965e-4e5b-b506-33bbf41b0d50%40postgrespro.ru

------
Regards,
Alexander Korotkov

Attachment Content-Type Size
v8-0003-Fix-error-message-in-check_partition_bounds_for_s.patch application/octet-stream 4.0 KB
v8-0004-Rename-tables-in-tests-of-partition-MERGE-SPLIT-o.patch application/octet-stream 205.0 KB
v8-0002-Make-new-partitions-with-parent-s-persistence-dur.patch application/octet-stream 37.6 KB
v8-0005-Add-tab-completion-for-partition-MERGE-SPLIT-oper.patch application/octet-stream 2.7 KB
v8-0001-Change-the-way-ATExecMergePartitions-handles-the-.patch application/octet-stream 7.5 KB
v8-0006-Inherit-parent-s-AM-for-partition-MERGE-SPLIT-ope.patch application/octet-stream 9.3 KB
v8-0007-Grammar-fixes-for-documentation-of-partition-MERG.patch application/octet-stream 6.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bertrand Drouvot 2024-04-22 10:52:21 Re: Avoid orphaned objects dependencies, take 3
Previous Message Alvaro Herrera 2024-04-22 10:22:23 Re: cataloguing NOT NULL constraints