On 12/15/17 5:31 PM, Peter Geoghegan wrote: > Commit d70cf811, from 2014, promoted an Assert() within > IndexBuildHeapScan() to a "can't happen" elog() error, in order to > detect when a parent tuple cannot be found for some heap-only tuple -- > if this happens, then it indicates corruption. I think that we should > make it a full ereport(), with an errcode of ERRCODE_DATA_CORRUPTION, > to match what Andres just added to code that deals with freezing (he > promoted Assert()s to errors, just like the 2014 commit, though he > went as far as making them ereport()s to begin with). Attached patch > does this. > > I propose a backpatch to 9.3, partially for the sake of tools like > amcheck, where users may only be on the lookout for > ERRCODE_DATA_CORRUPTION and ERRCODE_INDEX_CORRUPTED.
This patch applies, passes testing, and appears very straight-forward to me. Are there any tests for these conditions currently, or are you only doing that in amcheck? -- -David da...@pgmasters.net