polardbxengine/mysql-test/suite/group_replication/r/gr_communication_protocol.r...

96 lines
7.2 KiB
Plaintext

include/group_replication.inc [rpl_server_count=2]
Warnings:
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
[connection server1]
SET SQL_LOG_BIN=0;
CREATE TABLE t1 (i INT, s VARCHAR(16), PRIMARY KEY (i));
INSERT INTO t1 VALUES (1, NULL);
INSERT INTO t1 VALUES (2, "");
INSERT INTO t1 VALUES (3, "5");
INSERT INTO t1 VALUES (4, "5.7");
INSERT INTO t1 VALUES (5, "5.7.14a");
INSERT INTO t1 VALUES (6, "5.7.13");
INSERT INTO t1 VALUES (7, "99.99.99");
SET SQL_LOG_BIN=1;
###############################################################################
# 2. Decrease communication_protocol.
[connection server1]
SELECT group_replication_set_communication_protocol("5.7.14");
group_replication_set_communication_protocol("5.7.14")
The operation group_replication_set_communication_protocol completed successfully
include/assert.inc [communication_protocol is supposed to be 5.7.14]
[connection server2]
include/assert.inc [communication_protocol is supposed to be 5.7.14]
###############################################################################
# 3. Increase communication_protocol.
[connection server1]
SELECT group_replication_set_communication_protocol("8.0.16");
group_replication_set_communication_protocol("8.0.16")
The operation group_replication_set_communication_protocol completed successfully
include/assert.inc [communication_protocol is supposed to be 8.0.16]
[connection server2]
include/assert.inc [communication_protocol is supposed to be 8.0.16]
###############################################################################
# 4. Confirm invalid calls to group_replication_get_communication_protocol
[connection server1]
SELECT group_replication_get_communication_protocol(1);
ERROR HY000: Can't initialize function 'group_replication_get_communication_protocol'; UDF does not take arguments.
SELECT group_replication_get_communication_protocol(1.1);
ERROR HY000: Can't initialize function 'group_replication_get_communication_protocol'; UDF does not take arguments.
SELECT group_replication_get_communication_protocol("hehe");
ERROR HY000: Can't initialize function 'group_replication_get_communication_protocol'; UDF does not take arguments.
SELECT group_replication_get_communication_protocol(NULL);
ERROR HY000: Can't initialize function 'group_replication_get_communication_protocol'; UDF does not take arguments.
###############################################################################
# 5. Confirm invalid calls to group_replication_set_communication_protocol
SELECT group_replication_set_communication_protocol();
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; UDF takes one version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(NULL);
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; UDF takes one version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(1);
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; UDF takes one version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(5.7);
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; UDF takes one version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol("");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; UDF takes one version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(" ");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; ' ' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol("5");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; '5' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol("5.7");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; '5.7' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol("5.7.14a");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; '5.7.14a' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol("5.7.13");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; 5.7.13 is not between 5.7.14 and MYSQL_VERSION
SELECT group_replication_set_communication_protocol("99.99.99");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; 99.99.99 is not between 5.7.14 and MYSQL_VERSION
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=1;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. UDF takes one version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=2;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. '' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=3;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. '5' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=4;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. '5.7' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=5;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. '5.7.14a' is not version string argument with format major.minor.patch
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=6;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. 5.7.13 is not between 5.7.14 and MYSQL_VERSION
SELECT group_replication_set_communication_protocol(s) FROM test.t1 WHERE i=7;
ERROR HY000: The function 'group_replication_set_communication_protocol' failed. 99.99.99 is not between 5.7.14 and MYSQL_VERSION
[connection server2]
include/stop_group_replication.inc
###############################################################################
# 6. Stop GR and try to call UDFs outside of a group
[connection server1]
SET SQL_LOG_BIN=0;
DROP TABLE t1;
SET SQL_LOG_BIN=1;
include/group_replication_end.inc
SELECT group_replication_get_communication_protocol();
ERROR HY000: Can't initialize function 'group_replication_get_communication_protocol'; Member must be ONLINE and in the majority partition.
SELECT group_replication_set_communication_protocol("5.7.14");
ERROR HY000: Can't initialize function 'group_replication_set_communication_protocol'; Member must be ONLINE and in the majority partition.