diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index 04c78d75e..4179df543 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -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) {