Fix BRIN cost estimation
The original code was overly optimistic about the cost of scanning a
BRIN index, leading to BRIN indexes being selected when they'd be a
worse choice than some other index. This complete rewrite should be
more accurate.
Author: David Rowley, based on an earlier patch by Emre Hasegeli
Reviewed-by: Emre Hasegeli
Discussion: https://postgr.es/m/CAKJS1f9n-Wapop5Xz1dtGdpdqmzeGqQK4sV2MK-zZugfC14Xtw@mail.gmail.com
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/7e534adcdc70866e7be74d626b0ed067c890a251
Modified Files
--------------
src/backend/access/brin/brin.c | 21 ++++
src/backend/utils/adt/selfuncs.c | 197 ++++++++++++++++++++++++++++++++-----
src/include/access/brin.h | 14 +++
src/test/regress/expected/brin.out | 26 +++++
src/test/regress/sql/brin.sql | 16 +++
5 files changed, 248 insertions(+), 26 deletions(-)