diff --git a/server/modules/routing/schemarouter/schemaroutersession.cc b/server/modules/routing/schemarouter/schemaroutersession.cc index f17fcc9a3..c47ea32ab 100644 --- a/server/modules/routing/schemarouter/schemaroutersession.cc +++ b/server/modules/routing/schemarouter/schemaroutersession.cc @@ -1592,8 +1592,17 @@ bool SchemaRouterSession::send_tables(GWBUF* pPacket) if (database.empty()) { - MXS_FREE(query); - return false; + // Was not a "show tables from x". If a current database is selected, use that as target. + if (!m_current_db.empty()) + { + database = m_current_db; + } + else + { + // No current db, route the query to a server, likely getting "No database selected" + MXS_FREE(query); + return false; + } } ServerMap tablelist;