diff --git a/include/mysql_connection.h b/include/mysql_connection.h index 305b36277..ad22474ae 100644 --- a/include/mysql_connection.h +++ b/include/mysql_connection.h @@ -161,8 +161,10 @@ class MySQL_Connection { void set_names_cont(short event); void real_query_start(); void real_query_cont(short event); +#ifndef PROXYSQL_USE_RESULT void store_result_start(); void store_result_cont(short event); +#endif // PROXYSQL_USE_RESULT void initdb_start(); void initdb_cont(short event); void set_option_start(); diff --git a/include/proxysql_structs.h b/include/proxysql_structs.h index 8a1d580c5..ca53c1319 100644 --- a/include/proxysql_structs.h +++ b/include/proxysql_structs.h @@ -41,6 +41,8 @@ enum log_event_type { enum cred_username_type { USERNAME_BACKEND, USERNAME_FRONTEND }; +#define PROXYSQL_USE_RESULT + enum MDB_ASYNC_ST { // MariaDB Async State Machine ASYNC_CONNECT_START, ASYNC_CONNECT_CONT, @@ -76,8 +78,10 @@ enum MDB_ASYNC_ST { // MariaDB Async State Machine ASYNC_NEXT_RESULT_START, ASYNC_NEXT_RESULT_CONT, ASYNC_NEXT_RESULT_END, +#ifndef PROXYSQL_USE_RESULT ASYNC_STORE_RESULT_START, ASYNC_STORE_RESULT_CONT, +#endif // PROXYSQL_USE_RESULT ASYNC_USE_RESULT_START, ASYNC_USE_RESULT_CONT, ASYNC_INITDB_START, diff --git a/lib/mysql_connection.cpp b/lib/mysql_connection.cpp index 64af058db..53b8009ff 100644 --- a/lib/mysql_connection.cpp +++ b/lib/mysql_connection.cpp @@ -204,8 +204,6 @@ void Variable::fill_client_internal_session(json &j, int idx) { } } -#define PROXYSQL_USE_RESULT - static int mysql_status(short event, short cont) { int status= 0; @@ -922,6 +920,7 @@ void MySQL_Connection::stmt_execute_store_result_cont(short event) { async_exit_status = mysql_stmt_store_result_cont(&interr , query.stmt , mysql_status(event, true)); } +#ifndef PROXYSQL_USE_RESULT void MySQL_Connection::store_result_start() { PROXY_TRACE(); async_exit_status = mysql_store_result_start(&mysql_result, mysql); @@ -931,6 +930,7 @@ void MySQL_Connection::store_result_cont(short event) { proxy_debug(PROXY_DEBUG_MYSQL_PROTOCOL, 6,"event=%d\n", event); async_exit_status = mysql_store_result_cont(&mysql_result , mysql , mysql_status(event, true)); } +#endif // PROXYSQL_USE_RESULT void MySQL_Connection::set_is_client() { local_stmts->set_is_client(myds->sess); @@ -1346,7 +1346,7 @@ handler_again: case ASYNC_NEXT_RESULT_END: break; - +#ifndef PROXYSQL_USE_RESULT case ASYNC_STORE_RESULT_START: if (mysql_errno(mysql)) { NEXT_IMMEDIATE(ASYNC_QUERY_END); @@ -1366,6 +1366,7 @@ handler_again: NEXT_IMMEDIATE(ASYNC_QUERY_END); } break; +#endif // PROXYSQL_USE_RESULT case ASYNC_USE_RESULT_START: if (mysql_errno(mysql)) { NEXT_IMMEDIATE(ASYNC_QUERY_END);