Re: Best practices: MERGE - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject Re: Best practices: MERGE
Date
Msg-id 422D6339.8010502@familyhealth.com.au
Whole thread Raw
In response to Re: Best practices: MERGE  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
> You can create a procedure to do that, but MERGE would work better.
> 
> ISTM that would require writing some new code that was a mix of
> heap_update and heap_insert logic for the low level stuff would be
> required. The existing heap_update code is most similar, since the logic
> is roughly
> 
> UPDATE WHERE.... (locate row)
> IF FOUND THEN
> INSERT (new row version)
> 
> though with various changes to row visibility stuff.
> 
> One might aim to do this in two stages:
> 1. initially support a single row upsert such as MySQL's REPLACE command
> 2. a full implementation of MERGE that used set logic as per the spec
> 
> ...

The main issue is dealing with merging into unique index race conditions.

Chris


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Cost of XLogInsert CRC calculations
Next
From: mchron@aueb.gr
Date:
Subject: ERROR: unrecognized node type in PostgresMain( )