mirror of https://github.com/citusdata/citus.git
66 lines
1.1 KiB
Ruby
66 lines
1.1 KiB
Ruby
setup
|
|
{
|
|
CREATE OR REPLACE FUNCTION wake_up_connection_pool_waiters()
|
|
RETURNS void
|
|
LANGUAGE C STABLE STRICT
|
|
AS 'citus', $$wake_up_connection_pool_waiters$$;
|
|
|
|
CREATE OR REPLACE FUNCTION set_max_shared_pool_size(int)
|
|
RETURNS void
|
|
LANGUAGE C STABLE STRICT
|
|
AS 'citus', $$set_max_shared_pool_size$$;
|
|
|
|
CREATE TABLE test (a int, b int);
|
|
SET citus.shard_count TO 32;
|
|
SELECT create_distributed_table('test', 'a');
|
|
INSERT INTO test SELECT i, i FROM generate_series(0,100)i;
|
|
}
|
|
|
|
teardown
|
|
{
|
|
|
|
SELECT set_max_shared_pool_size(100);
|
|
DROP FUNCTION wake_up_connection_pool_waiters();
|
|
DROP FUNCTION set_max_shared_pool_size(int);
|
|
}
|
|
|
|
session "s1"
|
|
|
|
|
|
step "s1-begin"
|
|
{
|
|
BEGIN;
|
|
}
|
|
|
|
step "s1-count-slow"
|
|
{
|
|
SELECT pg_sleep(0.1), count(*) FROM test;
|
|
}
|
|
|
|
step "s1-commit"
|
|
{
|
|
COMMIT;
|
|
}
|
|
|
|
session "s2"
|
|
|
|
step "s2-select"
|
|
{
|
|
SELECT count(*) FROM test;
|
|
}
|
|
|
|
session "s3"
|
|
|
|
step "s3-lower-pool-size"
|
|
{
|
|
SELECT set_max_shared_pool_size(5);
|
|
}
|
|
|
|
step "s3-increase-pool-size"
|
|
{
|
|
SELECT set_max_shared_pool_size(100);
|
|
}
|
|
|
|
permutation "s3-lower-pool-size" "s1-begin" "s1-count-slow" "s3-increase-pool-size" "s2-select" "s1-commit"
|
|
|