Re: [HACKERS] MERGE SQL Statement for PG11

Pavan Deolasee <pavan.deolasee@gmail.com>

From: Pavan Deolasee <pavan.deolasee@gmail.com>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Simon Riggs <simon@2ndquadrant.com>, Peter Geoghegan <pg@bowt.ie>, Robert Haas <robertmhaas@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, Pavan Deolasee <pavan.deolasee@2ndquadrant.com>, Stephen Frost <sfrost@snowman.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-03-23T04:57:30Z
Lists: pgsql-hackers
On Fri, Mar 23, 2018 at 10:00 AM, Amit Langote <
Langote_Amit_f8@lab.ntt.co.jp> wrote:

> On 2018/03/23 3:42, Pavan Deolasee wrote:
> > A slightly improved version attached. Apart from doc cleanup based on
> > earlier feedback, fixed one assertion failure based on Rahila's report.
> > This was happening when target relation is referenced in the source
> > subquery. Fixed that and added a test case to test that situation.
> >
> > Rebased on current master.
>
> I tried these patches (applied 0002 on top of 0001).  When applying 0002,
> I got some apply errors:
>
> The next patch would create the file
> src/test/isolation/expected/merge-delete.out,
> which already exists!  Assume -R? [n]
>
> I managed to apply it by ignoring the errors, but couldn't get make check
> to pass; attached regressions.diffs if you want to take a look.
>


Thanks. Are you sure you're using a clean repo? I suspect you'd a previous
version of the patch applied and hence the apply errors now. I also suspect
that you may have made a mistake while resolving the conflicts while
applying the patch (since a file at the same path existed). The failures
also seem related to past version of the patch.

I just checked with a freshly checked out repo and the patches apply
correctly on the current master and regression passes too.
http://commitfest.cputube.org/ also reported success overnight.



>
> Btw, is 0001 redundant with the latest patch on ON CONFLICT DO UPDATE
> thread?  Can I apply just 0002 on top of that patch?  So, I tried that --
> that is, skipped your 0001 and instead applied ON CONFLICT DO UPDATE
> patch, and then applied your 0002.


Yes.  I should probably rebase my patch on your v9 or just include the
relevant changes in the MERGE patch itself to avoid any dependency right
now. Will check.

Thanks,
Pavan

-- 
 Pavan Deolasee                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Commits

  1. Add support for MERGE SQL command

  2. Add API of sorts for transition table handling in trigger.c

  3. Revert MERGE patch

  4. Fix several bugs related to ON CONFLICT's EXCLUDED pseudo relation.