Added two tests for testing readwrite split router's ability to route read to master if in active transaction and to slave when outside transaction.
This commit is contained in:
@ -20,17 +20,8 @@ fi
|
|||||||
|
|
||||||
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent
|
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent
|
||||||
|
|
||||||
TINPUT=test_transaction_routing1.sql
|
|
||||||
TRETVAL=2
|
|
||||||
a=`$RUNCMD < ./$TINPUT`
|
|
||||||
if [ "$a" != "$TRETVAL" ]; then
|
|
||||||
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
|
|
||||||
else
|
|
||||||
echo "$TINPUT PASSED">>$TLOG ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
TINPUT=test_transaction_routing2.sql
|
TINPUT=test_transaction_routing2.sql
|
||||||
TRETVAL=foo
|
TRETVAL=0
|
||||||
a=`$RUNCMD < ./$TINPUT`
|
a=`$RUNCMD < ./$TINPUT`
|
||||||
if [ "$a" != "$TRETVAL" ]; then
|
if [ "$a" != "$TRETVAL" ]; then
|
||||||
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
|
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
|
||||||
@ -39,7 +30,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
TINPUT=test_transaction_routing3.sql
|
TINPUT=test_transaction_routing3.sql
|
||||||
TRETVAL=bar
|
TRETVAL=2
|
||||||
a=`$RUNCMD < ./$TINPUT`
|
a=`$RUNCMD < ./$TINPUT`
|
||||||
if [ "$a" != "$TRETVAL" ]; then
|
if [ "$a" != "$TRETVAL" ]; then
|
||||||
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
|
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
|
||||||
|
|||||||
@ -1,3 +1,11 @@
|
|||||||
|
USE test;
|
||||||
SET autocommit = 0;
|
SET autocommit = 0;
|
||||||
SELECT @@in_transaction INTO @a;
|
START TRANSACTION;
|
||||||
SELECT @a;
|
CREATE TABLE IF NOT EXISTS myCity (a int, b char(20));
|
||||||
|
INSERT INTO myCity VALUES (1, 'Milan');
|
||||||
|
INSERT INTO myCity VALUES (2, 'London');
|
||||||
|
COMMIT;
|
||||||
|
START TRANSACTION;
|
||||||
|
DELETE FROM myCity;
|
||||||
|
SELECT COUNT(*) FROM myCity; -- read transaction's modifications from master
|
||||||
|
COMMIT;
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
USE test;
|
||||||
|
SET autocommit = 0;
|
||||||
|
START TRANSACTION;
|
||||||
|
CREATE TABLE IF NOT EXISTS myCity (a int, b char(20));
|
||||||
|
INSERT INTO myCity VALUES (1, 'Milan');
|
||||||
|
INSERT INTO myCity VALUES (2, 'London');
|
||||||
|
COMMIT;
|
||||||
|
DELETE FROM myCity;
|
||||||
|
SELECT COUNT(*) FROM myCity; -- read transaction's modifications from slave
|
||||||
|
COMMIT;
|
||||||
@ -1,19 +0,0 @@
|
|||||||
USE test;
|
|
||||||
SET autocommit = 0;
|
|
||||||
SET @a= -1;
|
|
||||||
SET @b = -2;
|
|
||||||
START TRANSACTION;
|
|
||||||
CREATE TABLE IF NOT EXISTS myCity (a int, b char(20));
|
|
||||||
INSERT INTO myCity VALUES (1, 'Milan');
|
|
||||||
INSERT INTO myCity VALUES (2, 'London');
|
|
||||||
COMMIT;
|
|
||||||
START TRANSACTION;
|
|
||||||
DELETE FROM myCity;
|
|
||||||
SET @a = (SELECT COUNT(1) FROM myCity);
|
|
||||||
ROLLBACK;
|
|
||||||
START TRANSACTION;
|
|
||||||
SET @b = (SELECT COUNT(*) FROM myCity);
|
|
||||||
START TRANSACTION;
|
|
||||||
DROP TABLE myCity;
|
|
||||||
SELECT (@a+@b) AS res;
|
|
||||||
COMMIT;
|
|
||||||
Reference in New Issue
Block a user