Provide statistics for hypothetical BRIN indexes
authorMichael Paquier <[email protected]>
Thu, 21 Nov 2019 01:23:49 +0000 (10:23 +0900)
committerMichael Paquier <[email protected]>
Thu, 21 Nov 2019 01:23:49 +0000 (10:23 +0900)
commitf4095026cf174f9993920b8fce227db9c128bd5c
treee398cd5973ec8252aeb5bee93b41d696bc601211
parenta45feb1a4fd48dad5d969d1ff010861a18b4a6b9
Provide statistics for hypothetical BRIN indexes

Trying to use hypothetical indexes with BRIN currently fails when trying
to access a relation that does not exist when looking for the
statistics.  With the current API, it is not possible to easily pass
a value for pages_per_range down to the hypothetical index, so this
makes use of the default value of BRIN_DEFAULT_PAGES_PER_RANGE, which
should be fine enough in most cases.

Being able to refine or enforce the hypothetical costs in more
optimistic ways would require more refactoring by filling in the
statistics when building IndexOptInfo in plancat.c.  This would involve
ABI breakages around the costing routines, something not fit for stable
branches.

This is broken since 7e534ad, so backpatch down to v10.

Author: Julien Rouhaud, Heikki Linnakangas
Reviewed-by: Álvaro Herrera, Tom Lane, Michael Paquier
Discussion: https://postgr.es/m/CAOBaU_ZH0LKEA8VFCocr6Lpte1ab0b6FpvgS0y4way+RPSXfYg@mail.gmail.com
Backpatch-through: 10
src/backend/utils/adt/selfuncs.c