diff --git a/src/test/regress/expected/views_create.out b/src/test/regress/expected/views_create.out index 4810b7b05..acc8f002f 100644 --- a/src/test/regress/expected/views_create.out +++ b/src/test/regress/expected/views_create.out @@ -42,3 +42,34 @@ SELECT * FROM select_filtered_view; -- dummy temp recursive view CREATE TEMP RECURSIVE VIEW recursive_defined_non_recursive_view(c) AS (SELECT 1); +CREATE MATERIALIZED VIEW select_all_matview AS + SELECT * FROM view_test_table + WITH DATA; +CREATE MATERIALIZED VIEW IF NOT EXISTS select_filtered_matview AS + SELECT * FROM view_test_table WHERE c = 'views' + WITH NO DATA; +REFRESH MATERIALIZED VIEW select_filtered_matview; +SELECT COUNT(*) FROM select_all_matview; + count +--------------------------------------------------------------------- + 2 +(1 row) + +SELECT * FROM select_filtered_matview; + a | b | c +--------------------------------------------------------------------- + 2 | 1 | views +(1 row) + +SELECT COUNT(*) FROM select_all_view a JOIN select_filtered_matview b ON a.c=b.c; + count +--------------------------------------------------------------------- + 1 +(1 row) + +SELECT COUNT(*) FROM select_all_view a JOIN view_test_table b ON a.c=b.c; + count +--------------------------------------------------------------------- + 2 +(1 row) + diff --git a/src/test/regress/sql/views_create.sql b/src/test/regress/sql/views_create.sql index e62ed71a6..d30676c42 100644 --- a/src/test/regress/sql/views_create.sql +++ b/src/test/regress/sql/views_create.sql @@ -21,3 +21,19 @@ SELECT * FROM select_filtered_view; -- dummy temp recursive view CREATE TEMP RECURSIVE VIEW recursive_defined_non_recursive_view(c) AS (SELECT 1); + +CREATE MATERIALIZED VIEW select_all_matview AS + SELECT * FROM view_test_table + WITH DATA; + +CREATE MATERIALIZED VIEW IF NOT EXISTS select_filtered_matview AS + SELECT * FROM view_test_table WHERE c = 'views' + WITH NO DATA; + +REFRESH MATERIALIZED VIEW select_filtered_matview; + +SELECT COUNT(*) FROM select_all_matview; +SELECT * FROM select_filtered_matview; + +SELECT COUNT(*) FROM select_all_view a JOIN select_filtered_matview b ON a.c=b.c; +SELECT COUNT(*) FROM select_all_view a JOIN view_test_table b ON a.c=b.c;