cache: Pick out default db when connecting with database
This commit is contained in:
parent
91759ef323
commit
45073ebd73
30
server/modules/filter/cache/cache.c
vendored
30
server/modules/filter/cache/cache.c
vendored
@ -582,11 +582,31 @@ static CACHE_SESSION_DATA *cache_session_data_create(CACHE_INSTANCE *instance,
|
||||
|
||||
if (data)
|
||||
{
|
||||
data->instance = instance;
|
||||
data->api = instance->module->api;
|
||||
data->storage = instance->storage;
|
||||
data->session = session;
|
||||
data->state = CACHE_EXPECTING_NOTHING;
|
||||
char *default_db = NULL;
|
||||
|
||||
ss_dassert(session->client_dcb);
|
||||
ss_dassert(session->client_dcb->data);
|
||||
MYSQL_session *mysql_session = (MYSQL_session*)session->client_dcb->data;
|
||||
|
||||
if (mysql_session->db[0] != 0)
|
||||
{
|
||||
default_db = MXS_STRDUP(mysql_session->db);
|
||||
}
|
||||
|
||||
if ((mysql_session->db[0] == 0) || default_db)
|
||||
{
|
||||
data->instance = instance;
|
||||
data->api = instance->module->api;
|
||||
data->storage = instance->storage;
|
||||
data->session = session;
|
||||
data->state = CACHE_EXPECTING_NOTHING;
|
||||
data->default_db = default_db;
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_FREE(data);
|
||||
data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
|
Loading…
x
Reference in New Issue
Block a user