public inbox for [email protected]  
help / color / mirror / Atom feed
pgsql: BRIN: be more strict about required support procs
6+ messages / 1 participants
[nested] [flat]

* pgsql: BRIN: be more strict about required support procs
@ 2025-03-11 11:52 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Álvaro Herrera @ 2025-03-11 11:52 UTC (permalink / raw)
  To: [email protected]

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 <[email protected]>
Diagnosed-by: David Rowley <[email protected]>
Reviewed-by: Tomas Vondra <[email protected]>
Discussion: https://postgr.es/m/[email protected]

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(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: BRIN: be more strict about required support procs
@ 2025-03-11 11:52 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Álvaro Herrera @ 2025-03-11 11:52 UTC (permalink / raw)
  To: [email protected]

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 <[email protected]>
Diagnosed-by: David Rowley <[email protected]>
Reviewed-by: Tomas Vondra <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/17ce344f86f1a9a9002d8b668ea7d77234ec3e60

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(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: BRIN: be more strict about required support procs
@ 2025-03-11 11:52 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Álvaro Herrera @ 2025-03-11 11:52 UTC (permalink / raw)
  To: [email protected]

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 <[email protected]>
Diagnosed-by: David Rowley <[email protected]>
Reviewed-by: Tomas Vondra <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
REL_16_STABLE

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

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(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: BRIN: be more strict about required support procs
@ 2025-03-11 11:52 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Álvaro Herrera @ 2025-03-11 11:52 UTC (permalink / raw)
  To: [email protected]

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 <[email protected]>
Diagnosed-by: David Rowley <[email protected]>
Reviewed-by: Tomas Vondra <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
REL_13_STABLE

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

Modified Files
--------------
src/backend/access/brin/brin_inclusion.c | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: BRIN: be more strict about required support procs
@ 2025-03-11 11:52 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Álvaro Herrera @ 2025-03-11 11:52 UTC (permalink / raw)
  To: [email protected]

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 <[email protected]>
Diagnosed-by: David Rowley <[email protected]>
Reviewed-by: Tomas Vondra <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5d8c588004942163fafb90855623159645ef5516

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(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: BRIN: be more strict about required support procs
@ 2025-03-11 11:52 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Álvaro Herrera @ 2025-03-11 11:52 UTC (permalink / raw)
  To: [email protected]

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 <[email protected]>
Diagnosed-by: David Rowley <[email protected]>
Reviewed-by: Tomas Vondra <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5144e1f8fddeab4b3a6fec5d2b734402f1a5462b

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(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread


end of thread, other threads:[~2025-03-11 11:52 UTC | newest]

Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-03-11 11:52 pgsql: BRIN: be more strict about required support procs Álvaro Herrera <[email protected]>
2025-03-11 11:52 pgsql: BRIN: be more strict about required support procs Álvaro Herrera <[email protected]>
2025-03-11 11:52 pgsql: BRIN: be more strict about required support procs Álvaro Herrera <[email protected]>
2025-03-11 11:52 pgsql: BRIN: be more strict about required support procs Álvaro Herrera <[email protected]>
2025-03-11 11:52 pgsql: BRIN: be more strict about required support procs Álvaro Herrera <[email protected]>
2025-03-11 11:52 pgsql: BRIN: be more strict about required support procs Álvaro Herrera <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox