summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2014-12-03 11:37:26 +0100
committerSergei Golubchik <serg@mariadb.org>2014-12-03 11:37:26 +0100
commitec4137c62b00a2bad91dd108f5782b206fe86a8b (patch)
treeb284d929d1a498df14aafffd0c31831f2b4e9fd5 /sql/item.cc
parent1caee393076dc642a7d8e1283377b59ef8f52dbd (diff)
parentbafe529af76a915f43dbf6a3fb8dc610a4ea121b (diff)
downloadmariadb-git-ec4137c62b00a2bad91dd108f5782b206fe86a8b.tar.gz
Merge branch '10.1' into bb-10.1-merge
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc15
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)
{