PT-2340 - Support MySQL 8.4

- Fixed staff I broke for 8.0
This commit is contained in:
Sveta Smirnova
2024-08-22 14:29:53 +03:00
parent a38bee6d60
commit b332537481
31 changed files with 222 additions and 160 deletions

View File

@@ -88,7 +88,7 @@ PXC_SKIP: {
source => 'hosts',
},
'get_replicas() from recurse_to_replicas() with a default --recursion-method'
);
) or diag(Dumper($slaves->[0]->dsn()));
my ($id) = $slaves->[0]->dbh()->selectrow_array('SELECT @@SERVER_ID');
is(
@@ -315,15 +315,15 @@ is_deeply(
# +- 127.0.0.1:slave0
# | +- 127.0.0.1:slave1
# +- 127.0.0.1:slave2
is($ms->get_replica_status($slaves[0])->{source_port}, $port_for{source}, 'slave 1 port');
is($ms->get_replica_status($slaves[1])->{source_port}, $port_for{replica0}, 'slave 2 port');
is($ms->get_replica_status($slaves[2])->{source_port}, $port_for{source}, 'slave 3 port');
is($ms->get_replica_status($slaves[0])->{"${source_name}_port"}, $port_for{source}, 'slave 1 port');
is($ms->get_replica_status($slaves[1])->{"${source_name}_port"}, $port_for{replica0}, 'slave 2 port');
is($ms->get_replica_status($slaves[2])->{"${source_name}_port"}, $port_for{source}, 'slave 3 port');
ok($ms->is_source_of($slaves[0], $slaves[1]), 'slave 1 is slave of slave 0');
eval {
$ms->is_source_of($slaves[0], $slaves[2]);
};
like($EVAL_ERROR, qr/but the ${source_name}'s port/, 'slave 2 is not slave of slave 0');
like($EVAL_ERROR, qr/but the source's port/, 'slave 2 is not slave of slave 0') or diag($EVAL_ERROR);
eval {
$ms->is_source_of($slaves[2], $slaves[1]);
};

View File

@@ -163,11 +163,18 @@ cmd_ok \
# collect_master_logs_status
if [ -n "$(get_var log_bin "$p/mysql-variables")" ]; then
mysql_version="$(get_var version "$p/mysql-variables")"
source_logs_file="mysql-binary-logs"
source_status_file="mysql-binary-log-status"
if [ "$mysql_version" '<' "8.1" ]; then
source_logs_file='mysql-master-logs'
source_status_file='mysql-master-status'
fi
cmd_ok \
"test -e $p/mysql-binary-logs" \
"test -e $p/$source_logs_file" \
"If we have a binlog, a file with the master logs should exist"
cmd_ok \
"test -e $p/mysql-binary-log-status" \
"test -e $p/$source_status_file" \
"And likewise for master status"
else
skip 1 2 "no binlog"

View File

@@ -16,7 +16,7 @@ CREATE TABLE `component` (
`component_group_id` int unsigned NOT NULL,
`component_urn` text NOT NULL,
PRIMARY KEY (`component_id`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='Components'
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='Components'
mysql.db
CREATE TABLE `db` (