On Wed, Jan 15, 2014 at 8:23 PM, Peter Geoghegan <p...@heroku.com> wrote:
> I have an idea of what I could do to fix this, but I don't have time
> to make sure that my hunch is correct.

It might just be a matter of:

@@ -186,6 +186,13 @@ ExecLockHeapTupleForUpdateSpec(EState *estate,
        switch (test)
        {
                case HeapTupleInvisible:
+                       /*
+                        * Tuple may have originated from this command, in 
which case it's
+                        * already locked
+                        */
+                       if 
(TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetRawXmin(tuple.t_data))
&&
+                               HeapTupleHeaderGetCmin(tuple.t_data) == 
estate->es_output_cid)
+                               return true;
                        /* Tuple became invisible;  try again */
                        if (IsolationUsesXactSnapshot())
                                ereport(ERROR,

-- 
Peter Geoghegan


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to