MXS-1725 Use normal routing route when mocking

As results provided directly by filters are now delivered
properly, the functionality of the session must be used
also when mocking.
This commit is contained in:
Johan Wikman
2018-04-24 15:55:33 +03:00
parent 2587227f10
commit fb5a856cea
3 changed files with 15 additions and 5 deletions

View File

@ -158,7 +158,7 @@ int test(mock::Session& session,
pStatement = mock::create_com_query(select);
cout << "Performing select: \"" << select << "\"" << flush;
filter_session.routeQuery(pStatement);
session.route_query(pStatement);
if (!router_session.idle())
{
@ -176,7 +176,7 @@ int test(mock::Session& session,
pStatement = mock::create_com_query(select);
cout << "Performing same select: \"" << select << "\"" << flush;
filter_session.routeQuery(pStatement);
session.route_query(pStatement);
if (tc.should_use)
{
@ -216,7 +216,7 @@ int test(mock::Session& session,
pStatement = mock::create_com_query("UPDATE tbl SET a=1;");
cout << "Performing update: \"" << update << "\"" << flush;
filter_session.routeQuery(pStatement);
session.route_query(pStatement);
if (router_session.idle())
{
@ -233,7 +233,7 @@ int test(mock::Session& session,
pStatement = mock::create_com_query(select);
cout << "Performing select: \"" << select << "\"" << flush;
filter_session.routeQuery(pStatement);
session.route_query(pStatement);
if (router_session.idle())
{
@ -260,7 +260,7 @@ int test(mock::Session& session,
pStatement = mock::create_com_query(select);
cout << "Performing select: \"" << select << "\"" << flush;
filter_session.routeQuery(pStatement);
session.route_query(pStatement);
if (router_session.idle())
{

View File

@ -72,6 +72,11 @@ auto_ptr<FilterModule::Session> FilterModule::Instance::newSession(MXS_SESSION*
if (pFilter_session)
{
// TODO: Won't work with multiple filters in chain.
pSession->head.instance = m_pInstance;
pSession->head.session = pFilter_session;
pSession->head.routeQuery = m_module.m_pApi->routeQuery;
sFilter_session.reset(new Session(this, pFilter_session));
}

View File

@ -66,6 +66,11 @@ public:
session_set_trx_state(this, state);
}
bool route_query(GWBUF* pBuffer)
{
return session_route_query(this, pBuffer);
}
private:
Client& m_client;
Dcb m_client_dcb;