On Thu, Jul 25, 2013 at 07:24:53PM -0400, Robert Haas wrote:
> -             /* Used by pre-9.0 binary upgrades */
> -             if (tuple->t_infomask & HEAP_MOVED_OFF)
> -             {
> -                     TransactionId xvac = HeapTupleHeaderGetXvac(tuple);
> -
> -                     if (TransactionIdIsCurrentTransactionId(xvac))
> -                             return false;
> -                     if (!TransactionIdIsInProgress(xvac))
> -                     {
> -                             if (TransactionIdDidCommit(xvac))
> -                             {
> -                                     SetHintBits(tuple, buffer, 
> HEAP_XMIN_INVALID,
> -                                                             
> InvalidTransactionId);
> -                                     return false;
> -                             }
> -                             SetHintBits(tuple, buffer, HEAP_XMIN_COMMITTED,
> -                                                     InvalidTransactionId);
> -                     }
> -             }
> -             /* Used by pre-9.0 binary upgrades */
> -             else if (tuple->t_infomask & HEAP_MOVED_IN)
> -             {
> -                     TransactionId xvac = HeapTupleHeaderGetXvac(tuple);
> -
> -                     if (!TransactionIdIsCurrentTransactionId(xvac))
> -                     {
> -                             if (TransactionIdIsInProgress(xvac))
> -                                     return false;
> -                             if (TransactionIdDidCommit(xvac))
> -                                     SetHintBits(tuple, buffer, 
> HEAP_XMIN_COMMITTED,
> -                                                             
> InvalidTransactionId);
> -                             else
> -                             {
> -                                     SetHintBits(tuple, buffer, 
> HEAP_XMIN_INVALID,
> -                                                             
> InvalidTransactionId);
> -                                     return false;
> -                             }
> -                     }
> -             }

One interesting aspect of this patch is that the backend code is no
longer even checking HEAP_MOVED_OFF and HEAP_MOVED_IN.  However, we
can't reuse those bits because they could be set from pre-9.0 rows.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


-- 
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