summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/autocommit_func.test
diff options
context:
space:
mode:
authorHorst Hunger <horst@mysql.com>2008-12-19 16:03:32 +0100
committerHorst Hunger <horst@mysql.com>2008-12-19 16:03:32 +0100
commit357b5009409ed6666bf1df48a80d76cd42a482c8 (patch)
tree7a2fa9b404ffb20d1572c51a0bca7ecc64992310 /mysql-test/suite/sys_vars/t/autocommit_func.test
parentba816c14a9bc8012759da9d58f858f1e73bec708 (diff)
downloadmariadb-git-357b5009409ed6666bf1df48a80d76cd42a482c8.tar.gz
WL#4681: Took the system variable tests out of the main test suite, put them into "sys_vars", updated some reult files and tests.
Diffstat (limited to 'mysql-test/suite/sys_vars/t/autocommit_func.test')
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func.test164
1 files changed, 164 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func.test b/mysql-test/suite/sys_vars/t/autocommit_func.test
new file mode 100644
index 00000000000..07e15ce40da
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func.test
@@ -0,0 +1,164 @@
+############## mysql-test\t\auto_commit_func.test #############################
+# #
+# Variable Name: autocommit #
+# Scope: SESSION #
+# Access Type: Dynamic #
+# Data Type: Boolean #
+# Default Value: NA #
+# Range: NA #
+# #
+# #
+# Creation Date: 2008-03-07 #
+# Author: Salman Rawala #
+# #
+# Description: Test Cases of Dynamic System Variable "autocommit" #
+# that checks functionality of this variable #
+# #
+# Reference: (Not Mentioned on website) #
+# #
+################################################################################
+
+--source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+#########################
+# Creating new table #
+#########################
+
+--echo ## Creating new table ##
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+
+--echo '#--------------------FN_DYNVARS_003_01-------------------------#'
+#####################################################
+# Setting initial value of auto_commit to zero #
+#####################################################
+
+--echo ## Setting variable's value to 0 i.e false ##
+SET @@autocommit = 0;
+
+
+--echo '#--------------------FN_DYNVARS_003_02-------------------------#'
+######################################################################
+# Creating 2 different connections & testing behavior of autocommit
+# after updating record in 1st connection
+######################################################################
+
+--echo ## Creating new connection ##
+CONNECT (test_con1,localhost,root,,);
+CONNECTION test_con1;
+
+--echo ## Checking value of variable after opening new connection ##
+
+SELECT @@autocommit;
+
+--echo ## Setting value of variable to zero and inserting some rows ##
+SET @@autocommit = 0;
+
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+
+--echo ## Creating another connection and verifying records in table ##
+
+--echo ## New Connection test_con2 ##
+CONNECT (test_con2,localhost,root,,);
+CONNECTION test_con2;
+SELECT * from t1;
+
+
+--echo '#--------------------FN_DYNVARS_003_03-------------------------#'
+######################################################################
+# Creating 2 different connections & testing behavior of autocommit
+# after updating record in 1st connection and using COMMIT in first
+# connection
+######################################################################
+
+--echo ## Verifying behavior of variable by commiting rows in test_con1 ##
+--echo ## Connecting with connection # 01 ##
+CONNECTION test_con1;
+SELECT * from t1;
+COMMIT;
+
+
+--echo ## New Connection test_con2 ##
+--echo ## Now verifying records in table from connection # 02 ##
+CONNECTION test_con2;
+SELECT * from t1;
+
+--echo '#--------------------FN_DYNVARS_003_04-------------------------#'
+######################################################################
+# Creating 2 different connections & testing behavior of autocommit
+# after updating record in 1st connection and using ROLLBACK in
+# first connection
+######################################################################
+
+--echo ## Connecting to connection # 01 ##
+CONNECTION test_con1;
+SELECT * from t1;
+
+--echo ## Updating value of first row ##
+UPDATE t1 set name = 'Record_12' where name = 'Record_1';
+SELECT * from t1;
+
+--echo ## Connecting to connecting # 02 and verifying effect of update query ##
+CONNECTION test_con2;
+SELECT * from t1;
+
+--echo ## Now connecting with connection # 01 and using ROLLBACK after it ##
+CONNECTION test_con1;
+ROLLBACK;
+SELECT * from t1;
+
+
+
+--echo '#--------------------FN_DYNVARS_003_05-------------------------#'
+######################################################################
+# Creating 2 different connections & testing behavior of autocommit
+# after updating records in 1st connection and setting AUTOCOMMIT
+# to 1 in second connection
+######################################################################
+
+
+--echo ## Connecting with connection # 01 ##
+CONNECTION test_con1;
+INSERT into t1(name) values('Record_3');
+
+
+--echo ## Connection test_con2 ##
+--echo ## Now verifying records in table from connection # 02 and changing value ##
+--echo ## of autocommit to true ##
+CONNECTION test_con2;
+SELECT * from t1;
+SET @@autocommit = 1;
+INSERT into t1(name) values('Record_4');
+INSERT into t1(name) values('Record_5');
+SELECT * from t1;
+
+--echo ## Connecting with connection # 01 and inserting few records ##
+CONNECTION test_con1;
+SELECT * from t1;
+--echo 'Bug#35373: Records donot get committed in transaction on switching connections'
+INSERT into t1(name) values('Record_6');
+SELECT * from t1;
+
+--echo ## Now verifying the effect of these new records in second connection ##
+CONNECTION test_con2;
+SELECT * from t1;
+
+--echo ## Dropping table t1 ##
+DROP table t1;
+
+--echo ## Disconnecting both connections ##
+DISCONNECT test_con1;
+DISCONNECT test_con2;
+
+
+