Added reorder_dynamic_variables_idx flag for server connection variables

v3.0_track_transaction_param_state_4907
Rahim Kanji 10 months ago
parent 33b8b2bd3d
commit c6fd3cef9c

@ -31,15 +31,15 @@ public:
bool client_set_value(PgSQL_Session* session, int idx, const std::string& value, bool reorder_dynamic_variables_idx);
bool client_set_hash_and_value(PgSQL_Session* session, int idx, const std::string& value, uint32_t hash);
void client_reset_value(PgSQL_Session* session, int idx);
void client_reset_value(PgSQL_Session* session, int idx, bool reorder_dynamic_variables_idx);
const char* client_get_value(PgSQL_Session* session, int idx) const;
uint32_t client_get_hash(PgSQL_Session* session, int idx) const;
void server_set_value(PgSQL_Session* session, int idx, const char* value, bool reorder_dynamic_variables_idx);
void server_set_hash_and_value(PgSQL_Session* session, int idx, const char* value, uint32_t hash);
void server_reset_value(PgSQL_Session* session, int idx);
void server_reset_value(PgSQL_Session* session, int idx, bool reorder_dynamic_variables_idx);
const char* server_get_value(PgSQL_Session* session, int idx) const;
inline uint32_t server_get_hash(PgSQL_Session* session, int idx) const;
uint32_t server_get_hash(PgSQL_Session* session, int idx) const;
bool verify_variable(PgSQL_Session* session, int idx) const;
bool update_variable(PgSQL_Session* session, session_status status, int &_rc);

@ -85,7 +85,7 @@ bool PgSQL_Variables::client_set_hash_and_value(PgSQL_Session* session, int idx,
return true;
}
void PgSQL_Variables::client_reset_value(PgSQL_Session* session, int idx) {
void PgSQL_Variables::client_reset_value(PgSQL_Session* session, int idx, bool reorder_dynamic_variables_idx) {
if (!session || !session->client_myds || !session->client_myds->myconn) {
proxy_warning("Session validation failed\n");
return;
@ -99,7 +99,7 @@ void PgSQL_Variables::client_reset_value(PgSQL_Session* session, int idx) {
free(client_conn->variables[idx].value);
client_conn->variables[idx].value = NULL;
}
if (idx > PGSQL_NAME_LAST_LOW_WM) {
if (reorder_dynamic_variables_idx && idx > PGSQL_NAME_LAST_LOW_WM) {
// we now regererate dynamic_variables_idx
client_conn->reorder_dynamic_variables_idx();
}
@ -170,7 +170,7 @@ void PgSQL_Variables::server_set_value(PgSQL_Session* session, int idx, const ch
}
}
void PgSQL_Variables::server_reset_value(PgSQL_Session* session, int idx) {
void PgSQL_Variables::server_reset_value(PgSQL_Session* session, int idx, bool reorder_dynamic_variables_idx) {
assert(session);
assert(session->mybe);
assert(session->mybe->server_myds);
@ -184,7 +184,7 @@ void PgSQL_Variables::server_reset_value(PgSQL_Session* session, int idx) {
free(backend_conn->variables[idx].value);
backend_conn->variables[idx].value = NULL;
}
if (idx > PGSQL_NAME_LAST_LOW_WM) {
if (reorder_dynamic_variables_idx && idx > PGSQL_NAME_LAST_LOW_WM) {
// we now regererate dynamic_variables_idx
backend_conn->reorder_dynamic_variables_idx();
}

Loading…
Cancel
Save