mariadb/mysql-test/suite/wsrep/r/wsrep_on_basic.result
Daniele Sciascia eb4123eefc More fixes to variable wsrep_on
* Disallow setting wsrep_on = 1 if wsrep_provider is unset. Also, move
  wsrep_on_basic from sys_vars to wsrep suite: this test now requires
  to run with wsrep_provider set
* Disallow setting @@session.wsrep_on = 1 when @@global.wsrep_on = 0
* Handle the case where a new connection turns @@global.wsrep_on from
  off to on. In this case we would miss a call to wsrep_open, causing
  unexpected states in wsrep::client_state (causing assertions).
* Disable wsrep.MDEV-22443 because it is no longer possible to enable
  wsrep_on, if server is started with wsrep_provider='none'

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
2021-04-20 08:24:14 +03:00

50 lines
1.2 KiB
Text

#
# wsrep_on
#
# save the initial values
SET @wsrep_on_global_saved = @@global.wsrep_on;
SET @wsrep_on_session_saved = @@session.wsrep_on;
# default
SELECT @@global.wsrep_on;
@@global.wsrep_on
1
SELECT @@session.wsrep_on;
@@session.wsrep_on
1
# scope and valid values
SET @@global.wsrep_on=OFF;
SELECT @@global.wsrep_on;
@@global.wsrep_on
0
SET @@global.wsrep_on=ON;
SELECT @@global.wsrep_on;
@@global.wsrep_on
1
SET @@session.wsrep_on=OFF;
SELECT @@session.wsrep_on;
@@session.wsrep_on
0
SET @@session.wsrep_on=ON;
SELECT @@session.wsrep_on;
@@session.wsrep_on
1
SET @@session.wsrep_on=default;
SELECT @@session.wsrep_on;
@@session.wsrep_on
1
# invalid values
SET @@global.wsrep_on=NULL;
ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'NULL'
SET @@global.wsrep_on='junk';
ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'junk'
SET @@session.wsrep_on=NULL;
ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'NULL'
SET @@session.wsrep_on='junk';
ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'junk'
# restore the initial values
SET @@global.wsrep_on = @wsrep_on_global_saved;
SET @@session.wsrep_on = @wsrep_on_session_saved;
# End of test