Final fixes for savepoint tests

pull/3072/head
René Cannaò 5 years ago
parent fad663fad4
commit fc72683fb4

@ -345,13 +345,14 @@ int main(int argc, char *argv[]) {
}
MYSQL_QUERY(mysqladmin, "update global_variables set variable_value='false' where variable_name='mysql-enforce_autocommit_on_reads'");
MYSQL_QUERY(mysqladmin, "LOAD MYSQL VARIABLES TO RUNTIME");
MYSQL_QUERY(mysqladmin, "DROP TABLE IF EXISTS mysql_query_rules_948");
MYSQL_QUERY(mysqladmin, "CREATE TABLE mysql_query_rules_948 AS SELECT * FROM mysql_query_rules");
MYSQL_QUERY(mysqladmin, "DELETE FROM mysql_query_rules");
MYSQL_QUERY(mysqladmin, "LOAD MYSQL QUERY RULES TO RUNTIME");
int MyHGM_myconnpoll_get = 0;
std::string q;
q = "SELECT * FROM stats_mysql_global WHERE variable_name LIKE 'MyHGM%'";
q = "SELECT * FROM stats_mysql_global WHERE variable_name IN ('MyHGM_myconnpoll_get','ConnPool_get_conn_immediate')";
{
if (mysql_query(mysqladmin, q.c_str())) {
fprintf(stderr,"Error running query: %s. Error: %s\n", q.c_str(), mysql_error(mysqladmin));
@ -361,8 +362,11 @@ int main(int argc, char *argv[]) {
MYSQL_ROW row;
while ((row = mysql_fetch_row(result)))
{
if (strcmp(row[0], "MyHGM_myconnpoll_get")) {
MyHGM_myconnpoll_get = atoi(row[1]);
if (strcmp(row[0], "MyHGM_myconnpoll_get") == 0) {
MyHGM_myconnpoll_get += atoi(row[1]);
}
if (strcmp(row[0], "ConnPool_get_conn_immediate") == 0) {
MyHGM_myconnpoll_get += atoi(row[1]);
}
}
mysql_free_result(result);
@ -397,12 +401,17 @@ int main(int argc, char *argv[]) {
}
MYSQL_RES *result = mysql_store_result(mysqladmin);
MYSQL_ROW row;
int MyHGM_myconnpoll_get_post = 0;
while ((row = mysql_fetch_row(result)))
{
if (strcmp(row[0], "MyHGM_myconnpoll_get")) {
MyHGM_myconnpoll_get = atoi(row[1]) - MyHGM_myconnpoll_get;
if (strcmp(row[0], "MyHGM_myconnpoll_get") == 0) {
MyHGM_myconnpoll_get_post += atoi(row[1]);
}
if (strcmp(row[0], "ConnPool_get_conn_immediate") == 0) {
MyHGM_myconnpoll_get_post += atoi(row[1]);
}
}
MyHGM_myconnpoll_get = MyHGM_myconnpoll_get_post - MyHGM_myconnpoll_get;
mysql_free_result(result);
}
print_global_status(mysqladmin);
@ -412,7 +421,8 @@ int main(int argc, char *argv[]) {
std::cerr << "cnt_transactions: " << cnt_transactions << std::endl;
//ok((MyHGM_myconnpoll_push == cnt_transactions+cnt_SELECT_outside_transactions) , "Number of transactions [%d] , Queries outside transaction [%d] , total connections returned [%d]", cnt_transactions.load(std::memory_order_relaxed), cnt_SELECT_outside_transactions.load(std::memory_order_relaxed), MyHGM_myconnpoll_push);
// FIXME: until we fix the autocommit bug, we may have some minor mismatch
ok((MyHGM_myconnpoll_get <= cnt_transactions+cnt_SELECT_outside_transactions && MyHGM_myconnpoll_get >= cnt_transactions+cnt_SELECT_outside_transactions-10) , "Number of transactions [%d] , Queries outside transaction [%d] , total connections returned [%d]", cnt_transactions.load(std::memory_order_relaxed), cnt_SELECT_outside_transactions.load(std::memory_order_relaxed), MyHGM_myconnpoll_get);
//ok((MyHGM_myconnpoll_get <= cnt_transactions+cnt_SELECT_outside_transactions && MyHGM_myconnpoll_get >= cnt_transactions+cnt_SELECT_outside_transactions-10) , "Number of transactions [%d] , Queries outside transaction [%d] , total connections returned [%d]", cnt_transactions.load(std::memory_order_relaxed), cnt_SELECT_outside_transactions.load(std::memory_order_relaxed), MyHGM_myconnpoll_get);
ok((MyHGM_myconnpoll_get == cnt_transactions+cnt_SELECT_outside_transactions) , "Number of transactions [%d] , Queries outside transaction [%d] , total connections returned [%d]", cnt_transactions.load(std::memory_order_relaxed), cnt_SELECT_outside_transactions.load(std::memory_order_relaxed), MyHGM_myconnpoll_get);
MYSQL_QUERY(mysqladmin, "DELETE FROM mysql_query_rules");
MYSQL_QUERY(mysqladmin, "INSERT INTO mysql_query_rules SELECT * FROM mysql_query_rules_948");
MYSQL_QUERY(mysqladmin, "LOAD MYSQL QUERY RULES TO RUNTIME");

Loading…
Cancel
Save