One minor side note…   Is it weird for xmin/xmax to go backwards in a hot row 
chain?

lp | t_ctid | lp_off | t_infomask | t_infomask2 | t_xmin | t_xmax 
----+--------+--------+------------+-------------+--------+--------
  1 | (0,1)  |   8152 |       2818 |           3 |  36957 |      0
  2 |        |      5 |            |             |        |       
  3 |        |      0 |            |             |        |       
  4 |        |      0 |            |             |        |       
  5 | (0,6)  |   8112 |       9986 |       49155 |  36962 |  36963
  6 | (0,7)  |   8072 |       9986 |       49155 |  36963 |  36961
  7 | (0,7)  |   8032 |      11010 |       32771 |  36961 |      0
(7 rows)


On 10/3/17, 6:20 PM, "Peter Geoghegan" <p...@bowt.ie> wrote:

    On Tue, Oct 3, 2017 at 6:09 PM, Wood, Dan <hexp...@amazon.com> wrote:
    > I’ve just started looking at this again after a few weeks break.
    
    >                 if (TransactionIdIsValid(priorXmax) &&
    >                         !TransactionIdEquals(priorXmax, 
HeapTupleHeaderGetXmin(htup)))
    >                         break;
    
    > We need to understand why these TXID equal checks exist.  Can we 
differentiate the cases they are protecting against with the two exceptions 
I’ve found?
    
    I haven't read your remarks here in full, since I'm about to stop
    working for the day, but I will point out that
    src/backend/access/heap/README.HOT says a fair amount about this,
    under "Abort Cases".
    
    
    -- 
    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