################# mysql-test\t\innodb_table_locks_func.test  ##################
#                                                                             #
# Variable Name: innodb_table_locks                                           #
# Scope: GLOBAL | SESSION                                                     #
# Access Type: Dynamic                                                        #
# Data Type: boolean                                                          #
# Default Value: 1                                                            #
# Range: 0,1                                                                  #
#                                                                             #
#                                                                             #
# Creation Date: 2008-03-08                                                   #
# Author:  Rizwan                                                             #
#                                                                             #
# Description: Test Cases of Dynamic System Variable innodb_table_locks       #
#              that checks the behavior of this variable                      #
#                                                                             #
# Reference:                                                                  #
#    http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html      #
#                                                                             #
###############################################################################

--source include/not_embedded.inc
--source include/have_innodb.inc

--echo '#--------------------FN_DYNVARS_048_01-------------------------#'
####################################################################
# Check if setting innodb_table_locks is changed in new connection #
####################################################################

SET @start_value= @@global.innodb_table_locks;
SELECT @start_value;

SET @@global.innodb_table_locks = OFF;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.innodb_table_locks;
SELECT @@session.innodb_table_locks;
disconnect con1;


--echo '#--------------------FN_DYNVARS_048_02-------------------------#'
###########################################################
# Begin the functionality Testing of innodb_table_locks   #
###########################################################

#==============================================================================
--echo '----check when innodb_table_locks = ON and autocommit = OFF---'
#==============================================================================
--echo 'connect (con2,localhost,root,,,,)'
connect (con2,localhost,root,,,,);

--echo 'connection default'
connection default;

--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a INT) ENGINE=INNODB;

SET @@autocommit = OFF;
SET @@innodb_table_locks = ON;

BEGIN;
INSERT INTO t1 VALUES(1);
SELECT * FROM t1 FOR UPDATE;

--echo 'CONNECTION con2'
CONNECTION con2;
SET @@innodb_table_locks = ON;
SET @@autocommit = OFF;
send LOCK TABLES t1 WRITE;

--echo 'CONNECTION default'
CONNECTION default;
COMMIT;

--echo 'CONNECTION con2'
CONNECTION con2;
reap;
UNLOCK tables;

DROP TABLE t1;
disconnect con2;

connection default;
SET @@global.innodb_table_locks= @start_value;
SELECT @@global.innodb_table_locks;

##########################################################
# End of functionality Testing for innodb_table_locks    #
##########################################################


