From 61e75a1a38cf2a6d8c746c6d630b594e13da6eb0 Mon Sep 17 00:00:00 2001 From: liangke Date: Wed, 21 Feb 2024 12:35:00 +0800 Subject: [PATCH] =?UTF-8?q?mtr=E9=80=82=E9=85=8Dopeneuler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql-test/enableCases.list | 1 + mysql-test/mysql-test-run-ST.pl | 25 ++++++++++++++----- .../suite/tianchi/r/recreate_test_db.result | 2 ++ storage/tianchi/tse_srv_mq_stub.cc | 21 ++++++++++++++++ 4 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 mysql-test/enableCases.list create mode 100644 mysql-test/suite/tianchi/r/recreate_test_db.result diff --git a/mysql-test/enableCases.list b/mysql-test/enableCases.list new file mode 100644 index 0000000..f084231 --- /dev/null +++ b/mysql-test/enableCases.list @@ -0,0 +1 @@ +recreate_test_db.test \ No newline at end of file diff --git a/mysql-test/mysql-test-run-ST.pl b/mysql-test/mysql-test-run-ST.pl index ba2f102..9c330a7 100644 --- a/mysql-test/mysql-test-run-ST.pl +++ b/mysql-test/mysql-test-run-ST.pl @@ -33,8 +33,8 @@ # https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN.html # ############################################################################## -$ENV{MTR_BINDIR} = '/home/regress/mysql-server/bld_debug'; -chdir('/home/regress/mysql-server/mysql-test'); +$ENV{MTR_BINDIR} = '/usr/local/mysql'; +#chdir('/home/regress/mysql-server/mysql-test'); use strict; use warnings; @@ -6258,11 +6258,24 @@ sub mysqld_start ($$$$) { # Remember data dir for gmon.out files if using gprof $gprof_dirs{ $mysqld->value('datadir') } = 1 if $opt_gprof; - if (daac_start()) { - mtr_error("Failed to start daac."); - } +# if (daac_start()) { +# mtr_error("Failed to start daac."); +# } if (defined $exe) { - $mysqld->{'proc'} = `pidof mysqld`; + $mysqld->{'proc'} = + My::SafeProcess->new(name => $mysqld->name(), + path => $exe, + args => \$args, + output => $output, + error => $output, + append => 1, + verbose => $opt_verbose, + nocore => $opt_skip_core, + host => undef, + shutdown => sub { mysqld_stop($mysqld) }, + envs => \@opt_mysqld_envs, + pid_file => $pid_file, + daemon_mode => $mysqld->{'daemonize'}); mtr_verbose("Started $mysqld->{proc}"); } diff --git a/mysql-test/suite/tianchi/r/recreate_test_db.result b/mysql-test/suite/tianchi/r/recreate_test_db.result new file mode 100644 index 0000000..6640698 --- /dev/null +++ b/mysql-test/suite/tianchi/r/recreate_test_db.result @@ -0,0 +1,2 @@ +drop database if exists test; +create database test; diff --git a/storage/tianchi/tse_srv_mq_stub.cc b/storage/tianchi/tse_srv_mq_stub.cc index 35b9ba6..56a3bb4 100644 --- a/storage/tianchi/tse_srv_mq_stub.cc +++ b/storage/tianchi/tse_srv_mq_stub.cc @@ -1457,3 +1457,24 @@ int ctc_record_sql_for_cantian(tianchi_handler_t *tch, tse_ddl_broadcast_request free_share_mem(shm_inst, req); return result; } + +int tse_query_cluster_role(bool *is_slave, bool *cantian_cluster_ready) { + void *shm_inst = get_one_shm_inst(NULL); + query_cluster_role_request *req = (query_cluster_role_request*) alloc_share_mem(shm_inst, sizeof(query_cluster_role_request)); + DBUG_EXECUTE_IF("check_init_shm_oom", { req = NULL; }); + if (req == NULL) { + tse_log_error("alloc shm mem error, shm_inst(%p), size(%lu)", shm_inst, sizeof(query_cluster_role_request)); + return ERR_ALLOC_MEMORY; + } + + int result = ERR_CONNECTION_FAILED; + int ret = tse_mq_deal_func(shm_inst, TSE_FUNC_QUERY_CLUSTER_ROLE, req, nullptr); + if (ret == CT_SUCCESS) { + result = req->result; + *is_slave = req->is_slave; + *cantian_cluster_ready = req->cluster_ready; + } + free_share_mem(shm_inst, req); + + return result; +} -- Gitee