Why not based it on "Exclusion Constraint" ? Most discussions as of late seems to focus on Range overlaps which appeal (I would think) is that it supports both "equality" and "overlaps", two popular partitioning schemes.
"Equality" as in "value1 = value2" can be implemented with "range overlaps" as "range(value1,value) = range(value,value2)". I would think that Partitioning schemes can be Declarative, Efficient and not restricted to Equality and Overlaps as long as all partitions (of a partitioned table) are using a single partitioning definition expressed as: - An Immutable Expression on tuple columns, in the simplest case a single column - An Operator, in the simplest case, "equality" That seems very close to the semantic of "Constraint Exclusion" as described here: http://thoughts.davisjeff.com/2010/09/25/exclusion-constraints-are-general ized-sql-unique/ If partitioning could be based on EC, it would bring these additional benefits: - The choice of operator as long as it is boolean. commutative and Indexable - The use of Expression/Function and not just bare columns Jean-Pierre Pelletier -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers