Improving testing for fast routing

pull/2635/head
René Cannaò 6 years ago
parent f9fdde3b99
commit 77563fffe2

@ -3316,12 +3316,13 @@ void admin_session_handler(MySQL_Session *sess, void *_pa, PtrSize_t *pkt) {
SPA->send_MySQL_OK(&sess->client_myds->myprot, NULL, r1);
run_query=false;
break;
case 11:
case 11: // generate username
case 15: // no username, empty string
// generate random mysql_query_rules_fast_routing
if (test_arg1==0) {
test_arg1=10000;
}
if (test_arg2) {
if (test_n==15) {
r1 = SPA->ProxySQL_Test___GenerateRandom_mysql_query_rules_fast_routing(test_arg1, true);
} else {
r1 = SPA->ProxySQL_Test___GenerateRandom_mysql_query_rules_fast_routing(test_arg1, false);
@ -3329,12 +3330,13 @@ void admin_session_handler(MySQL_Session *sess, void *_pa, PtrSize_t *pkt) {
SPA->send_MySQL_OK(&sess->client_myds->myprot, (char *)"Generated new mysql_query_rules_fast_routing table", r1);
run_query=false;
break;
case 12:
case 12: // generate username
case 16: // no username, empty string
// generate random mysql_query_rules_fast_routing and LOAD TO RUNTIME
if (test_arg1==0) {
test_arg1=10000;
}
if (test_arg2) {
if (test_n==16) {
r1 = SPA->ProxySQL_Test___GenerateRandom_mysql_query_rules_fast_routing(test_arg1, true);
} else {
r1 = SPA->ProxySQL_Test___GenerateRandom_mysql_query_rules_fast_routing(test_arg1, false);
@ -3361,14 +3363,15 @@ void admin_session_handler(MySQL_Session *sess, void *_pa, PtrSize_t *pkt) {
run_query=false;
free(msg);
break;
case 14:
case 14: // old algorithm
case 17: // perform dual lookup, with and without username
// verify all mysql_query_rules_fast_routing rules
if (test_arg1==0) {
test_arg1=1;
}
{
int ret1, ret2;
bool bret = SPA->ProxySQL_Test___Verify_mysql_query_rules_fast_routing(&ret1, &ret2, test_arg1, test_arg2);
bool bret = SPA->ProxySQL_Test___Verify_mysql_query_rules_fast_routing(&ret1, &ret2, test_arg1, (test_n==14 ? 0 : 1));
if (bret) {
SPA->send_MySQL_OK(&sess->client_myds->myprot, (char *)"Verified all rules in mysql_query_rules_fast_routing", ret1);
} else {
@ -5996,7 +5999,7 @@ unsigned int ProxySQL_Admin::ProxySQL_Test___GenerateRandom_mysql_query_rules_fa
sqlite3_finalize(statement1);
free(username_buf);
free(schemaname_buf);
return 0;
return cnt;
}
void ProxySQL_Admin::flush_mysql_variables___runtime_to_database(SQLite3DB *db, bool replace, bool del, bool onlyifempty, bool runtime) {

Loading…
Cancel
Save