hi. + /* Sort array of lower bounds. */ + qsort_arg(lower_bounds, nparts, sizeof(PartitionRangeBound *), + qsort_partition_rbound_cmp, (void *) key); here, we don't need ``(void *)``
+ALTER TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> + MERGE PARTITIONS (<replaceable class="parameter">partition_name1</replaceable>, <replaceable class="parameter">partition_name2</replaceable> [, ...]) + INTO <replaceable class="parameter">partition_name</replaceable> In the synopsis section, we can combine the last two lines into one for better formatting. after <varlistentry id="sql-altertable-parms-partition-name"> we can add the following to briefly explain parameters: partition_name1, partition_name2 <varlistentry id="sql-altertable-parms-partition-name1"> <term><replaceable class="parameter">partition_name1</replaceable></term> <term><replaceable class="parameter">partition_name2</replaceable></term> <listitem> <para> The names of the tables being merged into the new partition. </para> </listitem> </varlistentry> What do you think about alternative syntax: ALTER TABLE tab1 MERGE PARTITION part1 WITH (part2, part3) mentioned in [1]. I think we need to settle this issue before moving forward. If the current MERGE PARTITION design is finalized, then v48-0001 looks solid. [1] https://postgr.es/m/CA+TgmoY0=bT_xBP8csR=MFE=fxge2n2-me2-31jbogeclvw...@mail.gmail.com