• Michael Paquier's avatar
    Provide statistics for hypothetical BRIN indexes · 168d2064
    Michael Paquier authored
    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 7e534adc, 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
    168d2064
selfuncs.c 213 KB