pgsql: Revert "Allow ON CONFLICT .. DO NOTHING on a partitionedtable."

Поиск
Список
Период
Сортировка
От Robert Haas
Тема pgsql: Revert "Allow ON CONFLICT .. DO NOTHING on a partitionedtable."
Дата
Msg-id E1cu3XK-0005Kr-8t@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Revert "Allow ON CONFLICT .. DO NOTHING on a partitioned table."

This reverts commit 8355a011a0124bdf7ccbada206a967d427039553, which
turns out to have been a misguided effort.  We can't really support
this in a partitioning hierarchy after all for exactly the reasons
stated in the documentation removed by that commit.  It's still
possible to use ON CONFLICT .. DO NOTHING (or for that matter ON
CONFLICT .. DO UPDATE) on individual partitions if desired, but
but to allow this on a partitioned table implies that we have some
way of evaluating uniqueness across the whole partitioning
hierarchy, which is false.

Shinoda Noriyoshi noticed that the old code was crashing (which we
could fix, though not in a nice way) and Amit Langote realized
that this was indicative of a fundamental problem with the commit
being reverted here.

Discussion: http://postgr.es/m/ff3dc21d-7204-c09c-50ac-cf11a8c45c81@lab.ntt.co.jp

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f05230752d53c4aa74cffa9b699983bbb6bcb118

Modified Files
--------------
doc/src/sgml/ddl.sgml                         |  8 ++------
src/backend/parser/analyze.c                  |  8 ++++++++
src/test/regress/expected/insert_conflict.out | 10 ----------
src/test/regress/sql/insert_conflict.sql      | 10 ----------
4 files changed, 10 insertions(+), 26 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: pgsql: Don't allocate storage for partitioned tables.
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Improve documentation for table partitioning.