pgsql: Fix list partition constraints for partition keys of arraytype.
От | Robert Haas |
---|---|
Тема | pgsql: Fix list partition constraints for partition keys of arraytype. |
Дата | |
Msg-id | E1egzci-0004sh-99@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix list partition constraints for partition keys of array type. The old code generated always generated a constraint of the form col = ANY(ARRAY[val1, val2, ...]), but that's invalid when col is an array type. Instead, generate col = val when there's only one value, col = val1 OR col = val2 OR ... when there are multiple values and col is of array type, and the old form when there are multiple values and col is not of an array type. As a side benefit, this makes constraint exclusion able to prune a list partition declared to accept a single Boolean value, which didn't work before. Amit Langote, reviewed by Etsuro Fujita Discussion: http://postgr.es/m/97267195-e235-89d1-a41a-c110198dfce9@lab.ntt.co.jp Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/3ccdc6f9a5876d0953912fd589989387764ed9a3 Modified Files -------------- src/backend/catalog/partition.c | 98 ++++++++++++++++++--------- src/test/regress/expected/create_table.out | 18 ++++- src/test/regress/expected/foreign_data.out | 6 +- src/test/regress/expected/partition_prune.out | 8 +-- src/test/regress/sql/create_table.sql | 6 ++ 5 files changed, 93 insertions(+), 43 deletions(-)
В списке pgsql-committers по дате отправления: