On 2019-Jun-27, Tom Lane wrote: > FWIW, the proposed patch doesn't seem to me like it adds much more > BRIN-specific knowledge to brincostestimate than is there already.
It's this calculation that threw me off: statsData.revmapNumPages = (indexRanges / REVMAP_PAGE_MAXITEMS) + 1; ISTM that selfuncs has no reason to learn about revmap low-level details. > I think a more useful response to your modularity concern would be > to move all the [indextype]costestimate functions out of the common > selfuncs.c file and into per-AM files. Yeah, that would be nice, but then I'm not going to push Julien to do that to fix just this one problem; and on the other hand, that's even less of a back-patchable fix. > I fooled around with that while trying to refactor selfuncs.c back in > February, but I didn't come up with something that seemed clearly > better. Still, as we move into a world with external index AMs, I > think we're going to have to make that happen eventually. No disagreement. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services