On Sat, Jun 3, 2017 at 2:11 AM, Robert Haas <robertmh...@gmail.com> wrote: > > + errmsg("default partition contains row(s) > that would overlap with partition being created"))); > > It doesn't really sound right to talk about rows overlapping with a > partition. Partitions can overlap with each other, but not rows. > Also, it's not really project style to use ambiguously plural forms > like "row(s)" in error messages. Maybe something like: > > new partition constraint for default partition \"%s\" would be > violated by some row >
Partition constraint is implementation detail here. We enforce partition bounds through constraints and we call such constraints as partition constraints. But a user may not necessarily understand this term or may interpret it different. Adding "new" adds to the confusion as the default partition is not new. My suggestion in an earlier mail was ""default partition contains rows that conflict with the partition bounds of "part_xyz"", with a note that we should use a better word than "conflict". So, Jeevan seems to have used overlap, which again is not correct. How about "default partition contains row/s which would fit the partition "part_xyz" being created or attached." with a hint to move those rows to the new partition's table in case of attach. I don't think hint would be so straight forward i.e. to create the table with SELECT INTO and then ATTACH. What do you think? Also, the error code ERRCODE_CHECK_VIOLATION, which is an "integrity constraint violation" code, seems misleading. We aren't violating any integrity here. In fact I am not able to understand, how could adding an object violate integrity constraint. The nearest errorcode seems to be ERRCODE_INVALID_OBJECT_DEFINITION, which is also used for partitions with overlapping bounds. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers