diff options
author | Sergei Golubchik <serg@mariadb.org> | 2014-12-03 11:37:26 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2014-12-03 11:37:26 +0100 |
commit | ec4137c62b00a2bad91dd108f5782b206fe86a8b (patch) | |
tree | b284d929d1a498df14aafffd0c31831f2b4e9fd5 /sql/item.cc | |
parent | 1caee393076dc642a7d8e1283377b59ef8f52dbd (diff) | |
parent | bafe529af76a915f43dbf6a3fb8dc610a4ea121b (diff) | |
download | mariadb-git-ec4137c62b00a2bad91dd108f5782b206fe86a8b.tar.gz |
Merge branch '10.1' into bb-10.1-merge
Diffstat (limited to 'sql/item.cc')
-rw-r--r-- | sql/item.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sql/item.cc b/sql/item.cc index 099fe1e7f07..d585ace5717 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -2504,7 +2504,13 @@ void Item_ident::print(String *str, enum_query_type query_type) } if (db_name && db_name[0] && !alias_name_used) { - if (!(cached_table && cached_table->belong_to_view && + /* + When printing EXPLAIN, don't print database name when it's the same as + current database. + */ + bool skip_db= (query_type & QT_EXPLAIN) && !strcmp(thd->db, db_name); + if (!skip_db && + !(cached_table && cached_table->belong_to_view && cached_table->belong_to_view->compact_view_format)) { append_identifier(thd, str, d_name, (uint)strlen(d_name)); @@ -7542,6 +7548,13 @@ void Item_cache_wrapper::init_on_demand() void Item_cache_wrapper::print(String *str, enum_query_type query_type) { + if (query_type == QT_EXPLAIN) + { + /* Don't print the cache in EXPLAIN EXTENDED */ + orig_item->print(str, query_type); + return; + } + str->append(func_name()); if (expr_cache) { |