citus/src/test/regress/expected/propagate_statistics.out

247 lines
5.5 KiB
Plaintext

CREATE SCHEMA "statistics'Test";
SET search_path TO "statistics'Test";
SET citus.next_shard_id TO 980000;
SET client_min_messages TO WARNING;
SET citus.shard_count TO 32;
SET citus.shard_replication_factor TO 1;
-- test create statistics propagation
CREATE TABLE test_stats (
a int,
b int
);
SELECT create_distributed_table('test_stats', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
CREATE STATISTICS pg_temp.s1 (dependencies) ON a, b FROM test_stats;
ERROR: "statistics object s1" has dependency on unsupported object "schema pg_temp_xxx"
CREATE STATISTICS s1 (dependencies) ON a, b FROM test_stats;
-- test for distributing an already existing statistics
CREATE TABLE "test'stats2" (
a int,
b int
);
CREATE STATISTICS s2 (dependencies) ON a, b FROM "test'stats2";
SELECT create_distributed_table('test''stats2', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
-- test when stats is on a different schema
CREATE SCHEMA sc1;
CREATE TABLE tbl (a int, "B" text);
SELECT create_distributed_table ('tbl', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
CREATE STATISTICS sc1.st1 ON a, "B" FROM tbl;
-- test distributing table with already created stats on a new schema
CREATE TABLE test_stats3 (
a int,
b int
);
CREATE SCHEMA sc2;
CREATE STATISTICS sc2."neW'Stat" ON a,b FROM test_stats3;
SELECT create_distributed_table ('test_stats3','a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
-- test dropping statistics
CREATE TABLE test_stats4 (
a int,
b int
);
SELECT create_reference_table ('test_stats4');
create_reference_table
---------------------------------------------------------------------
(1 row)
CREATE STATISTICS s3 ON a,b FROM test_stats3;
CREATE STATISTICS sc2.s4 ON a,b FROM test_stats3;
CREATE STATISTICS s5 ON a,b FROM test_stats4;
-- s6 doesn't exist
DROP STATISTICS IF EXISTS s3, sc2.s4, s6;
DROP STATISTICS s5,s6;
ERROR: statistics object "s6" does not exist
DROP STATISTICS IF EXISTS s5,s5,s6,s6;
-- test renaming statistics
CREATE STATISTICS s6 ON a,b FROM test_stats4;
DROP STATISTICS s7;
ERROR: statistics object "s7" does not exist
ALTER STATISTICS s6 RENAME TO s7;
ALTER STATISTICS sc1.st1 RENAME TO st1_new;
-- test altering stats schema
CREATE SCHEMA test_alter_schema;
ALTER STATISTICS s7 SET SCHEMA test_alter_schema;
-- test alter owner
ALTER STATISTICS sc2."neW'Stat" OWNER TO pg_monitor;
-- test alter owner before distribution
CREATE TABLE ownertest(a int, b int);
CREATE STATISTICS sc1.s9 ON a,b FROM ownertest;
ALTER STATISTICS sc1.s9 OWNER TO pg_signal_backend;
SELECT create_distributed_table('ownertest','a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
-- test invalid column expressions
CREATE TABLE test (x int, y int);
SELECT create_distributed_table('test','x');
create_distributed_table
---------------------------------------------------------------------
(1 row)
CREATE STATISTICS stats_xy ON x,y FROM test;
\c - - - :worker_1_port
SELECT stxname
FROM pg_statistic_ext
WHERE stxnamespace IN (
SELECT oid
FROM pg_namespace
WHERE nspname IN ('public', 'statistics''Test', 'sc1', 'sc2')
)
AND stxname SIMILAR TO '%\_\d+'
ORDER BY stxname ASC;
stxname
---------------------------------------------------------------------
neW'Stat_980096
neW'Stat_980098
neW'Stat_980100
neW'Stat_980102
neW'Stat_980104
neW'Stat_980106
neW'Stat_980108
neW'Stat_980110
neW'Stat_980112
neW'Stat_980114
neW'Stat_980116
neW'Stat_980118
neW'Stat_980120
neW'Stat_980122
neW'Stat_980124
neW'Stat_980126
s1_980000
s1_980002
s1_980004
s1_980006
s1_980008
s1_980010
s1_980012
s1_980014
s1_980016
s1_980018
s1_980020
s1_980022
s1_980024
s1_980026
s1_980028
s1_980030
s2_980032
s2_980034
s2_980036
s2_980038
s2_980040
s2_980042
s2_980044
s2_980046
s2_980048
s2_980050
s2_980052
s2_980054
s2_980056
s2_980058
s2_980060
s2_980062
s9_980129
s9_980131
s9_980133
s9_980135
s9_980137
s9_980139
s9_980141
s9_980143
s9_980145
s9_980147
s9_980149
s9_980151
s9_980153
s9_980155
s9_980157
s9_980159
st1_new_980064
st1_new_980066
st1_new_980068
st1_new_980070
st1_new_980072
st1_new_980074
st1_new_980076
st1_new_980078
st1_new_980080
st1_new_980082
st1_new_980084
st1_new_980086
st1_new_980088
st1_new_980090
st1_new_980092
st1_new_980094
stats_xy_980161
stats_xy_980163
stats_xy_980165
stats_xy_980167
stats_xy_980169
stats_xy_980171
stats_xy_980173
stats_xy_980175
stats_xy_980177
stats_xy_980179
stats_xy_980181
stats_xy_980183
stats_xy_980185
stats_xy_980187
stats_xy_980189
stats_xy_980191
(96 rows)
SELECT count(DISTINCT stxnamespace)
FROM pg_statistic_ext
WHERE stxnamespace IN (
SELECT oid
FROM pg_namespace
WHERE nspname IN ('public', 'statistics''Test', 'sc1', 'sc2')
)
AND stxname SIMILAR TO '%\_\d+';
count
---------------------------------------------------------------------
3
(1 row)
SELECT COUNT(DISTINCT stxowner)
FROM pg_statistic_ext
WHERE stxnamespace IN (
SELECT oid
FROM pg_namespace
WHERE nspname IN ('public', 'statistics''Test', 'sc1', 'sc2')
)
AND stxname SIMILAR TO '%\_\d+';
count
---------------------------------------------------------------------
3
(1 row)
\c - - - :master_port
SET client_min_messages TO WARNING;
DROP SCHEMA "statistics'Test" CASCADE;
DROP SCHEMA test_alter_schema CASCADE;
DROP SCHEMA sc1 CASCADE;
DROP SCHEMA sc2 CASCADE;