mirror of https://github.com/citusdata/citus.git
76 lines
2.0 KiB
SQL
76 lines
2.0 KiB
SQL
SELECT citus.mitmproxy('conn.allow()');
|
|
|
|
CREATE SCHEMA failure_non_main_db_2pc;
|
|
SET SEARCH_PATH TO 'failure_non_main_db_2pc';
|
|
|
|
CREATE DATABASE other_db1;
|
|
|
|
SELECT citus.mitmproxy('conn.onQuery(query="COMMIT PREPARED").kill()');
|
|
|
|
\c other_db1
|
|
|
|
CREATE USER user_1;
|
|
|
|
\c regression
|
|
|
|
SELECT citus.mitmproxy('conn.allow()');
|
|
|
|
SELECT nodeid, result FROM run_command_on_all_nodes($$SELECT rolname FROM pg_roles WHERE rolname::TEXT = 'user_1'$$) ORDER BY 1;
|
|
|
|
SELECT recover_prepared_transactions();
|
|
|
|
SELECT nodeid, result FROM run_command_on_all_nodes($$SELECT rolname FROM pg_roles WHERE rolname::TEXT = 'user_1'$$) ORDER BY 1;
|
|
|
|
|
|
SELECT citus.mitmproxy('conn.onQuery(query="CREATE USER user_2").kill()');
|
|
|
|
\c other_db1
|
|
|
|
CREATE USER user_2;
|
|
|
|
\c regression
|
|
|
|
SELECT citus.mitmproxy('conn.allow()');
|
|
|
|
SELECT nodeid, result FROM run_command_on_all_nodes($$SELECT rolname FROM pg_roles WHERE rolname::TEXT = 'user_2'$$) ORDER BY 1;
|
|
|
|
SELECT recover_prepared_transactions();
|
|
|
|
SELECT nodeid, result FROM run_command_on_all_nodes($$SELECT rolname FROM pg_roles WHERE rolname::TEXT = 'user_2'$$) ORDER BY 1;
|
|
|
|
DROP DATABASE other_db1;
|
|
-- user_2 should not exist because the query to create it will fail
|
|
-- but let's make sure we try to drop it just in case
|
|
DROP USER IF EXISTS user_1, user_2;
|
|
|
|
SELECT citus_set_coordinator_host('localhost');
|
|
|
|
\c - - - :worker_1_port
|
|
|
|
CREATE DATABASE other_db2;
|
|
|
|
SELECT citus.mitmproxy('conn.onQuery(query="COMMIT PREPARED").kill()');
|
|
|
|
\c other_db2
|
|
|
|
CREATE USER user_3;
|
|
|
|
\c regression
|
|
|
|
SELECT citus.mitmproxy('conn.allow()');
|
|
|
|
SELECT result FROM run_command_on_all_nodes($$SELECT rolname FROM pg_roles WHERE rolname::TEXT = 'user_3'$$) ORDER BY 1;
|
|
|
|
SELECT recover_prepared_transactions();
|
|
|
|
SELECT result FROM run_command_on_all_nodes($$SELECT rolname FROM pg_roles WHERE rolname::TEXT = 'user_3'$$) ORDER BY 1;
|
|
|
|
DROP DATABASE other_db2;
|
|
DROP USER user_3;
|
|
|
|
\c - - - :master_port
|
|
|
|
SELECT result FROM run_command_on_all_nodes($$DELETE FROM pg_dist_node WHERE groupid = 0$$);
|
|
|
|
DROP SCHEMA failure_non_main_db_2pc;
|