MXS-2250 Reveal table information for 'DESCRIBE tbl'

When a statement like 'DESCRIBE tbl' is classified, the table
name will now be available so that a router can check whether the
table is a temporary one. In that case, the statement must be sent
to the master.
This commit is contained in:
Johan Wikman
2019-06-04 16:51:53 +03:00
parent c219187a1e
commit b8d601aab2
6 changed files with 93 additions and 57 deletions

View File

@ -37,11 +37,15 @@ using std::ostream;
using std::string;
using std::stringstream;
#if !defined(MYSQL_VERSION_MAJOR)
#define USING_MARIADB_103
#else
#if MYSQL_VERSION_MAJOR == 10 && MYSQL_VERSION_MINOR == 3
#define USING_MARIADB_103
#else
#undef USING_MARIADB_103
#endif
#endif
namespace
{

View File

@ -981,7 +981,8 @@ set names utf8;
# MXS: qc_get_type : ERR: QUERY_TYPE_WRITE != QUERY_TYPE_WRITE|QUERY_TYPE_COMMIT
# MXS: qc_get_operation : ERR: QUERY_OP_UNDEFINED != QUERY_OP_CREATE
# MXS: qc_mysqlembedded sees the type as SQLCOM_END when figuring out the type.
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
# MXS: use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
# MXS: qc_get_database_names : ERR: Ð != имя_базы_в_кодировке_утф8_длиной_больше_чем_45
select database();
use test;