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 <[email protected]>
Reviewed-by: Chao Li <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
Discussion: 
https://postgr.es/m/CADkLM=dpz3KFnqP-dgJ-zvRvtjsa8UZv8wDAQdqho=qn3kx...@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(+)

Reply via email to