diff --git a/include/PgSQL_Connection.h b/include/PgSQL_Connection.h index 22cafd218..809e1460a 100644 --- a/include/PgSQL_Connection.h +++ b/include/PgSQL_Connection.h @@ -622,7 +622,8 @@ private: // Set end state for the fetch result to indicate that it originates from a simple query or statement execution. ASYNC_ST fetch_result_end_st = ASYNC_QUERY_END; inline void set_fetch_result_end_state(ASYNC_ST st) { - assert(st == ASYNC_QUERY_END || st == ASYNC_STMT_EXECUTE_END || st == ASYNC_DESCRIBE_END || st == ASYNC_STMT_PREPARE_END); + assert(st == ASYNC_QUERY_END || st == ASYNC_STMT_EXECUTE_END || + st == ASYNC_STMT_DESCRIBE_END || st == ASYNC_STMT_PREPARE_END); fetch_result_end_st = st; } // Handles the COPY OUT response from the server. diff --git a/include/proxysql_structs.h b/include/proxysql_structs.h index 22c7f5dcd..f2fb4118b 100644 --- a/include/proxysql_structs.h +++ b/include/proxysql_structs.h @@ -125,9 +125,9 @@ enum ASYNC_ST { // MariaDB Async State Machine ASYNC_RESET_SESSION_SUCCESSFUL, ASYNC_RESET_SESSION_FAILED, ASYNC_RESET_SESSION_TIMEOUT, - ASYNC_DESCRIBE_START, - ASYNC_DESCRIBE_CONT, - ASYNC_DESCRIBE_END, + ASYNC_STMT_DESCRIBE_START, + ASYNC_STMT_DESCRIBE_CONT, + ASYNC_STMT_DESCRIBE_END, ASYNC_IDLE }; diff --git a/lib/PgSQL_Connection.cpp b/lib/PgSQL_Connection.cpp index 01279004e..776790366 100644 --- a/lib/PgSQL_Connection.cpp +++ b/lib/PgSQL_Connection.cpp @@ -469,7 +469,7 @@ handler_again: case ASYNC_STMT_PREPARE_END: bytes_recv = query_result->add_parse_completion(); break; - case ASYNC_DESCRIBE_END: + case ASYNC_STMT_DESCRIBE_END: bytes_recv = query_result->add_describe_completion(result.get(), query.extended_query_info->stmt_type); break; case ASYNC_STMT_EXECUTE_END: @@ -772,29 +772,29 @@ handler_again: assert(!is_copy_out); break; - case ASYNC_DESCRIBE_START: + case ASYNC_STMT_DESCRIBE_START: stmt_describe_start(); if (async_exit_status) { - next_event(ASYNC_DESCRIBE_CONT); + next_event(ASYNC_STMT_DESCRIBE_CONT); } else { - NEXT_IMMEDIATE(ASYNC_DESCRIBE_END); + NEXT_IMMEDIATE(ASYNC_STMT_DESCRIBE_END); } break; - case ASYNC_DESCRIBE_CONT: + case ASYNC_STMT_DESCRIBE_CONT: if (event) { stmt_describe_cont(event); } if (async_exit_status) { - next_event(ASYNC_DESCRIBE_CONT); + next_event(ASYNC_STMT_DESCRIBE_CONT); } else { if (is_error_present()) { - NEXT_IMMEDIATE(ASYNC_DESCRIBE_END); + NEXT_IMMEDIATE(ASYNC_STMT_DESCRIBE_END); } - set_fetch_result_end_state(ASYNC_DESCRIBE_END); + set_fetch_result_end_state(ASYNC_STMT_DESCRIBE_END); NEXT_IMMEDIATE(ASYNC_USE_RESULT_START); } break; - case ASYNC_DESCRIBE_END: + case ASYNC_STMT_DESCRIBE_END: PROXY_TRACE2(); if (is_error_present()) { compute_unknown_transaction_status(); @@ -1317,7 +1317,7 @@ int PgSQL_Connection::async_query(short event, const char* stmt, unsigned long l if (type == PGSQL_EXTENDED_QUERY_TYPE_PARSE) { async_state_machine = ASYNC_STMT_PREPARE_START; } else if (type == PGSQL_EXTENDED_QUERY_TYPE_DESCRIBE) { - async_state_machine = ASYNC_DESCRIBE_START; + async_state_machine = ASYNC_STMT_DESCRIBE_START; } else if (type == PGSQL_EXTENDED_QUERY_TYPE_EXECUTE) { async_state_machine = ASYNC_STMT_EXECUTE_START; } else { @@ -1332,7 +1332,7 @@ int PgSQL_Connection::async_query(short event, const char* stmt, unsigned long l if (async_state_machine == ASYNC_QUERY_END || async_state_machine == ASYNC_STMT_EXECUTE_END || - async_state_machine == ASYNC_DESCRIBE_END || + async_state_machine == ASYNC_STMT_DESCRIBE_END || async_state_machine == ASYNC_STMT_PREPARE_END) { PROXY_TRACE2(); compute_unknown_transaction_status(); diff --git a/lib/PgSQL_Session.cpp b/lib/PgSQL_Session.cpp index 078d4ce6a..b557001e4 100644 --- a/lib/PgSQL_Session.cpp +++ b/lib/PgSQL_Session.cpp @@ -2562,10 +2562,8 @@ bool PgSQL_Session::handler_minus1_HandleErrorCodes(PgSQL_Data_Stream* myds, int myds->fd = 0; if (retry_conn) { myds->DSS = STATE_NOT_INITIALIZED; - //previous_status.push(PROCESSING_QUERY); set_previous_status_mode3(false); return true; // it will call NEXT_IMMEDIATE(CONNECTING_SERVER); - //NEXT_IMMEDIATE(CONNECTING_SERVER); } //handler_ret = -1; //return handler_ret;