pgsql: Introduce routines to validate and free MVNDistinct and MVDepend

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Introduce routines to validate and free MVNDistinct and MVDepend
Date: 2026-01-15 00:38:02
Message-ID: E1vgBNC-000VkM-0m@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Introduce routines to validate and free MVNDistinct and MVDependencies

These routines are useful to perform some basic validation checks on
each object structure, working currently on attribute numbers for
non-expression and expression attnums. These checks could be extended
in the future.

Note that this code is not used yet in the tree, and that these
functions will become handy for an upcoming patch for the import of
extended statistics data. However, they are worth their own independent
change as they are actually useful by themselves, with at least the
extension code argument in mind (or perhaps I am just feeling more
pedantic today).

Extracted from a larger patch by the same author, with many adjustments
and fixes by me.

Author: Corey Huinker <corey(dot)huinker(at)gmail(dot)com>
Reviewed-by: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Discussion: https://postgr.es/m/CADkLM=dpz3KFnqP-dgJ-zvRvtjsa8UZv8wDAQdqho=qN3kX0Zg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/32e27bd320821df49dd212912b9e90d3d98e24f1

Modified Files
--------------
src/backend/statistics/dependencies.c | 76 ++++++++++++++++++++++++
src/backend/statistics/mvdistinct.c | 76 ++++++++++++++++++++++++
src/include/statistics/extended_stats_internal.h | 8 +++
3 files changed, 160 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2026-01-15 09:36:01 Re: pgsql: Enable Python Limited API for PL/Python on MSVC
Previous Message Jeff Davis 2026-01-14 20:02:01 pgsql: Remove redundant assignment in CreateWorkExprContext