Merge pull request #5867 from citusdata/arbitrary-configs-view-test

Add view tests to arbitrary configs
pull/5869/head
Ahmet Gedemenli 2022-03-30 16:17:31 +03:00 committed by GitHub
commit b94422d5cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 115 additions and 0 deletions

View File

@ -4,5 +4,6 @@ test: dropped_columns_create_load distributed_planning_create_load
test: local_dist_join_load
test: partitioned_indexes_create
test: connectivity_checks
test: views_create
test: sequences_create
test: index_create

View File

@ -0,0 +1,75 @@
CREATE SCHEMA views_create;
SET search_path TO views_create;
CREATE TABLE view_test_table(a INT NOT NULL PRIMARY KEY, b BIGINT, c text);
CREATE OR REPLACE VIEW select_filtered_view AS
SELECT * FROM view_test_table WHERE c = 'testing'
WITH CASCADED CHECK OPTION;
CREATE OR REPLACE VIEW select_all_view AS
SELECT * FROM view_test_table
WITH LOCAL CHECK OPTION;
CREATE OR REPLACE VIEW count_view AS
SELECT COUNT(*) FROM view_test_table;
SELECT create_distributed_table('view_test_table', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
INSERT INTO view_test_table VALUES (1,1,'testing'), (2,1,'views');
SELECT * FROM count_view;
count
---------------------------------------------------------------------
2
(1 row)
SELECT COUNT(*) FROM count_view;
count
---------------------------------------------------------------------
1
(1 row)
SELECT COUNT(*) FROM select_all_view;
count
---------------------------------------------------------------------
2
(1 row)
SELECT * FROM select_filtered_view;
a | b | c
---------------------------------------------------------------------
1 | 1 | testing
(1 row)
-- 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)

View File

@ -0,0 +1,39 @@
CREATE SCHEMA views_create;
SET search_path TO views_create;
CREATE TABLE view_test_table(a INT NOT NULL PRIMARY KEY, b BIGINT, c text);
CREATE OR REPLACE VIEW select_filtered_view AS
SELECT * FROM view_test_table WHERE c = 'testing'
WITH CASCADED CHECK OPTION;
CREATE OR REPLACE VIEW select_all_view AS
SELECT * FROM view_test_table
WITH LOCAL CHECK OPTION;
CREATE OR REPLACE VIEW count_view AS
SELECT COUNT(*) FROM view_test_table;
SELECT create_distributed_table('view_test_table', 'a');
INSERT INTO view_test_table VALUES (1,1,'testing'), (2,1,'views');
SELECT * FROM count_view;
SELECT COUNT(*) FROM count_view;
SELECT COUNT(*) FROM select_all_view;
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;