mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Improve error message when skipping scan of default partition.
It seems like a good idea to clearly distinguish between skipping the scan of the new partition itself and skipping the scan of the default partition. Amit Langote Discussion: http://postgr.es/m/1f08b844-0078-aa8d-452e-7af3bf77d05f@lab.ntt.co.jp
This commit is contained in:
parent
e9baa5e9fa
commit
c31e9d4baf
@ -13635,9 +13635,14 @@ ValidatePartitionConstraints(List **wqueue, Relation scanrel,
|
|||||||
*/
|
*/
|
||||||
if (PartConstraintImpliedByRelConstraint(scanrel, partConstraint))
|
if (PartConstraintImpliedByRelConstraint(scanrel, partConstraint))
|
||||||
{
|
{
|
||||||
|
if (!validate_default)
|
||||||
ereport(INFO,
|
ereport(INFO,
|
||||||
(errmsg("partition constraint for table \"%s\" is implied by existing constraints",
|
(errmsg("partition constraint for table \"%s\" is implied by existing constraints",
|
||||||
RelationGetRelationName(scanrel))));
|
RelationGetRelationName(scanrel))));
|
||||||
|
else
|
||||||
|
ereport(INFO,
|
||||||
|
(errmsg("updated partition constraint for default partition \"%s\" is implied by existing constraints",
|
||||||
|
RelationGetRelationName(scanrel))));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3436,7 +3436,7 @@ ALTER TABLE part_7 ATTACH PARTITION part_7_a_null FOR VALUES IN ('a', null);
|
|||||||
INFO: partition constraint for table "part_7_a_null" is implied by existing constraints
|
INFO: partition constraint for table "part_7_a_null" is implied by existing constraints
|
||||||
ALTER TABLE list_parted2 ATTACH PARTITION part_7 FOR VALUES IN (7);
|
ALTER TABLE list_parted2 ATTACH PARTITION part_7 FOR VALUES IN (7);
|
||||||
INFO: partition constraint for table "part_7" is implied by existing constraints
|
INFO: partition constraint for table "part_7" is implied by existing constraints
|
||||||
INFO: partition constraint for table "list_parted2_def" is implied by existing constraints
|
INFO: updated partition constraint for default partition "list_parted2_def" is implied by existing constraints
|
||||||
-- Same example, but check this time that the constraint correctly detects
|
-- Same example, but check this time that the constraint correctly detects
|
||||||
-- violating rows
|
-- violating rows
|
||||||
ALTER TABLE list_parted2 DETACH PARTITION part_7;
|
ALTER TABLE list_parted2 DETACH PARTITION part_7;
|
||||||
@ -3450,7 +3450,7 @@ SELECT tableoid::regclass, a, b FROM part_7 order by a;
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
ALTER TABLE list_parted2 ATTACH PARTITION part_7 FOR VALUES IN (7);
|
ALTER TABLE list_parted2 ATTACH PARTITION part_7 FOR VALUES IN (7);
|
||||||
INFO: partition constraint for table "list_parted2_def" is implied by existing constraints
|
INFO: updated partition constraint for default partition "list_parted2_def" is implied by existing constraints
|
||||||
ERROR: partition constraint is violated by some row
|
ERROR: partition constraint is violated by some row
|
||||||
-- check that leaf partitions of default partition are scanned when
|
-- check that leaf partitions of default partition are scanned when
|
||||||
-- attaching a partitioned table.
|
-- attaching a partitioned table.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user