Skip to content

Commit a55cac2

Browse files
committed
WL#12113: MTR SUPPORT FOR AUTOMATIC LOADING OF DATA TO SECONDARY
ENGINE AFTER A DML STATEMENT Post-push fix: Fix Clang build warnings. Object with file scope is not allowed according to our coding guidelines. Replace with pointer. This also removes the need for a assignment operator (which is what Clang detected). Change-Id: Ib1bdc7678ae0df8ac80d9c3ca6926cee0b57cb61
1 parent 8740a9d commit a55cac2

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

client/mysqltest.cc

+20-17
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ static const char *opt_offload_count_file;
216216
static const char *opt_secondary_engine;
217217
static int opt_change_propagation;
218218

219-
Secondary_engine secondary_engine;
219+
static Secondary_engine *secondary_engine = nullptr;
220220

221221
#ifdef _WIN32
222222
static DWORD opt_safe_process_pid;
@@ -1336,6 +1336,8 @@ static void free_used_memory() {
13361336
// Delete the exptected errors pointer
13371337
delete expected_errors;
13381338

1339+
delete secondary_engine;
1340+
13391341
if (connections) close_connections();
13401342
close_files();
13411343
delete var_hash;
@@ -1380,8 +1382,9 @@ static void cleanup_and_exit(int exit_code) {
13801382
}
13811383

13821384
// Save the final value of secondary engine execution status.
1383-
if (secondary_engine.offload_count(&cur_con->mysql, "after")) exit_code = 1;
1384-
secondary_engine.report_offload_count(opt_offload_count_file);
1385+
if (secondary_engine->offload_count(&cur_con->mysql, "after"))
1386+
exit_code = 1;
1387+
secondary_engine->report_offload_count(opt_offload_count_file);
13851388
}
13861389

13871390
free_used_memory();
@@ -5292,7 +5295,7 @@ static void do_shutdown_server(struct st_command *command) {
52925295
if (opt_offload_count_file) {
52935296
// Save the value of secondary engine execution status
52945297
// before shutting down the server.
5295-
if (secondary_engine.offload_count(&cur_con->mysql, "after"))
5298+
if (secondary_engine->offload_count(&cur_con->mysql, "after"))
52965299
cleanup_and_exit(1);
52975300
}
52985301

@@ -7638,11 +7641,11 @@ static void run_query_normal(struct st_connection *cn,
76387641
DBUG_PRINT("enter", ("query: '%-.60s'", query));
76397642

76407643
if (opt_change_propagation != -1) {
7641-
secondary_engine.match_statement(query, expected_errors->count());
7642-
if (secondary_engine.statement_type()) {
7644+
secondary_engine->match_statement(query, expected_errors->count());
7645+
if (secondary_engine->statement_type()) {
76437646
std::vector<unsigned int> ignore_errors = expected_errors->errors();
76447647
// Run secondary engine unload statements.
7645-
if (secondary_engine.run_unload_statements(mysql, ignore_errors))
7648+
if (secondary_engine->run_unload_statements(mysql, ignore_errors))
76467649
die("Original query '%s'.", query);
76477650
}
76487651
}
@@ -7747,10 +7750,10 @@ static void run_query_normal(struct st_connection *cn,
77477750
*/
77487751
var_set_errno(mysql_errno(mysql));
77497752

7750-
if (opt_change_propagation != -1 && secondary_engine.statement_type()) {
7753+
if (opt_change_propagation != -1 && secondary_engine->statement_type()) {
77517754
std::vector<unsigned int> ignore_errors = expected_errors->errors();
77527755
// Run secondary engine load statements.
7753-
if (secondary_engine.run_load_statements(mysql, ignore_errors))
7756+
if (secondary_engine->run_load_statements(mysql, ignore_errors))
77547757
die("Original query '%s'.", query);
77557758
}
77567759

@@ -7784,11 +7787,11 @@ static void run_query_stmt(MYSQL *mysql, struct st_command *command,
77847787
DBUG_PRINT("query", ("'%-.60s'", query));
77857788

77867789
if (opt_change_propagation != -1) {
7787-
secondary_engine.match_statement(query, expected_errors->count());
7788-
if (secondary_engine.statement_type()) {
7790+
secondary_engine->match_statement(query, expected_errors->count());
7791+
if (secondary_engine->statement_type()) {
77897792
std::vector<unsigned int> ignore_errors = expected_errors->errors();
77907793
// Run secondary engine unload statements.
7791-
if (secondary_engine.run_unload_statements(mysql, ignore_errors))
7794+
if (secondary_engine->run_unload_statements(mysql, ignore_errors))
77927795
die("Original query '%s'.", query);
77937796
}
77947797
}
@@ -7978,10 +7981,10 @@ static void run_query_stmt(MYSQL *mysql, struct st_command *command,
79787981
cur_con->stmt = NULL;
79797982
}
79807983

7981-
if (opt_change_propagation != -1 && secondary_engine.statement_type()) {
7984+
if (opt_change_propagation != -1 && secondary_engine->statement_type()) {
79827985
std::vector<unsigned int> ignore_errors = expected_errors->errors();
79837986
// Run secondary engine load statements.
7984-
if (secondary_engine.run_load_statements(mysql, ignore_errors))
7987+
if (secondary_engine->run_load_statements(mysql, ignore_errors))
79857988
die("Original query '%s'.", query);
79867989
}
79877990

@@ -8906,12 +8909,12 @@ int main(int argc, char **argv) {
89068909

89078910
if (opt_change_propagation != -1) {
89088911
secondary_engine =
8909-
Secondary_engine(opt_change_propagation, opt_secondary_engine);
8912+
new Secondary_engine(opt_change_propagation, opt_secondary_engine);
89108913
}
89118914

89128915
if (opt_offload_count_file) {
89138916
// Save the initial value of secondary engine execution status.
8914-
if (secondary_engine.offload_count(&cur_con->mysql, "before"))
8917+
if (secondary_engine->offload_count(&cur_con->mysql, "before"))
89158918
cleanup_and_exit(1);
89168919
}
89178920

@@ -9284,7 +9287,7 @@ int main(int argc, char **argv) {
92849287
if (opt_offload_count_file) {
92859288
// Save the value of secondary engine execution status
92869289
// before shutting down the server.
9287-
if (secondary_engine.offload_count(&cur_con->mysql, "after"))
9290+
if (secondary_engine->offload_count(&cur_con->mysql, "after"))
92889291
cleanup_and_exit(1);
92899292
}
92909293

client/mysqltest/secondary_engine.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ typedef std::vector<unsigned int> Errors;
4040

4141
class Secondary_engine {
4242
public:
43-
Secondary_engine(){};
43+
Secondary_engine() {}
4444
Secondary_engine(bool change_propagation, const char *engine_name);
4545

46-
~Secondary_engine(){};
46+
~Secondary_engine() {}
4747

4848
/// Get the secondary engine execution count value.
4949
///

0 commit comments

Comments
 (0)