citus/src/test/regress/specs/isolation_create_distribute...

64 lines
1.4 KiB
Python

setup
{
CREATE TABLE table_to_distribute(id int);
}
teardown
{
DROP TABLE table_to_distribute CASCADE;
}
session "s1"
step "s1-begin"
{
BEGIN;
}
step "s1-create_distributed_table"
{
SELECT create_distributed_table('table_to_distribute', 'id');
}
step "s1-copy_to_local_table"
{
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
}
step "s1-commit"
{
COMMIT;
}
session "s2"
step "s2-begin"
{
BEGIN;
}
step "s2-create_distributed_table"
{
SELECT create_distributed_table('table_to_distribute', 'id');
}
step "s2-copy_to_local_table"
{
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
}
step "s2-commit"
{
COMMIT;
}
#concurrent create_distributed_table on empty table
permutation "s1-begin" "s2-begin" "s1-create_distributed_table" "s2-create_distributed_table" "s1-commit" "s2-commit"
#concurrent create_distributed_table vs. copy to table
permutation "s1-begin" "s2-begin" "s1-create_distributed_table" "s2-copy_to_local_table" "s1-commit" "s2-commit"
permutation "s1-begin" "s2-begin" "s2-copy_to_local_table" "s1-create_distributed_table" "s2-commit" "s1-commit"
#concurrent create_distributed_table on non-empty table
permutation "s1-copy_to_local_table" "s1-begin" "s2-begin" "s1-create_distributed_table" "s2-create_distributed_table" "s1-commit" "s2-commit"