1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-05 16:59:35 +03:00
mariadb/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
Jan Lindström 2e814d4702 Merge InnoDB 5.7 from mysql-5.7.9.
Contains also

MDEV-10547: Test multi_update_innodb fails with InnoDB 5.7

	The failure happened because 5.7 has changed the signature of
	the bool handler::primary_key_is_clustered() const
	virtual function ("const" was added). InnoDB was using the old
	signature which caused the function not to be used.

MDEV-10550: Parallel replication lock waits/deadlock handling does not work with InnoDB 5.7

	Fixed mutexing problem on lock_trx_handle_wait. Note that
	rpl_parallel and rpl_optimistic_parallel tests still
	fail.

MDEV-10156 : Group commit tests fail on 10.2 InnoDB (branch bb-10.2-jan)
  Reason: incorrect merge

MDEV-10550: Parallel replication can't sync with master in InnoDB 5.7 (branch bb-10.2-jan)
  Reason: incorrect merge
2016-09-02 13:22:28 +03:00

98 lines
3.9 KiB
Plaintext

################## mysql-test/t/innodb_undo_logs_basic.test ############
# #
# Variable Name: innodb_undo_logs #
# Scope: Global #
# Access Type: Static #
# Data Type: numeric #
# #
# #
# Creation Date: 2011-07-05 #
# Author : Sunny Bains #
# #
# #
# Description: Read-only config global variable innodb_undo_logs #
# * Value check #
# * Scope check #
# #
###############################################################################
--source include/have_innodb.inc
####################################################################
# Display default value #
####################################################################
SELECT @@GLOBAL.innodb_undo_logs;
--echo 128 Expected
####################################################################
# Check if value can be set #
####################################################################
SET @@GLOBAL.innodb_undo_logs=128;
SELECT COUNT(@@GLOBAL.innodb_undo_logs);
--echo 1 Expected
################################################################################
# Check if the value in GLOBAL table matches value in variable #
################################################################################
--disable_warnings
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_undo_logs';
--enable_warnings
--echo 128 Expected
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_undo_logs = @@GLOBAL.innodb_undo_logs;
--echo 1 Expected
################################################################################
# Check if innodb_undo_logs can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_undo_logs);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_undo_logs);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_undo_logs);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_BAD_FIELD_ERROR
SELECT innodb_undo_logs = @@SESSION.innodb_undo_logs;
# Begin Bug 13604034
# SET GLOBAL INNODB_UNDO_LOGS=0 SUCCEEDS BUT LEADS TO AN ASSERT
# MAX_UNDO_LOGS > 0
--echo Begin bug 13604034
select @@innodb_undo_logs;
--echo 128 Expected
set global innodb_undo_logs = 129;
select @@innodb_undo_logs;
--echo 128 Expected
set global innodb_undo_logs = 0;
select @@innodb_undo_logs;
--echo 1 Expected
set global innodb_undo_logs = -1;
select @@innodb_undo_logs;
--echo 1 Expected
set global innodb_undo_logs = 50;
select @@innodb_undo_logs;
--echo 50 Expected
set global innodb_undo_logs = default;
select @@innodb_undo_logs;
--echo 128 Expected
--echo End bug 13604034
# End Bug 13604034