]> git.ipfire.org Git - thirdparty/postgresql.git/commit
BRIN: be more strict about required support procs
authorÁlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 11 Mar 2025 11:50:35 +0000 (12:50 +0100)
committerÁlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 11 Mar 2025 11:50:35 +0000 (12:50 +0100)
commit5144e1f8fddeab4b3a6fec5d2b734402f1a5462b
treec35f0b1520f2bd272b149d6f9c7d1faf30aa8ae7
parent136e68b465c151fa832d8bb20beea1a1a9c22252
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
src/backend/access/brin/brin_bloom.c
src/backend/access/brin/brin_inclusion.c
src/backend/access/brin/brin_minmax_multi.c