######### mysql-test\t\binlog_direct_non_transactional_updates.test ########### 
#                                                                             #
# Variable Name: binlog_direct_non_transactional_updates                      #
# Scope: Global & Session                                                     #
# Access Type: Static                                                         #
# Data Type: bool                                                             #
#                                                                             #
# Description:Test Cases of Dynamic System Variable                           #
#             binlog_direct_non_transactional_updates                         #
#             that checks the behavior of this variable in the following ways #
#              * Value Check                                                  #
#              * Scope Check                                                  #
#                                                                             #
# Reference:                                                                  #
#    http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html      #
#                                                                             #
###############################################################################

SELECT @@GLOBAL.binlog_direct_non_transactional_updates;

--echo '#---------------------BS_STVARS_002_01----------------------#'
####################################################################
#   Displaying default value                                       #
####################################################################
SET @start_value= @@global.binlog_direct_non_transactional_updates;

SELECT COUNT(@@GLOBAL.binlog_direct_non_transactional_updates);
--echo 1 Expected

SELECT COUNT(@@SESSION.binlog_direct_non_transactional_updates);
--echo 1 Expected

--echo '#---------------------BS_STVARS_002_02----------------------#'
####################################################################
#   Check if Value can set                                         #
####################################################################
SET @@GLOBAL.binlog_direct_non_transactional_updates=TRUE;
SELECT @@GLOBAL.binlog_direct_non_transactional_updates;

SET @@SESSION.binlog_direct_non_transactional_updates=TRUE;
SELECT @@SESSION.binlog_direct_non_transactional_updates;

--echo '#---------------------BS_STVARS_002_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable  #
#################################################################

SELECT
IF(@@GLOBAL.binlog_direct_non_transactional_updates, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='binlog_direct_non_transactional_updates';
--echo 1 Expected

SELECT COUNT(@@GLOBAL.binlog_direct_non_transactional_updates);
--echo 1 Expected

SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='binlog_direct_non_transactional_updates';
--echo 1 Expected


--echo '#---------------------BS_STVARS_002_04----------------------#'
#################################################################
# Check if the value in SESSION Table matches value in variable #
#################################################################

SELECT
IF(@@SESSION.binlog_direct_non_transactional_updates, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='binlog_direct_non_transactional_updates';
--echo 1 Expected

SELECT COUNT(@@SESSION.binlog_direct_non_transactional_updates);
--echo 1 Expected

SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='binlog_direct_non_transactional_updates';
--echo 1 Expected


--echo '#---------------------BS_STVARS_002_05----------------------#'
################################################################################
#   Check if binlog_format can be accessed with and without @@ sign            #
################################################################################

SELECT COUNT(@@binlog_direct_non_transactional_updates);
--echo 1 Expected
SELECT COUNT(@@local.binlog_direct_non_transactional_updates);
--echo 1 Expected
SELECT COUNT(@@SESSION.binlog_direct_non_transactional_updates);
--echo 1 Expected
SELECT COUNT(@@GLOBAL.binlog_direct_non_transactional_updates);
--echo 1 Expected

SET @@global.binlog_direct_non_transactional_updates= @start_value;
