diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
commit | 3f619478f796eddbba6e39502fe941b285dd97b1 (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/sys_vars/t/autocommit_func.test | |
parent | Initial commit. (diff) | |
download | mariadb-upstream.tar.xz mariadb-upstream.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/sys_vars/t/autocommit_func.test')
-rw-r--r-- | mysql-test/suite/sys_vars/t/autocommit_func.test | 159 |
1 files changed, 159 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 00000000..2d5c66fb --- /dev/null +++ b/mysql-test/suite/sys_vars/t/autocommit_func.test @@ -0,0 +1,159 @@ +############## 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 +###################################################################### + +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 ## + +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 ## +CONNECTION test_con1; +SELECT * from t1; +COMMIT; + + +--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 +###################################################################### + +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 +###################################################################### + + +CONNECTION test_con1; +INSERT into t1(name) values('Record_3'); + + +--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; +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 ## Commit changes +CONNECTION test_con1; +COMMIT; + +--echo ## Dropping table t1 ## +DROP table t1; + +DISCONNECT test_con1; +DISCONNECT test_con2; + + + |