pgsql: Add test doing some cloning of extended statistics data

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add test doing some cloning of extended statistics data
Date: 2026-01-29 04:25:19
Message-ID: E1vlJao-003Jgb-2g@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add test doing some cloning of extended statistics data

The test added in this commit copies the data of an ANALYZE run on one
relation to a secondary relation with the same attribute definitions and
extended statistics objects. Once the clone is done, the target and
origin should have the same extended statistics information, with no
differences.

This test would have been able to catch e3094679b983, for example, as we
expect the full range of statistics to be copied over, with no
differences generated between the results of an ANALYZE and the data
copied to the cloned relation.

Note that this new test should remain at the bottom of stats_import.sql,
so as any additions in the main relation and its clone are automatically
covered when copying their statistics, so as it would work as a sanity
check in the future.

Author: Corey Huinker <corey(dot)huinker(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/fc365e4fccc46d2991ab9614198aa6d71b3838d2

Modified Files
--------------
src/test/regress/expected/stats_import.out | 65 ++++++++++++++++++++++++++++++
src/test/regress/sql/stats_import.sql | 55 +++++++++++++++++++++++++
2 files changed, 120 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2026-01-29 04:51:10 Re: pgsql: Allow for plugin control over path generation strategies.
Previous Message Michael Paquier 2026-01-29 03:38:51 pgsql: Add test for pg_restore_extended_stats() with multiranges