diff options
author | Pallavi Sontakke | 2016-06-20 11:53:31 +0000 |
---|---|---|
committer | Pavan Deolasee | 2016-10-18 10:05:30 +0000 |
commit | 7ff900742b1cfc0d7e7b3b1a764d663a2319790d (patch) | |
tree | 0a078832edcaafb22511d6e66e58b7c30cb873a8 | |
parent | bb7e519f74dbddaf174a9606b590c281d4ca4913 (diff) |
Add TAP test for crash recovery Issue #84
Test crash recovery when prepared transactions are being created in
the background. Tests #84.
-rwxr-xr-x | contrib/pgxc_ctl/t/020_prepared_txns.pl | 206 | ||||
-rwxr-xr-x | contrib/pgxc_ctl/t/prep_tx1.sql | 23 | ||||
-rwxr-xr-x | contrib/pgxc_ctl/t/prep_tx2.sql | 23 | ||||
-rwxr-xr-x | contrib/pgxc_ctl/t/prep_tx3.sql | 23 | ||||
-rwxr-xr-x | contrib/pgxc_ctl/t/prep_tx4.sql | 23 |
5 files changed, 298 insertions, 0 deletions
diff --git a/contrib/pgxc_ctl/t/020_prepared_txns.pl b/contrib/pgxc_ctl/t/020_prepared_txns.pl new file mode 100755 index 0000000000..371cd9315e --- /dev/null +++ b/contrib/pgxc_ctl/t/020_prepared_txns.pl @@ -0,0 +1,206 @@ +use strict; +use warnings; +use Cwd; +use Config; +use TestLib; +use Test::More tests => 5; + +my $dataDirRoot="~/DATA/pgxl/nodes/"; +$ENV{'PGXC_CTL_HOME'} = '/tmp/pgxc_ctl'; +my $PGXC_CTL_HOME=$ENV{'PGXC_CTL_HOME'}; + +#delete related dirs for cleanup +system("echo '==========clear existing configuration==========='"); +system("rm -rf $dataDirRoot"); +system("rm -rf $PGXC_CTL_HOME"); + +my $GTM_HOST="localhost"; +my $COORD1_HOST="localhost"; +my $COORD1_PORT=30001; +my $COORD2_PORT=30002; +my $COORD2_HOST="localhost"; +my $DN1_HOST="localhost"; +my $DN2_HOST="localhost"; +my $DEFAULT_DB="postgres"; +my $TEST_DB="testdb"; + +system("echo '==========prepare configuration==========='"); +system_or_bail 'pgxc_ctl', 'prepare', 'config', 'empty' ; + +system_or_bail 'pgxc_ctl', 'add', 'gtm', 'master', 'gtm', "$GTM_HOST", '20001', "$dataDirRoot/gtm" ; + +system_or_bail 'pgxc_ctl', 'add', 'coordinator', 'master', 'coord1', "$COORD1_HOST", '30001', '30011', "$dataDirRoot/coord_master.1", 'none', 'none'; + +system_or_bail 'pgxc_ctl', 'add', 'coordinator', 'master', 'coord2', "$COORD2_HOST", '30002', '30012', "$dataDirRoot/coord_master.2", 'none', 'none'; + +system_or_bail 'pgxc_ctl', 'add', 'datanode', 'master', 'dn1', "$DN1_HOST", '40001', '40011', "$dataDirRoot/dn_master.1", 'none', 'none', 'none' ; + +system_or_bail 'pgxc_ctl', 'add', 'datanode', 'master', 'dn2', "$DN2_HOST", '40002', '40012', "$dataDirRoot/dn_master.2", 'none', 'none', 'none' ; + +system_or_bail 'pgxc_ctl', 'monitor', 'all' ; + +#add data + +system("echo '==========populate data==========='"); + +system_or_bail 'psql', '-p', "$COORD1_PORT", "$DEFAULT_DB",'-c', "CREATE DATABASE testdb;"; + +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT * FROM pgxc_node;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "CREATE TABLE disttab(col1 int, col2 int) DISTRIBUTE BY HASH(col1);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "CREATE TABLE repltab (col1 int, col2 int) DISTRIBUTE BY REPLICATION;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(1,1);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(2,2);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(3,3);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(4,4);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(5,5);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(6,6);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(7,7);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(8,8);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(9,9);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(10,10);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(11,11);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(12,12);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(13,13);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(14,14);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(15,15);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(16,16);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(17,17);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(18,18);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(19,19);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO disttab VALUES(20,20);"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "INSERT INTO repltab VALUES (generate_series(1,100), generate_series(101, 200));"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM disttab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, * FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM repltab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;"; + +# test with killing nodes +# do data sanity check + +system("psql -p 30001 testdb -f t/prep_tx1.sql --echo-all --set AUTOCOMMIT=off &"); +system("echo '==========kill dn1 -- with data==========='"); +system_or_bail 'pgxc_ctl', 'kill', 'datanode', 'master', 'dn1' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "select pg_sleep(3);"; +system_or_bail 'pgxc_ctl', 'start', 'datanode', 'master', 'dn1' ; + + +system("echo '==========data sanity check==========='"); + +system_or_bail 'pgxc_ctl', 'monitor', 'all' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM disttab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM repltab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT * from pg_prepared_xacts;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn1) 'SELECT * from pg_prepared_xacts;';"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn2) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord1==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord1) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord2==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord2) 'SELECT * from pg_prepared_xacts;';"; + + +system("psql -p 30001 testdb -f t/prep_tx2.sql --echo-all --set AUTOCOMMIT=off &"); +system("echo '==========kill coord1 -- with data==========='"); +system_or_bail 'pgxc_ctl', 'kill', 'coordinator', 'master', 'coord1' ; +system_or_bail 'sleep', '3'; +system_or_bail 'pgxc_ctl', 'start', 'coordinator', 'master', 'coord1' ; + + +system("echo '==========data sanity check==========='"); + +system_or_bail 'pgxc_ctl', 'monitor', 'all' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM disttab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM repltab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT * from pg_prepared_xacts;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn1) 'SELECT * from pg_prepared_xacts;';"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn2) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord1==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord1) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord2==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord2) 'SELECT * from pg_prepared_xacts;';"; + + + +system("psql -p 30001 testdb -f t/prep_tx3.sql --echo-all --set AUTOCOMMIT=off &"); +system("echo '==========kill coord2 -- with data==========='"); +system_or_bail 'pgxc_ctl', 'kill', 'coordinator', 'master', 'coord2' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "select pg_sleep(3);"; +system_or_bail 'pgxc_ctl', 'start', 'coordinator', 'master', 'coord2' ; + + +system("echo '==========data sanity check==========='"); + +system_or_bail 'pgxc_ctl', 'monitor', 'all' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM disttab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM repltab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT * from pg_prepared_xacts;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn1) 'SELECT * from pg_prepared_xacts;';"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn2) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord1==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord1) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord2==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord2) 'SELECT * from pg_prepared_xacts;';"; + + + +system("psql -p 30001 testdb -f t/prep_tx4.sql --echo-all --set AUTOCOMMIT=off &"); +system("echo '==========kill gtm master -- with data==========='"); +system_or_bail 'pgxc_ctl', 'kill', 'gtm', 'master', 'gtm' ; +system_or_bail 'sleep', '3'; +system_or_bail 'pgxc_ctl', 'start', 'gtm', 'master', 'gtm' ; +system_or_bail 'sleep', '10'; + +system("echo '==========data sanity check==========='"); + +system_or_bail 'pgxc_ctl', 'monitor', 'all' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM disttab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM repltab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT * from pg_prepared_xacts;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn1) 'SELECT * from pg_prepared_xacts;';"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn2) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord1==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord1) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord2==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord2) 'SELECT * from pg_prepared_xacts;';"; + + + +system("echo '==========commit prepared transactions==========='"); + +command_ok([ 'psql', '-p', "$COORD1_PORT", "$TEST_DB", '-c', "COMMIT PREPARED 'foo1';" ], 'commit prepared transaction foo1 '); +command_ok([ 'psql', '-p', "$COORD1_PORT", "$TEST_DB", '-c', "COMMIT PREPARED 'foo2';" ], 'commit prepared transaction foo2'); +command_ok([ 'psql', '-p', "$COORD1_PORT", "$TEST_DB", '-c', "EXECUTE DIRECT ON (coord2) 'COMMIT PREPARED ''foo3'';';" ], 'commit prepared transaction directly on coord2 '); +command_ok([ 'psql', '-p', "$COORD2_PORT", "$TEST_DB", '-c', "COMMIT PREPARED 'foo3';" ], 'commit prepared transaction connecting to coord2 '); +command_ok([ 'psql', '-p', "$COORD1_PORT", "$TEST_DB", '-c', "COMMIT PREPARED 'foo4';" ], 'commit prepared transaction connecting to coord2 '); + +system("echo '==========data sanity check==========='"); + +system_or_bail 'pgxc_ctl', 'monitor', 'all' ; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM disttab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM disttab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT count(*) FROM repltab;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "SELECT * from pg_prepared_xacts;"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn1) 'SELECT * from pg_prepared_xacts;';"; +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (dn2) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord1==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord1) 'SELECT * from pg_prepared_xacts;';"; +system("echo '==========checking on coord2==========='"); +system_or_bail 'psql', '-p', "$COORD1_PORT", "$TEST_DB",'-c', "EXECUTE DIRECT ON (coord2) 'SELECT * from pg_prepared_xacts;';"; + +#add cleanup +system_or_bail 'pgxc_ctl', 'clean', 'all' ; + + +#delete related dirs for cleanup +system("rm -rf $dataDirRoot"); +system("rm -rf $PGXC_CTL_HOME"); + diff --git a/contrib/pgxc_ctl/t/prep_tx1.sql b/contrib/pgxc_ctl/t/prep_tx1.sql new file mode 100755 index 0000000000..79c355a283 --- /dev/null +++ b/contrib/pgxc_ctl/t/prep_tx1.sql @@ -0,0 +1,23 @@ +BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; +SELECT pg_sleep(3); +INSERT INTO disttab VALUES(21,21); +INSERT INTO disttab VALUES(22,22); +INSERT INTO disttab VALUES(23,23); +INSERT INTO disttab VALUES(24,24); +INSERT INTO disttab VALUES(25,25); +INSERT INTO disttab VALUES(26,26); +INSERT INTO disttab VALUES(27,27); +INSERT INTO disttab VALUES(28,28); +INSERT INTO disttab VALUES(29,29); +INSERT INTO disttab VALUES(30,30); +INSERT INTO disttab VALUES(31,31); +INSERT INTO disttab VALUES(32,32); +INSERT INTO disttab VALUES(33,33); +INSERT INTO disttab VALUES(34,34); +INSERT INTO disttab VALUES(35,35); +INSERT INTO disttab VALUES(36,36); +INSERT INTO disttab VALUES(37,37); +INSERT INTO disttab VALUES(38,38); +INSERT INTO disttab VALUES(39,39); +INSERT INTO disttab VALUES(40,40); +PREPARE TRANSACTION 'foo1'; diff --git a/contrib/pgxc_ctl/t/prep_tx2.sql b/contrib/pgxc_ctl/t/prep_tx2.sql new file mode 100755 index 0000000000..4e4efb8161 --- /dev/null +++ b/contrib/pgxc_ctl/t/prep_tx2.sql @@ -0,0 +1,23 @@ +BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; +SELECT pg_sleep(3); +INSERT INTO disttab VALUES(21,21); +INSERT INTO disttab VALUES(22,22); +INSERT INTO disttab VALUES(23,23); +INSERT INTO disttab VALUES(24,24); +INSERT INTO disttab VALUES(25,25); +INSERT INTO disttab VALUES(26,26); +INSERT INTO disttab VALUES(27,27); +INSERT INTO disttab VALUES(28,28); +INSERT INTO disttab VALUES(29,29); +INSERT INTO disttab VALUES(30,30); +INSERT INTO disttab VALUES(31,31); +INSERT INTO disttab VALUES(32,32); +INSERT INTO disttab VALUES(33,33); +INSERT INTO disttab VALUES(34,34); +INSERT INTO disttab VALUES(35,35); +INSERT INTO disttab VALUES(36,36); +INSERT INTO disttab VALUES(37,37); +INSERT INTO disttab VALUES(38,38); +INSERT INTO disttab VALUES(39,39); +INSERT INTO disttab VALUES(40,40); +PREPARE TRANSACTION 'foo2'; diff --git a/contrib/pgxc_ctl/t/prep_tx3.sql b/contrib/pgxc_ctl/t/prep_tx3.sql new file mode 100755 index 0000000000..0278d39553 --- /dev/null +++ b/contrib/pgxc_ctl/t/prep_tx3.sql @@ -0,0 +1,23 @@ +BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; +SELECT pg_sleep(3); +INSERT INTO disttab VALUES(21,21); +INSERT INTO disttab VALUES(22,22); +INSERT INTO disttab VALUES(23,23); +INSERT INTO disttab VALUES(24,24); +INSERT INTO disttab VALUES(25,25); +INSERT INTO disttab VALUES(26,26); +INSERT INTO disttab VALUES(27,27); +INSERT INTO disttab VALUES(28,28); +INSERT INTO disttab VALUES(29,29); +INSERT INTO disttab VALUES(30,30); +INSERT INTO disttab VALUES(31,31); +INSERT INTO disttab VALUES(32,32); +INSERT INTO disttab VALUES(33,33); +INSERT INTO disttab VALUES(34,34); +INSERT INTO disttab VALUES(35,35); +INSERT INTO disttab VALUES(36,36); +INSERT INTO disttab VALUES(37,37); +INSERT INTO disttab VALUES(38,38); +INSERT INTO disttab VALUES(39,39); +INSERT INTO disttab VALUES(40,40); +PREPARE TRANSACTION 'foo3'; diff --git a/contrib/pgxc_ctl/t/prep_tx4.sql b/contrib/pgxc_ctl/t/prep_tx4.sql new file mode 100755 index 0000000000..1f328170eb --- /dev/null +++ b/contrib/pgxc_ctl/t/prep_tx4.sql @@ -0,0 +1,23 @@ +BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; +SELECT pg_sleep(3); +INSERT INTO disttab VALUES(21,21); +INSERT INTO disttab VALUES(22,22); +INSERT INTO disttab VALUES(23,23); +INSERT INTO disttab VALUES(24,24); +INSERT INTO disttab VALUES(25,25); +INSERT INTO disttab VALUES(26,26); +INSERT INTO disttab VALUES(27,27); +INSERT INTO disttab VALUES(28,28); +INSERT INTO disttab VALUES(29,29); +INSERT INTO disttab VALUES(30,30); +INSERT INTO disttab VALUES(31,31); +INSERT INTO disttab VALUES(32,32); +INSERT INTO disttab VALUES(33,33); +INSERT INTO disttab VALUES(34,34); +INSERT INTO disttab VALUES(35,35); +INSERT INTO disttab VALUES(36,36); +INSERT INTO disttab VALUES(37,37); +INSERT INTO disttab VALUES(38,38); +INSERT INTO disttab VALUES(39,39); +INSERT INTO disttab VALUES(40,40); +PREPARE TRANSACTION 'foo4'; |