mirror of
https://github.com/MariaDB/server.git
synced 2025-06-01 19:42:01 +03:00
and small collateral changes mysql-test/lib/My/Test.pm: somehow with "print" we get truncated writes sometimes mysql-test/suite/perfschema/r/digest_table_full.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/perfschema/r/dml_handler.result: host table is not ported over yet mysql-test/suite/perfschema/r/information_schema.result: host table is not ported over yet mysql-test/suite/perfschema/r/nesting.result: this differs, because we don't rewrite general log queries, and multi-statement packets are logged as a one entry. this result file is identical to what mysql-5.6.5 produces with the --log-raw option. mysql-test/suite/perfschema/r/relaylog.result: MariaDB modifies the binlog index file directly, while MySQL 5.6 has a feature "crash-safe binlog index" and modifies a special "crash-safe" shadow copy of the index file and then moves it over. That's why this test shows "NONE" index file writes in MySQL and "MANY" in MariaDB. mysql-test/suite/perfschema/r/server_init.result: MariaDB initializes the "manager" resources from the "manager" thread, and starts this thread only when --flush-time is not 0. MySQL 5.6 initializes "manager" resources unconditionally on server startup. mysql-test/suite/perfschema/r/stage_mdl_global.result: this differs, because MariaDB disables query cache when query_cache_size=0. MySQL does not do that, and this causes useless mutex locks and waits. mysql-test/suite/perfschema/r/statement_digest.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/perfschema/r/statement_digest_consumers.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/perfschema/r/statement_digest_long_query.result: md5 hashes of statement digests differ, because yacc token codes are different in mariadb mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result: will be updated to match 5.6 when alfranio.correia@oracle.com-20110512172919-c1b5kmum4h52g0ni and anders.song@greatopensource.com-20110105052107-zoab0bsf5a6xxk2y are merged mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result: will be updated to match 5.6 when anders.song@greatopensource.com-20110105052107-zoab0bsf5a6xxk2y is merged
200 lines
8.0 KiB
Plaintext
200 lines
8.0 KiB
Plaintext
############## mysql-test\t\tx_read_only_basic.test ###########################
|
|
# #
|
|
# Variable Name: tx_read_only #
|
|
# Scope: GLOBAL & SESSION #
|
|
# Access Type: Dynamic #
|
|
# Data Type: boolean #
|
|
# Default Value: OFF #
|
|
# Range: #
|
|
# #
|
|
# #
|
|
# Creation Date: 2012-01-12 #
|
|
# Author: joh #
|
|
# #
|
|
# Description: Test Cases of Dynamic System Variable tx_read_only #
|
|
# that checks the behavior of this variable in the following ways#
|
|
# * Default Value #
|
|
# * Valid & Invalid values #
|
|
# * Scope & Access method #
|
|
# * Data Integrity #
|
|
# #
|
|
# Reference: http://dev.mysql.com/doc/refman/5.6/en/ #
|
|
# server-system-variables.html #
|
|
# #
|
|
###############################################################################
|
|
|
|
--source include/load_sysvars.inc
|
|
|
|
--echo ####################################################################
|
|
--echo # START OF tx_read_only TESTS #
|
|
--echo ####################################################################
|
|
|
|
|
|
--echo #############################################################
|
|
--echo # Save initial value #
|
|
--echo #############################################################
|
|
|
|
SET @start_global_value = @@global.tx_read_only;
|
|
SELECT @start_global_value;
|
|
SET @start_session_value = @@session.tx_read_only;
|
|
SELECT @start_session_value;
|
|
|
|
|
|
--echo ########################################################################
|
|
--echo # Display the DEFAULT value of tx_read_only #
|
|
--echo ########################################################################
|
|
|
|
SET @@global.tx_read_only = ON;
|
|
SET @@global.tx_read_only = DEFAULT;
|
|
SELECT @@global.tx_read_only;
|
|
|
|
SET @@session.tx_read_only = ON;
|
|
SET @@session.tx_read_only = DEFAULT;
|
|
SELECT @@session.tx_read_only;
|
|
|
|
|
|
--echo ##############################################################################
|
|
--echo # Change the value of tx_read_only to a valid value for GLOBAL Scope #
|
|
--echo ##############################################################################
|
|
|
|
SET @@global.tx_read_only = ON;
|
|
SELECT @@global.tx_read_only;
|
|
SET @@global.tx_read_only = OFF;
|
|
SELECT @@global.tx_read_only;
|
|
SET @@global.tx_read_only = 0;
|
|
SELECT @@global.tx_read_only;
|
|
SET @@global.tx_read_only = 1;
|
|
SELECT @@global.tx_read_only;
|
|
SET @@global.tx_read_only = TRUE;
|
|
SELECT @@global.tx_read_only;
|
|
SET @@global.tx_read_only = FALSE;
|
|
SELECT @@global.tx_read_only;
|
|
|
|
|
|
|
|
--echo ###############################################################################
|
|
--echo # Change the value of tx_read_only to a valid value for SESSION Scope #
|
|
--echo ###############################################################################
|
|
|
|
SET @@session.tx_read_only = ON;
|
|
SELECT @@session.tx_read_only;
|
|
SET @@session.tx_read_only = OFF;
|
|
SELECT @@session.tx_read_only;
|
|
SET @@session.tx_read_only = 0;
|
|
SELECT @@session.tx_read_only;
|
|
SET @@session.tx_read_only = 1;
|
|
SELECT @@session.tx_read_only;
|
|
SET @@session.tx_read_only = TRUE;
|
|
SELECT @@session.tx_read_only;
|
|
SET @@session.tx_read_only = FALSE;
|
|
SELECT @@session.tx_read_only;
|
|
|
|
|
|
--echo ################################################################
|
|
--echo # Change the value of tx_read_only to an invalid value #
|
|
--echo ################################################################
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = 'ONN';
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = "OFFF";
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = TTRUE;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = FELSE;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = -1024;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = 65536;
|
|
--Error ER_WRONG_TYPE_FOR_VAR
|
|
SET @@global.tx_read_only = 65530.34;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.tx_read_only = test;
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = ONN;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = ONF;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = OF;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = 'OFN';
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = -2;
|
|
--Error ER_WRONG_TYPE_FOR_VAR
|
|
SET @@session.tx_read_only = 65530.34;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = 65550;
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.tx_read_only = test;
|
|
SELECT @@session.tx_read_only;
|
|
|
|
|
|
--echo ####################################################################
|
|
--echo # Check if the value in GLOBAL Table matches value in variable #
|
|
--echo ####################################################################
|
|
|
|
|
|
SELECT IF(@@global.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
|
|
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
|
WHERE VARIABLE_NAME='tx_read_only';
|
|
|
|
--echo ####################################################################
|
|
--echo # Check if the value in SESSION Table matches value in variable #
|
|
--echo ####################################################################
|
|
|
|
SELECT IF(@@session.tx_read_only, "ON", "OFF") = VARIABLE_VALUE
|
|
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
|
WHERE VARIABLE_NAME='tx_read_only';
|
|
|
|
|
|
--echo ###############################################################################
|
|
--echo # Check if accessing variable with and without GLOBAL point to same variable #
|
|
--echo ###############################################################################
|
|
|
|
SET @@tx_read_only = OFF;
|
|
SET @@global.tx_read_only = ON;
|
|
SELECT @@tx_read_only = @@global.tx_read_only;
|
|
|
|
|
|
--echo ##############################################################################
|
|
--echo # Check if accessing variable with SESSION,LOCAL and without SCOPE points #
|
|
--echo # to same session variable #
|
|
--echo ##############################################################################
|
|
|
|
SET @@tx_read_only = ON;
|
|
SELECT @@tx_read_only = @@local.tx_read_only;
|
|
SELECT @@local.tx_read_only = @@session.tx_read_only;
|
|
|
|
|
|
--echo ###############################################################################
|
|
--echo # Check if tx_read_only can be accessed with and without @@ sign #
|
|
--echo ###############################################################################
|
|
|
|
--echo # @@session is synonym for SESSION
|
|
SET @@session.tx_read_only= 0;
|
|
|
|
--echo # Without modifier, SET changes session variable
|
|
SET tx_read_only = 1;
|
|
SELECT @@tx_read_only;
|
|
|
|
--echo # name1.name2 refers to database_name.table_name
|
|
--Error ER_UNKNOWN_TABLE
|
|
SELECT session.tx_read_only;
|
|
|
|
--echo ####################################
|
|
--echo # Restore initial value #
|
|
--echo ####################################
|
|
|
|
SET @@global.tx_read_only = @start_global_value;
|
|
SELECT @@global.tx_read_only;
|
|
SET @@session.tx_read_only = @start_session_value;
|
|
SELECT @@session.tx_read_only;
|
|
|
|
|
|
--echo #########################################################
|
|
--echo # END OF tx_read_only TESTS #
|
|
--echo #########################################################
|
|
|