Re: support for MERGE

Поиск
Список
Период
Сортировка
Искать
От
Alvaro Herrera
Тема
Re: support for MERGE
Дата
Msg-id
202203191048.fejpvy4fld7d@alvherre.pgsql
Ответ на
Re: support for MERGE (Simon Riggs)
Список
Дерево обсуждения
support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: support for MERGE Simon Riggs <simon.riggs@enterprisedb.com>
Re: support for MERGE Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Vik Fearing <vik@postgresfriends.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Daniel Westermann <dwe@dbi-services.com>
Re: support for MERGE Álvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Amit Langote <amitlangote09@gmail.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Andres Freund <andres@anarazel.de>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Tom Lane <tgl@sss.pgh.pa.us>
Re: support for MERGE Daniel Gustafsson <daniel@yesql.se>
Re: support for MERGE Julien Rouhaud <rjuju123@gmail.com>
Re: support for MERGE Álvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Álvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Álvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Simon Riggs <simon.riggs@enterprisedb.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Amit Langote <amitlangote09@gmail.com>
Re: support for MERGE Amit Langote <amitlangote09@gmail.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Should use MERGE use BulkInsertState ? Justin Pryzby <pryzby@telsasoft.com>
Re: Should use MERGE use BulkInsertState ? Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: Should use MERGE use BulkInsertState ? Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Japin Li <japinli@hotmail.com>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Japin Li <japinli@hotmail.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Justin Pryzby <pryzby@telsasoft.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Erik Rijkers <er@xs4all.nl>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Zhihong Yu <zyu@yugabyte.com>
Re: support for MERGE Japin Li <japinli@hotmail.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Robert Haas <robertmhaas@gmail.com>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE David Steele <david@pgmasters.net>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE David Steele <david@pgmasters.net>
Re: support for MERGE Bruce Momjian <bruce@momjian.us>
Re: support for MERGE Magnus Hagander <magnus@hagander.net>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Magnus Hagander <magnus@hagander.net>
Re: support for MERGE Daniel Gustafsson <daniel@yesql.se>
Re: support for MERGE Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: support for MERGE Daniel Gustafsson <daniel@yesql.se>
On 2022-Mar-10, Simon Riggs wrote:

> Duplicate rows should produce a uniqueness violation error in one of
> the transactions, assuming there is a constraint to define the
> conflict. Without such a constraint there is no conflict.
> 
> Concurrent inserts are checked by merge-insert-update.spec, which
> correctly raises an ERROR in this case, as documented.

Agreed -- I think this is reasonable.

> Various cases were not tested in the patch - additional patch
> attached, but nothing surprising there.

Thank you, I've included this in all versions of the patch since you
sent it.

> ExecInsert() does not return from such an ERROR, so the code fragment
> appears correct to me.

I think trying to deal with it in a different way (namely: suspend
processing the inserting WHERE NOT MATCHED clause and switch to
processing the row using WHERE MATCHED clauses) would require us use
speculative tokens, similar to the way INSERT ON CONFLICT does.  I'm not
sure we want to go there, but it seems okay to leave that for a later
patch.  Moreover, there would be no compatibility hit from doing so.

-- 
Álvaro Herrera              Valdivia, Chile  —  https://www.EnterpriseDB.com/
"La persona que no quería pecar / estaba obligada a sentarse
 en duras y empinadas sillas    / desprovistas, por cierto
 de blandos atenuantes"                          (Patricio Vogel)


В списке pgsql-hackers по дате отправления
От: Michael Paquier
Дата:
От: Hannu Krosing
Дата:
FAQ