pgsql: BRIN: be more strict about required support procs - Mailing list pgsql-committers

From Álvaro Herrera
Subject pgsql: BRIN: be more strict about required support procs
Date
Msg-id E1try9e-001vFK-3A@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
BRIN: be more strict about required support procs

With improperly defined operator classes, it's possible to get a
Postgres crash because we'd try to invoke a procedure that doesn't
exist.  This is because the code is being a bit too trusting that the
opclass is correctly defined.  Add some ereport(ERROR)s for cases where
mandatory support procedures are not defined, transforming the crashes
into errors.

The particular case that was reported is an incomplete opclass in
PostGIS.

Backpatch all the way down to 13.

Reported-by: Tobias Wendorff <tobias.wendorff@tu-dortmund.de>
Diagnosed-by: David Rowley <dgrowleyml@gmail.com>
Reviewed-by: Tomas Vondra <tomas@vondra.me>
Discussion: https://postgr.es/m/fb6d9a35-6c8e-4869-af80-0a4944a793a4@tu-dortmund.de

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/ade976f8b48193c7d57f475033d60bc5fa185a4a

Modified Files
--------------
src/backend/access/brin/brin_bloom.c        | 19 +++++-------------
src/backend/access/brin/brin_inclusion.c    | 31 +++++++++++++++++------------
src/backend/access/brin/brin_minmax_multi.c | 19 +++++-------------
3 files changed, 28 insertions(+), 41 deletions(-)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: Add special case fast-paths for strict functions
Next
From: Álvaro Herrera
Date:
Subject: pgsql: BRIN: be more strict about required support procs