From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Fix StatisticsObjIsVisibleExt() for pg_temp. |
Date: | 2025-09-29 18:16:43 |
Message-ID: | E1v3IQV-000eyO-0j@gemulon.postgresql.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix StatisticsObjIsVisibleExt() for pg_temp.
Neighbor get_statistics_object_oid() ignores objects in pg_temp, as has
been the standard for non-relation, non-type namespace searches since
CVE-2007-2138. Hence, most operations that name a statistics object
correctly decline to map an unqualified name to a statistics object in
pg_temp. StatisticsObjIsVisibleExt() did not. Consequently,
pg_statistics_obj_is_visible() wrongly returned true for such objects,
psql \dX wrongly listed them, and getObjectDescription()-based ereport()
and pg_describe_object() wrongly omitted namespace qualification. Any
malfunction beyond that would depend on how a human or application acts
on those wrong indications. Commit
d99d58cdc8c0b5b50ee92995e8575c100b1a458a introduced this. Back-patch to
v13 (all supported versions).
Reviewed-by: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Discussion: https://postgr.es/m/20250920162116.2e.nmisch@google.com
Backpatch-through: 13
Branch
------
REL_14_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/5816baa9bcf3db6cb98e689dabe06276aa8fb3f2
Modified Files
--------------
src/backend/catalog/namespace.c | 3 +++
src/test/regress/expected/stats_ext.out | 14 ++++++++++++++
src/test/regress/sql/stats_ext.sql | 8 ++++++++
3 files changed, 25 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2025-09-29 19:38:22 | pgsql: Remove unused parameter from find_window_run_conditions() |
Previous Message | Michael Paquier | 2025-09-29 06:18:46 | pgsql: test_bitmapset: Expand more the test coverage |