On Mon, Sep 14, 2020 at 3:39 PM Peter Geoghegan <p...@bowt.ie> wrote: > I think that they are an exact match in practice (i.e. nBlocksWritten > == nBlocksAllocated), given when and how we call > LogicalTapeSetBlocks().
Just to be clear: this is only true for external sorts. The preallocation stuff can make nBlocksAllocated quite a lot higher. That's probably why adding a new "Assert(lts->nBlocksWritten == lts->nBlocksAllocated)" assertion fails during the regression tests, though there might be other reasons as well (I'm thinking of the LogicalTapeRewindForRead() inconsistency Jeff mentioned). -- Peter Geoghegan