Thanks everyone for the feedback. I attach a version with the fixes that were submitted, as well as some additional changes:
- I removed the restriction for tables inheritance and added the sample I showed to regression. - I added DO NOTHING support to the WHERE MATCHED case; it previously only covered WHERE NOT MATCHED. I was thinking earlier that it may be possible to clean up the parse_merge.c code by using another RangeTblRef to process the data source RTE. Haven't tried yet. This stuff is all in https://github.com/alvherre/postgres/commits/merge-15 -- Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/ "Nunca confiaré en un traidor. Ni siquiera si el traidor lo he creado yo" (Barón Vladimir Harkonnen)