config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/sys_vars/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/sys_vars/t/enforce_gtid_consistency_basic.test

--source include/not_embedded.inc
--source include/not_gtid_enabled.inc

# default value

RESET MASTER;
SET @start_global_value = @@global.enforce_gtid_consistency;
SELECT @start_global_value;

#
# exists as global only
#
select @@global.enforce_gtid_consistency;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.enforce_gtid_consistency;
show global variables like 'enforce_gtid_consistency';
show session variables like 'enforce_gtid_consistency';
--disable_warnings
select * from information_schema.global_variables where variable_name='enforce_gtid_consistency';
select * from information_schema.session_variables where variable_name='enforce_gtid_consistency';
--enable_warnings

#
# show that it is global writable
# test all settable values
#

--disable_warnings

set global enforce_gtid_consistency= 1;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= 0;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= 2;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= ON;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= OFF;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= TRUE;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= FALSE;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

set global enforce_gtid_consistency= WARN;
select @@global.enforce_gtid_consistency;
show variables like 'enforce_gtid_consistency';
select variable_value from information_schema.global_variables
  where variable_name= 'enforce_gtid_consistency';

--enable_warnings

--error ER_GLOBAL_VARIABLE
set session enforce_gtid_consistency= 1;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.enforce_gtid_consistency;

--error ER_WRONG_VALUE_FOR_VAR
set global enforce_gtid_consistency= -1;
--error ER_WRONG_VALUE_FOR_VAR
set global enforce_gtid_consistency= 3;
--error ER_WRONG_VALUE_FOR_VAR
set global enforce_gtid_consistency= NULL;
--error ER_WRONG_VALUE_FOR_VAR
set global enforce_gtid_consistency= '';

set global enforce_gtid_consistency= default;

# can't set anything else than ON when gtid_mode=ON
set global enforce_gtid_consistency= ON;
set global gtid_mode=off_permissive;
set global gtid_mode=on_permissive;
set global gtid_mode=on;
--error ER_GTID_MODE_ON_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON
set global enforce_gtid_consistency= WARN;
--error ER_GTID_MODE_ON_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON
set global enforce_gtid_consistency= OFF;
set global enforce_gtid_consistency= ON;
set global enforce_gtid_consistency= TRUE;
set global enforce_gtid_consistency= 1;
set global gtid_mode=on_permissive;
set global gtid_mode=off_permissive;

# test enforce_gtid_consistency changes with autocommit off
CREATE TABLE t1 (a INT);
SET AUTOCOMMIT = 0;

## Confirm that enforce_gtid_consistency cannot be changed when a transaction
## is in progress and gtid_next is set to 'UUID:No'.
SET SESSION GTID_NEXT = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1';
INSERT INTO t1 VALUES (1);
# transaction in progress, gtid_mode variable cannot be changed
--error ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION
SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'off';
COMMIT;

## Confirm that enforce_gtid_consistency cannot be changed when gtid_mode is
## set to 'UUID:No'.
SET SESSION GTID_NEXT = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:2';
# GTID_NEXT was set, enforce_gtid_consistency variable cannot be changed
--error ER_CANT_SET_VARIABLE_WHEN_OWNING_GTID
SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'off';
COMMIT;

## Confirm that enforce_gtid_consistency cannot be changed during an anonymous
## transaction.
SET GTID_NEXT = 'ANONYMOUS';
--error ER_CANT_SET_VARIABLE_WHEN_OWNING_GTID
SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'off';
COMMIT;

# Set back to default and cleanup
SET AUTOCOMMIT = 1;
SET SESSION GTID_NEXT = 'AUTOMATIC';
SET GLOBAL GTID_MODE = 'off';
DROP TABLE t1;

set global enforce_gtid_consistency= @start_global_value;

#
# See binlog_enforce_gtid_consistency.test for a comprehensive test case.
#

Man Man