{"push_id":759369441,"size":1,"distinct_size":1,"ref":"refs/heads/REL9_4_STABLE","head":"ff2ee45f2f3d528e1c95828a14ca8cbdfb9778d2","before":"c9b727310b4488a15795464a5fb1f3153738076a","commits":[{"sha":"ff2ee45f2f3d528e1c95828a14ca8cbdfb9778d2","author":{"email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us","name":"Tom Lane"},"message":"Improve documentation about MVCC-unsafe utility commands.\n\nThe table-rewriting forms of ALTER TABLE are MVCC-unsafe, in much the same\nway as TRUNCATE, because they replace all rows of the table with newly-made\nrows with a new xmin.  (Ideally, concurrent transactions with old snapshots\nwould continue to see the old table contents, but the data is not there\nanymore --- and if it were there, it would be inconsistent with the table's\nupdated rowtype, so there would be serious implementation problems to fix.)\nThis was nowhere documented though, and the problem was only documented for\nTRUNCATE in a note in the TRUNCATE reference page.  Create a new \"Caveats\"\nsection in the MVCC chapter that can be home to this and other limitations\non serializable consistency.\n\nIn passing, fix a mistaken statement that VACUUM and CLUSTER would reclaim\nspace occupied by a dropped column.  They don't reconstruct existing tuples\nso they couldn't do that.\n\nBack-patch to all supported branches.","distinct":true,"url":"https://api.github.com/repos/postgres/postgres/commits/ff2ee45f2f3d528e1c95828a14ca8cbdfb9778d2"}]}