sescmd_cursor_reset didn't reset cursor's property pointer which made reset ineffective.
This commit is contained in:
@ -469,7 +469,7 @@ int error_count = 0;
|
|||||||
s = strtok(NULL, ",");
|
s = strtok(NULL, ",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (filters)
|
if (filters && obj->element)
|
||||||
{
|
{
|
||||||
serviceSetFilters(obj->element, filters);
|
serviceSetFilters(obj->element, filters);
|
||||||
}
|
}
|
||||||
|
@ -55,8 +55,8 @@ typedef struct rses_property_st rses_property_t;
|
|||||||
typedef struct router_client_session ROUTER_CLIENT_SES;
|
typedef struct router_client_session ROUTER_CLIENT_SES;
|
||||||
|
|
||||||
typedef enum rses_property_type_t {
|
typedef enum rses_property_type_t {
|
||||||
RSES_PROP_TYPE_UNDEFINED=0,
|
RSES_PROP_TYPE_UNDEFINED=-1,
|
||||||
RSES_PROP_TYPE_SESCMD,
|
RSES_PROP_TYPE_SESCMD=0,
|
||||||
RSES_PROP_TYPE_FIRST = RSES_PROP_TYPE_SESCMD,
|
RSES_PROP_TYPE_FIRST = RSES_PROP_TYPE_SESCMD,
|
||||||
RSES_PROP_TYPE_LAST=RSES_PROP_TYPE_SESCMD,
|
RSES_PROP_TYPE_LAST=RSES_PROP_TYPE_SESCMD,
|
||||||
RSES_PROP_TYPE_COUNT=RSES_PROP_TYPE_LAST+1
|
RSES_PROP_TYPE_COUNT=RSES_PROP_TYPE_LAST+1
|
||||||
|
@ -1640,6 +1640,8 @@ static bool select_connect_backend_servers(
|
|||||||
DCB_REASON_NOT_RESPONDING,
|
DCB_REASON_NOT_RESPONDING,
|
||||||
&router_handle_state_switch,
|
&router_handle_state_switch,
|
||||||
(void *)&backend_ref[i]);
|
(void *)&backend_ref[i]);
|
||||||
|
bref_clear_state(&backend_ref[i],
|
||||||
|
BREF_CLOSED);
|
||||||
bref_clear_state(&backend_ref[i],
|
bref_clear_state(&backend_ref[i],
|
||||||
BREF_NOT_USED);
|
BREF_NOT_USED);
|
||||||
bref_set_state(&backend_ref[i],
|
bref_set_state(&backend_ref[i],
|
||||||
@ -2198,11 +2200,14 @@ static bool sescmd_cursor_history_empty(
|
|||||||
static void sescmd_cursor_reset(
|
static void sescmd_cursor_reset(
|
||||||
sescmd_cursor_t* scur)
|
sescmd_cursor_t* scur)
|
||||||
{
|
{
|
||||||
|
ROUTER_CLIENT_SES* rses;
|
||||||
CHK_SESCMD_CUR(scur);
|
CHK_SESCMD_CUR(scur);
|
||||||
CHK_CLIENT_RSES(scur->scmd_cur_rses);
|
CHK_CLIENT_RSES(scur->scmd_cur_rses);
|
||||||
|
rses = scur->scmd_cur_rses;
|
||||||
|
|
||||||
|
scur->scmd_cur_ptr_property = &rses->rses_properties[RSES_PROP_TYPE_SESCMD];
|
||||||
|
|
||||||
CHK_RSES_PROP((*scur->scmd_cur_ptr_property));
|
CHK_RSES_PROP((*scur->scmd_cur_ptr_property));
|
||||||
|
|
||||||
scur->scmd_cur_active = false;
|
scur->scmd_cur_active = false;
|
||||||
scur->scmd_cur_cmd = &(*scur->scmd_cur_ptr_property)->rses_prop_data.sescmd;
|
scur->scmd_cur_cmd = &(*scur->scmd_cur_ptr_property)->rses_prop_data.sescmd;
|
||||||
}
|
}
|
||||||
@ -2688,6 +2693,8 @@ static void handleError (
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bref = get_bref_from_dcb(rses, backend_dcb);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error handler is already called for this DCB because
|
* Error handler is already called for this DCB because
|
||||||
* it's not polling anymore. It can be assumed that
|
* it's not polling anymore. It can be assumed that
|
||||||
@ -2700,8 +2707,6 @@ static void handleError (
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bref = get_bref_from_dcb(rses, backend_dcb);
|
|
||||||
CHK_BACKEND_REF(bref);
|
CHK_BACKEND_REF(bref);
|
||||||
|
|
||||||
if (BREF_IS_WAITING_RESULT(bref))
|
if (BREF_IS_WAITING_RESULT(bref))
|
||||||
|
Reference in New Issue
Block a user