Provide statistics for hypothetical BRIN indexes
authorMichael Paquier <michael@paquier.xyz>
Thu, 21 Nov 2019 01:23:28 +0000 (10:23 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 21 Nov 2019 01:23:28 +0000 (10:23 +0900)
commit168d2064001f704965899bb2057591271c44e57a
treeb25e7ef918e64d8ab3a19bed082209d77010c583
parent9ff5b699ed3e2d922ff6f5660e53b51bb5db983c
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