Hi, Chao Li!

Thank you for the bug report, test script, and fix!

>> 0. A bound-overlap bug

I think this fix should be applied without much discussion:
------------------------------------------------------------------------
diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c
index 9b4277a4987..8b8f90569fe 100644
--- a/src/backend/partitioning/partbounds.c
+++ b/src/backend/partitioning/partbounds.c
@@ -5419,7 +5419,8 @@ check_partition_bounds_for_split_range(Relation parent, "ALTER TABLE ... SPLIT PARTITION"), parser_errposition(pstate, exprLocation((Node *) datum)));
                }
-               else
+
+               if (last)
                {
                        PartitionRangeBound *split_upper;
------------------------------------------------------------------------

>> 1. The documentation about splitting with a DEFAULT partition is a bit unclear
>>  ...
>> 2. I found this hint message confusing:
>> ...

Unfortunately, I cannot comment on these points; it would be good to get the opinion of people who know English well.


>> 3. SPLIT PARTITION currently provides another way to add a DEFAULT partition:
>> ...

Agreed, this is another way to add a DEFAULT partition. But I'm not sure that this way should be disabled (using the special function check_split_partition_not_same_bound)...
Maybe it's better to keep it "as is"?

--
With best regards,
Dmitry Koval

Postgres Professional: http://postgrespro.com


Reply via email to