diff --git a/src/test/regress/expected/stats_ext.out b/src/test/regress/expected/stats_ext.out index 37070c1a..7234d6b6 100644 --- a/src/test/regress/expected/stats_ext.out +++ b/src/test/regress/expected/stats_ext.out @@ -3207,6 +3207,14 @@ SELECT * FROM check_estimated_rows('SELECT * FROM virtual_gen_stats WHERE w = 0' (1 row) DROP TABLE virtual_gen_stats; +-- extended statistics on virtual generated columns whose expressions can error +CREATE TABLE virtual_gen_err (a int, b int GENERATED ALWAYS AS (a / 0) VIRTUAL); +INSERT INTO virtual_gen_err VALUES (1), (2), (3); +CREATE STATISTICS virtual_gen_err_s ON a, b FROM virtual_gen_err; +ANALYZE virtual_gen_err; -- should warn, not fail +WARNING: skipping statistics object "public.virtual_gen_err_s" for relation "public.virtual_gen_err" +DETAIL: division by zero +DROP TABLE virtual_gen_err; -- Permission tests. Users should not be able to see specific data values in -- the extended statistics, if they lack permission to see those values in -- the underlying table. diff --git a/src/test/regress/sql/stats_ext.sql b/src/test/regress/sql/stats_ext.sql index 3cc6012b..10918ffb 100644 --- a/src/test/regress/sql/stats_ext.sql +++ b/src/test/regress/sql/stats_ext.sql @@ -1608,6 +1608,13 @@ SELECT * FROM check_estimated_rows('SELECT * FROM virtual_gen_stats WHERE w = 0' DROP TABLE virtual_gen_stats; +-- extended statistics on virtual generated columns whose expressions can error +CREATE TABLE virtual_gen_err (a int, b int GENERATED ALWAYS AS (a / 0) VIRTUAL); +INSERT INTO virtual_gen_err VALUES (1), (2), (3); +CREATE STATISTICS virtual_gen_err_s ON a, b FROM virtual_gen_err; +ANALYZE virtual_gen_err; -- should warn, not fail +DROP TABLE virtual_gen_err; + -- Permission tests. Users should not be able to see specific data values in -- the extended statistics, if they lack permission to see those values in -- the underlying table.