mirror of https://github.com/citusdata/citus.git
improve tests
parent
f4a79dc220
commit
45eebf6a5b
|
@ -14,14 +14,12 @@ SELECT citus_total_relation_size(1);
|
||||||
ERROR: could not compute relation size: relation does not exist
|
ERROR: could not compute relation size: relation does not exist
|
||||||
-- Tests with non-distributed table
|
-- Tests with non-distributed table
|
||||||
CREATE TABLE non_distributed_table (x int primary key);
|
CREATE TABLE non_distributed_table (x int primary key);
|
||||||
-- table
|
|
||||||
SELECT citus_table_size('non_distributed_table');
|
SELECT citus_table_size('non_distributed_table');
|
||||||
ERROR: cannot calculate the size because relation 'non_distributed_table' is not distributed
|
ERROR: cannot calculate the size because relation 'non_distributed_table' is not distributed
|
||||||
SELECT citus_relation_size('non_distributed_table');
|
SELECT citus_relation_size('non_distributed_table');
|
||||||
ERROR: cannot calculate the size because relation 'non_distributed_table' is not distributed
|
ERROR: cannot calculate the size because relation 'non_distributed_table' is not distributed
|
||||||
SELECT citus_total_relation_size('non_distributed_table');
|
SELECT citus_total_relation_size('non_distributed_table');
|
||||||
ERROR: cannot calculate the size because relation 'non_distributed_table' is not distributed
|
ERROR: cannot calculate the size because relation 'non_distributed_table' is not distributed
|
||||||
-- index
|
|
||||||
SELECT citus_table_size('non_distributed_table_pkey');
|
SELECT citus_table_size('non_distributed_table_pkey');
|
||||||
ERROR: cannot calculate the size because table 'non_distributed_table' for index 'non_distributed_table_pkey' is not distributed
|
ERROR: cannot calculate the size because table 'non_distributed_table' for index 'non_distributed_table_pkey' is not distributed
|
||||||
SELECT citus_relation_size('non_distributed_table_pkey');
|
SELECT citus_relation_size('non_distributed_table_pkey');
|
||||||
|
@ -37,10 +35,28 @@ SELECT replicate_table_shards('lineitem_hash_part', shard_replication_factor:=2,
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
CREATE INDEX lineitem_hash_part_idx ON lineitem_hash_part(l_orderkey);
|
|
||||||
-- Tests on distributed table with replication factor > 1
|
-- Tests on distributed table with replication factor > 1
|
||||||
VACUUM (FULL) lineitem_hash_part;
|
VACUUM (FULL) lineitem_hash_part;
|
||||||
-- table
|
SELECT citus_table_size('lineitem_hash_part');
|
||||||
|
citus_table_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
3801088
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT citus_relation_size('lineitem_hash_part');
|
||||||
|
citus_relation_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
3801088
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT citus_total_relation_size('lineitem_hash_part');
|
||||||
|
citus_total_relation_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
3801088
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
CREATE INDEX lineitem_hash_part_idx ON lineitem_hash_part(l_orderkey);
|
||||||
|
VACUUM (FULL) lineitem_hash_part;
|
||||||
SELECT citus_table_size('lineitem_hash_part');
|
SELECT citus_table_size('lineitem_hash_part');
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
@ -59,7 +75,6 @@ SELECT citus_total_relation_size('lineitem_hash_part');
|
||||||
4259840
|
4259840
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- index
|
|
||||||
SELECT citus_table_size('lineitem_hash_part_idx');
|
SELECT citus_table_size('lineitem_hash_part_idx');
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
@ -79,10 +94,38 @@ SELECT citus_total_relation_size('lineitem_hash_part_idx');
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
DROP INDEX lineitem_hash_part_idx;
|
DROP INDEX lineitem_hash_part_idx;
|
||||||
CREATE INDEX customer_copy_hash_idx on customer_copy_hash(c_custkey);
|
|
||||||
VACUUM (FULL) customer_copy_hash;
|
VACUUM (FULL) customer_copy_hash;
|
||||||
-- Tests on distributed tables with streaming replication.
|
-- Tests on distributed tables with streaming replication.
|
||||||
-- table
|
SELECT citus_table_size('customer_copy_hash');
|
||||||
|
citus_table_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
548864
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT citus_relation_size('customer_copy_hash');
|
||||||
|
citus_relation_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
548864
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT citus_total_relation_size('customer_copy_hash');
|
||||||
|
citus_total_relation_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
1597440
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- Make sure we can get multiple sizes in a single query
|
||||||
|
SELECT citus_table_size('customer_copy_hash'),
|
||||||
|
citus_table_size('customer_copy_hash'),
|
||||||
|
citus_table_size('supplier');
|
||||||
|
citus_table_size | citus_table_size | citus_table_size
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
548864 | 548864 | 655360
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
CREATE INDEX index_1 on customer_copy_hash(c_custkey);
|
||||||
|
VACUUM (FULL) customer_copy_hash;
|
||||||
|
-- Tests on distributed table with index.
|
||||||
SELECT citus_table_size('customer_copy_hash');
|
SELECT citus_table_size('customer_copy_hash');
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
@ -101,37 +144,26 @@ SELECT citus_total_relation_size('customer_copy_hash');
|
||||||
2646016
|
2646016
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- index
|
SELECT citus_table_size('index_1');
|
||||||
SELECT citus_table_size('customer_copy_hash_idx');
|
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
1048576
|
1048576
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT citus_relation_size('customer_copy_hash_idx');
|
SELECT citus_relation_size('index_1');
|
||||||
citus_relation_size
|
citus_relation_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
1048576
|
1048576
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT citus_total_relation_size('customer_copy_hash_idx');
|
SELECT citus_total_relation_size('index_1');
|
||||||
citus_total_relation_size
|
citus_total_relation_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
1048576
|
1048576
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
VACUUM (FULL) supplier;
|
|
||||||
-- Make sure we can get multiple sizes in a single query
|
|
||||||
SELECT citus_table_size('customer_copy_hash'),
|
|
||||||
citus_table_size('customer_copy_hash'),
|
|
||||||
citus_table_size('supplier');
|
|
||||||
citus_table_size | citus_table_size | citus_table_size
|
|
||||||
---------------------------------------------------------------------
|
|
||||||
548864 | 548864 | 565248
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
-- Tests on reference table
|
-- Tests on reference table
|
||||||
-- table
|
VACUUM (FULL) supplier;
|
||||||
SELECT citus_table_size('supplier');
|
SELECT citus_table_size('supplier');
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
@ -150,8 +182,8 @@ SELECT citus_total_relation_size('supplier');
|
||||||
565248
|
565248
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
CREATE INDEX supplier_idx on supplier(s_suppkey);
|
CREATE INDEX index_2 on supplier(s_suppkey);
|
||||||
-- table
|
VACUUM (FULL) supplier;
|
||||||
SELECT citus_table_size('supplier');
|
SELECT citus_table_size('supplier');
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
@ -170,20 +202,19 @@ SELECT citus_total_relation_size('supplier');
|
||||||
688128
|
688128
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- index
|
SELECT citus_table_size('index_2');
|
||||||
SELECT citus_table_size('supplier_idx');
|
|
||||||
citus_table_size
|
citus_table_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
122880
|
122880
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT citus_relation_size('supplier_idx');
|
SELECT citus_relation_size('index_2');
|
||||||
citus_relation_size
|
citus_relation_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
122880
|
122880
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT citus_total_relation_size('supplier_idx');
|
SELECT citus_total_relation_size('index_2');
|
||||||
citus_total_relation_size
|
citus_total_relation_size
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
122880
|
122880
|
||||||
|
@ -286,5 +317,5 @@ SELECT pg_reload_conf();
|
||||||
t
|
t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
DROP INDEX customer_copy_hash_idx;
|
DROP INDEX index_1;
|
||||||
DROP INDEX supplier_idx;
|
DROP INDEX index_2;
|
||||||
|
|
|
@ -14,11 +14,11 @@ SELECT citus_total_relation_size(1);
|
||||||
|
|
||||||
-- Tests with non-distributed table
|
-- Tests with non-distributed table
|
||||||
CREATE TABLE non_distributed_table (x int primary key);
|
CREATE TABLE non_distributed_table (x int primary key);
|
||||||
-- table
|
|
||||||
SELECT citus_table_size('non_distributed_table');
|
SELECT citus_table_size('non_distributed_table');
|
||||||
SELECT citus_relation_size('non_distributed_table');
|
SELECT citus_relation_size('non_distributed_table');
|
||||||
SELECT citus_total_relation_size('non_distributed_table');
|
SELECT citus_total_relation_size('non_distributed_table');
|
||||||
-- index
|
|
||||||
SELECT citus_table_size('non_distributed_table_pkey');
|
SELECT citus_table_size('non_distributed_table_pkey');
|
||||||
SELECT citus_relation_size('non_distributed_table_pkey');
|
SELECT citus_relation_size('non_distributed_table_pkey');
|
||||||
SELECT citus_total_relation_size('non_distributed_table_pkey');
|
SELECT citus_total_relation_size('non_distributed_table_pkey');
|
||||||
|
@ -28,57 +28,67 @@ DROP TABLE non_distributed_table;
|
||||||
SET client_min_messages TO ERROR;
|
SET client_min_messages TO ERROR;
|
||||||
SELECT replicate_table_shards('lineitem_hash_part', shard_replication_factor:=2, shard_transfer_mode:='block_writes');
|
SELECT replicate_table_shards('lineitem_hash_part', shard_replication_factor:=2, shard_transfer_mode:='block_writes');
|
||||||
|
|
||||||
CREATE INDEX lineitem_hash_part_idx ON lineitem_hash_part(l_orderkey);
|
|
||||||
-- Tests on distributed table with replication factor > 1
|
-- Tests on distributed table with replication factor > 1
|
||||||
VACUUM (FULL) lineitem_hash_part;
|
VACUUM (FULL) lineitem_hash_part;
|
||||||
|
|
||||||
-- table
|
|
||||||
SELECT citus_table_size('lineitem_hash_part');
|
SELECT citus_table_size('lineitem_hash_part');
|
||||||
SELECT citus_relation_size('lineitem_hash_part');
|
SELECT citus_relation_size('lineitem_hash_part');
|
||||||
SELECT citus_total_relation_size('lineitem_hash_part');
|
SELECT citus_total_relation_size('lineitem_hash_part');
|
||||||
-- index
|
|
||||||
|
CREATE INDEX lineitem_hash_part_idx ON lineitem_hash_part(l_orderkey);
|
||||||
|
VACUUM (FULL) lineitem_hash_part;
|
||||||
|
|
||||||
|
SELECT citus_table_size('lineitem_hash_part');
|
||||||
|
SELECT citus_relation_size('lineitem_hash_part');
|
||||||
|
SELECT citus_total_relation_size('lineitem_hash_part');
|
||||||
|
|
||||||
SELECT citus_table_size('lineitem_hash_part_idx');
|
SELECT citus_table_size('lineitem_hash_part_idx');
|
||||||
SELECT citus_relation_size('lineitem_hash_part_idx');
|
SELECT citus_relation_size('lineitem_hash_part_idx');
|
||||||
SELECT citus_total_relation_size('lineitem_hash_part_idx');
|
SELECT citus_total_relation_size('lineitem_hash_part_idx');
|
||||||
|
|
||||||
DROP INDEX lineitem_hash_part_idx;
|
DROP INDEX lineitem_hash_part_idx;
|
||||||
|
|
||||||
CREATE INDEX customer_copy_hash_idx on customer_copy_hash(c_custkey);
|
|
||||||
VACUUM (FULL) customer_copy_hash;
|
VACUUM (FULL) customer_copy_hash;
|
||||||
|
|
||||||
-- Tests on distributed tables with streaming replication.
|
-- Tests on distributed tables with streaming replication.
|
||||||
-- table
|
|
||||||
SELECT citus_table_size('customer_copy_hash');
|
SELECT citus_table_size('customer_copy_hash');
|
||||||
SELECT citus_relation_size('customer_copy_hash');
|
SELECT citus_relation_size('customer_copy_hash');
|
||||||
SELECT citus_total_relation_size('customer_copy_hash');
|
SELECT citus_total_relation_size('customer_copy_hash');
|
||||||
-- index
|
|
||||||
SELECT citus_table_size('customer_copy_hash_idx');
|
|
||||||
SELECT citus_relation_size('customer_copy_hash_idx');
|
|
||||||
SELECT citus_total_relation_size('customer_copy_hash_idx');
|
|
||||||
|
|
||||||
VACUUM (FULL) supplier;
|
|
||||||
|
|
||||||
-- Make sure we can get multiple sizes in a single query
|
-- Make sure we can get multiple sizes in a single query
|
||||||
SELECT citus_table_size('customer_copy_hash'),
|
SELECT citus_table_size('customer_copy_hash'),
|
||||||
citus_table_size('customer_copy_hash'),
|
citus_table_size('customer_copy_hash'),
|
||||||
citus_table_size('supplier');
|
citus_table_size('supplier');
|
||||||
|
|
||||||
|
CREATE INDEX index_1 on customer_copy_hash(c_custkey);
|
||||||
|
VACUUM (FULL) customer_copy_hash;
|
||||||
|
|
||||||
|
-- Tests on distributed table with index.
|
||||||
|
SELECT citus_table_size('customer_copy_hash');
|
||||||
|
SELECT citus_relation_size('customer_copy_hash');
|
||||||
|
SELECT citus_total_relation_size('customer_copy_hash');
|
||||||
|
|
||||||
|
SELECT citus_table_size('index_1');
|
||||||
|
SELECT citus_relation_size('index_1');
|
||||||
|
SELECT citus_total_relation_size('index_1');
|
||||||
|
|
||||||
-- Tests on reference table
|
-- Tests on reference table
|
||||||
-- table
|
VACUUM (FULL) supplier;
|
||||||
|
|
||||||
SELECT citus_table_size('supplier');
|
SELECT citus_table_size('supplier');
|
||||||
SELECT citus_relation_size('supplier');
|
SELECT citus_relation_size('supplier');
|
||||||
SELECT citus_total_relation_size('supplier');
|
SELECT citus_total_relation_size('supplier');
|
||||||
|
|
||||||
CREATE INDEX supplier_idx on supplier(s_suppkey);
|
CREATE INDEX index_2 on supplier(s_suppkey);
|
||||||
|
VACUUM (FULL) supplier;
|
||||||
|
|
||||||
-- table
|
|
||||||
SELECT citus_table_size('supplier');
|
SELECT citus_table_size('supplier');
|
||||||
SELECT citus_relation_size('supplier');
|
SELECT citus_relation_size('supplier');
|
||||||
SELECT citus_total_relation_size('supplier');
|
SELECT citus_total_relation_size('supplier');
|
||||||
-- index
|
|
||||||
SELECT citus_table_size('supplier_idx');
|
SELECT citus_table_size('index_2');
|
||||||
SELECT citus_relation_size('supplier_idx');
|
SELECT citus_relation_size('index_2');
|
||||||
SELECT citus_total_relation_size('supplier_idx');
|
SELECT citus_total_relation_size('index_2');
|
||||||
|
|
||||||
-- Test on partitioned table
|
-- Test on partitioned table
|
||||||
CREATE TABLE split_me (dist_col int, partition_col timestamp) PARTITION BY RANGE (partition_col);
|
CREATE TABLE split_me (dist_col int, partition_col timestamp) PARTITION BY RANGE (partition_col);
|
||||||
|
@ -128,5 +138,5 @@ SELECT citus_total_relation_size('customer_copy_hash');
|
||||||
ALTER SYSTEM RESET citus.node_conninfo;
|
ALTER SYSTEM RESET citus.node_conninfo;
|
||||||
SELECT pg_reload_conf();
|
SELECT pg_reload_conf();
|
||||||
|
|
||||||
DROP INDEX customer_copy_hash_idx;
|
DROP INDEX index_1;
|
||||||
DROP INDEX supplier_idx;
|
DROP INDEX index_2;
|
||||||
|
|
Loading…
Reference in New Issue