Re: support for MERGE
От
Erik Rijkers
Тема
Re: support for MERGE
Дата
Msg-id
d5bf9a14-89df-2d1b-9f54-cec566f5e72b@xs4all.nl
Ответ на
Re: support for MERGE (Alvaro Herrera)
Список
Дерево обсуждения
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>
Op 13-01-2022 om 13:43 schreef Alvaro Herrera:
> Apologies, there was a merge failure and I failed to notice. Here's the
> correct patch.
>
> (This is also in github.com/alvherre/postgres/tree/merge-15)
> [20220113/v6-0001-MERGE-SQL-Command-following-SQL-2016.patch]
Good morning,
I got into this crash (may be the same as Jaime's):
#-----
# bash
t1=table1
t2=table2
psql -qX << SQL
drop table if exists $t1 cascade;
drop table if exists $t2 cascade;
create table $t1 as select /*cast(id::text as jsonb) js,*/ id from
generate_series(1,20) as f(id);
create table $t2 as select /*cast(id::text as jsonb) js,*/ id from
generate_series(1,20) as f(id);
delete from $t1 where id % 2 = 1;
delete from $t2 where id % 2 = 0;
( select 't1 - target', count(*) t1 from $t1
union all select 't2 - source', count(*) t2 from $t2 ) order by 1;
merge into $t1 as t1 using $t2 as t2 on t1.id = t2.id
when not matched and (t2.id > 10) and (t1.id > 10)
then do nothing
when not matched then insert values ( id )
when matched then do nothing ;
( select 't1 - target', count(*) t1 from $t1
union all select 't2 - source', count(*) t2 from $t2 ) order by 1 ;
SQL
#-----
Referencing alias 't1' in the WHEN NOT MATCHED member seems what
triggers his crash: when I remove the phrase 'and (t1.id > 10)', the
statement finishes correctly.
And I don't know if it is related but if I use this phrase:
when not matched and (id > 10)
I get:
ERROR: column "id" does not exist
LINE 2: when not matched and id > 0 -- (t2.id > 10) and (t1.id > 10)
^
HINT: There is a column named "id" in table "t1", but it cannot be
referenced from this part of the query.
Is that hint correct? Seems a bit strange.
Thanks,
Erik Rijkers
В списке pgsql-hackers по дате отправления
От: Pavel Stehule
Дата: