Re: support for MERGE
От | Alvaro Herrera |
---|---|
Тема | Re: support for MERGE |
Дата | |
Msg-id | 202201202102.5ta7rb3vyvkh@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: support for MERGE (Jaime Casanova <jcasanov@systemguards.com.ec>) |
Список | pgsql-hackers |
On 2022-Jan-12, Jaime Casanova wrote: > I found two crashes, actually I found them on the original patch Álvaro > sent on november but just checked that those already exists. > > I configured with: > > CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer" ./configure --prefix=/opt/var/pgdg/15/merge --enable-debug --enable-depend--enable-cassert --with-llvm --enable-tap-tests --with-pgport=54315 > > And tested on the regression database. > > Attached the SQL files for the crashes and its respective stacktraces. > FWIW, the second crash doesn't appear to be caused by the MERGE patch > but I cannot trigger it other way. Thanks for this! The problem in the first crash was that when partitioned tables are being used and the topmost one has a tuple descriptor different from the partitions, we were doing the projection to the partition's slot using the root's tupledesc and a targetlist written for the root. The reason this crashed in such ugly way is that in this case the parent has 3 columns (2 dropped) while the partitions only have one, so the projection was trying to write to an attribute that didn't exist. I fixed it by making all NOT MATCHED actions use the root table's descriptor and slot. This change fixes both your reported crashes. I didn't look closely to see if the second one is caused by exactly the same issue. -- Álvaro Herrera Valdivia, Chile — https://www.EnterpriseDB.com/ Tom: There seems to be something broken here. Teodor: I'm in sackcloth and ashes... Fixed. http://archives.postgresql.org/message-id/482D1632.8010507@sigaev.ru
В списке pgsql-hackers по дате отправления: