mirror of
https://github.com/postgres/postgres.git
synced 2026-03-22 10:30:21 -04:00
Add convenience view to stats import test.
Presently, many statements in stats_import.sql select all columns from the pg_stats system view. A proposed follow-up commit would add columns to this view (some of which are not stable across test runs), breaking all of these tests. This commit introduces a convenience view for those statements so that future changes are minimally disruptive. Author: Corey Huinker <corey.huinker@gmail.com> Reviewed-by: Sami Imseih <samimseih@gmail.com> Discussion: https://postgr.es/m/CADkLM%3DcoCVy92QkVUUTLdo5eO2bMDtwMrzRn_8miAhX%2BuPaqXg%40mail.gmail.com
This commit is contained in:
parent
ce5d489166
commit
233bbdf031
2 changed files with 76 additions and 50 deletions
|
|
@ -1,5 +1,17 @@
|
|||
CREATE SCHEMA stats_import;
|
||||
--
|
||||
-- Convenience view for columns of pg_stats that are stable across test runs.
|
||||
--
|
||||
CREATE VIEW stats_import.pg_stats_stable AS
|
||||
SELECT schemaname, tablename, attname, inherited, null_frac, avg_width,
|
||||
n_distinct, most_common_vals::text as most_common_vals,
|
||||
most_common_freqs, histogram_bounds::text AS histogram_bounds,
|
||||
correlation, most_common_elems::text AS most_common_elems,
|
||||
most_common_elem_freqs, elem_count_histogram,
|
||||
range_length_histogram::text AS range_length_histogram, range_empty_frac,
|
||||
range_bounds_histogram::text AS range_bounds_histogram
|
||||
FROM pg_stats;
|
||||
--
|
||||
-- Setup functions for set-difference convenience functions
|
||||
--
|
||||
-- Test to detect any new columns added to pg_statistic. If any columns
|
||||
|
|
@ -643,7 +655,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -670,7 +682,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -695,7 +707,7 @@ WARNING: unrecognized argument name: "nope"
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -721,7 +733,7 @@ WARNING: argument "most_common_vals" must be specified when argument "most_comm
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -747,7 +759,7 @@ WARNING: argument "most_common_freqs" must be specified when argument "most_com
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -775,7 +787,7 @@ WARNING: argument "most_common_freqs" must be specified when argument "most_com
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -802,7 +814,7 @@ WARNING: invalid input syntax for type integer: "four"
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -827,7 +839,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -853,7 +865,7 @@ WARNING: "histogram_bounds" array must not contain null values
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -877,7 +889,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -903,7 +915,7 @@ WARNING: argument "elem_count_histogram" array must not contain null values
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -928,7 +940,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -956,7 +968,7 @@ DETAIL: Cannot set STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM or STATISTIC_KIND_BOUN
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -982,7 +994,7 @@ WARNING: argument "range_empty_frac" must be specified when argument "range_len
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1008,7 +1020,7 @@ WARNING: argument "range_length_histogram" must be specified when argument "ran
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1033,7 +1045,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1060,7 +1072,7 @@ DETAIL: Cannot set STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM or STATISTIC_KIND_BOUN
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1084,7 +1096,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1112,7 +1124,7 @@ DETAIL: Cannot set STATISTIC_KIND_MCELEM or STATISTIC_KIND_DECHIST.
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1140,7 +1152,7 @@ DETAIL: Cannot set STATISTIC_KIND_MCELEM or STATISTIC_KIND_DECHIST.
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1166,7 +1178,7 @@ WARNING: argument "most_common_elem_freqs" must be specified when argument "mos
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1192,7 +1204,7 @@ WARNING: argument "most_common_elems" must be specified when argument "most_com
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1217,7 +1229,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -1244,7 +1256,7 @@ DETAIL: Cannot set STATISTIC_KIND_MCELEM or STATISTIC_KIND_DECHIST.
|
|||
(1 row)
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -3362,8 +3374,9 @@ SELECT COUNT(*) FROM stats_import.test_range_expr_null
|
|||
(1 row)
|
||||
|
||||
DROP SCHEMA stats_import CASCADE;
|
||||
NOTICE: drop cascades to 18 other objects
|
||||
DETAIL: drop cascades to view stats_import.pg_statistic_flat_t
|
||||
NOTICE: drop cascades to 19 other objects
|
||||
DETAIL: drop cascades to view stats_import.pg_stats_stable
|
||||
drop cascades to view stats_import.pg_statistic_flat_t
|
||||
drop cascades to function stats_import.pg_statistic_flat(text)
|
||||
drop cascades to function stats_import.pg_statistic_get_difference(text,text)
|
||||
drop cascades to view stats_import.pg_stats_ext_flat_t
|
||||
|
|
|
|||
|
|
@ -1,5 +1,18 @@
|
|||
CREATE SCHEMA stats_import;
|
||||
|
||||
--
|
||||
-- Convenience view for columns of pg_stats that are stable across test runs.
|
||||
--
|
||||
CREATE VIEW stats_import.pg_stats_stable AS
|
||||
SELECT schemaname, tablename, attname, inherited, null_frac, avg_width,
|
||||
n_distinct, most_common_vals::text as most_common_vals,
|
||||
most_common_freqs, histogram_bounds::text AS histogram_bounds,
|
||||
correlation, most_common_elems::text AS most_common_elems,
|
||||
most_common_elem_freqs, elem_count_histogram,
|
||||
range_length_histogram::text AS range_length_histogram, range_empty_frac,
|
||||
range_bounds_histogram::text AS range_bounds_histogram
|
||||
FROM pg_stats;
|
||||
|
||||
--
|
||||
-- Setup functions for set-difference convenience functions
|
||||
--
|
||||
|
|
@ -521,7 +534,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
'n_distinct', 0.6::real);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -540,7 +553,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
'null_frac', 0.4::real);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -556,7 +569,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
'nope', 0.5::real);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -573,7 +586,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -590,7 +603,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -608,7 +621,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -626,7 +639,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -643,7 +656,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -660,7 +673,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -676,7 +689,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -693,7 +706,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -710,7 +723,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -728,7 +741,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -745,7 +758,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -762,7 +775,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -779,7 +792,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -796,7 +809,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -812,7 +825,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -830,7 +843,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -848,7 +861,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -865,7 +878,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -882,7 +895,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -899,7 +912,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
@ -916,7 +929,7 @@ SELECT pg_catalog.pg_restore_attribute_stats(
|
|||
);
|
||||
|
||||
SELECT *
|
||||
FROM pg_stats
|
||||
FROM stats_import.pg_stats_stable
|
||||
WHERE schemaname = 'stats_import'
|
||||
AND tablename = 'test'
|
||||
AND inherited = false
|
||||
|
|
|
|||
Loading…
Reference in a new issue