mirror of https://github.com/citusdata/citus.git
74 lines
1.7 KiB
Python
74 lines
1.7 KiB
Python
// the test expects to have zero nodes in pg_dist_node at the beginning
|
|
// add single one of the nodes for the purpose of the test
|
|
setup
|
|
{
|
|
SELECT master_remove_node(nodename, nodeport) FROM pg_dist_node;
|
|
SELECT 1 FROM master_add_node('localhost', 57637);
|
|
}
|
|
|
|
teardown
|
|
{
|
|
DROP TABLE IF EXISTS t1 CASCADE;
|
|
SELECT master_remove_node(nodename, nodeport) FROM pg_dist_node;
|
|
}
|
|
|
|
session "s1"
|
|
|
|
step "s1-add-second-node" {
|
|
SELECT 1 FROM master_add_node('localhost', 57638);
|
|
}
|
|
|
|
step "s1-begin"
|
|
{
|
|
BEGIN;
|
|
}
|
|
|
|
step "s1-noshards"
|
|
{
|
|
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
|
|
}
|
|
|
|
step "s1-commit"
|
|
{
|
|
COMMIT;
|
|
}
|
|
|
|
session "s2"
|
|
|
|
step "s2-begin"
|
|
{
|
|
BEGIN;
|
|
}
|
|
|
|
step "s2-create-distributed-table"
|
|
{
|
|
CREATE TABLE t1 (a int);
|
|
-- session needs to have replication factor set to 1, can't do in setup
|
|
SET citus.shard_replication_factor TO 1;
|
|
SELECT create_distributed_table('t1', 'a');
|
|
}
|
|
|
|
step "s2-update-node"
|
|
{
|
|
select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638)
|
|
}
|
|
|
|
|
|
step "s2-commit"
|
|
{
|
|
COMMIT;
|
|
}
|
|
|
|
step "s2-shardcounts"
|
|
{
|
|
SELECT nodeport, count(*)
|
|
FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid)
|
|
WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport;
|
|
}
|
|
|
|
|
|
permutation "s1-add-second-node" "s1-begin" "s2-begin" "s2-create-distributed-table" "s1-noshards" "s2-commit" "s1-commit" "s2-shardcounts"
|
|
permutation "s1-add-second-node" "s1-begin" "s2-begin" "s1-noshards" "s2-create-distributed-table" "s1-commit" "s2-commit" "s2-shardcounts"
|
|
permutation "s1-begin" "s2-begin" "s1-noshards" "s2-update-node" "s1-commit" "s2-commit"
|
|
permutation "s1-begin" "s2-begin" "s2-update-node" "s1-noshards" "s2-commit" "s1-commit"
|