summaryrefslogtreecommitdiff
path: root/sql/sql_explain.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-01-04 09:22:59 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-01-04 09:22:59 +0200
commit145ae15a33210e13d33d6f41b145b3f04cab2263 (patch)
tree02810e3c0d629f7d7def2dbc663154cbdb53242f /sql/sql_explain.cc
parentacd2862e65a6555fba6065b7b4ded8513e2ce37c (diff)
parent1a1bda2222e0c2ab41baed1510f6fbca80c20d31 (diff)
downloadmariadb-git-145ae15a33210e13d33d6f41b145b3f04cab2263.tar.gz
Merge bb-10.2-ext into 10.3
Diffstat (limited to 'sql/sql_explain.cc')
-rw-r--r--sql/sql_explain.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc
index fed38a5f4f4..ad80303e1b3 100644
--- a/sql/sql_explain.cc
+++ b/sql/sql_explain.cc
@@ -974,6 +974,7 @@ Explain_aggr_filesort::Explain_aggr_filesort(MEM_ROOT *mem_root,
for (ORDER *ord= filesort->order; ord; ord= ord->next)
{
sort_items.push_back(ord->item[0], mem_root);
+ sort_directions.push_back(&ord->direction, mem_root);
}
filesort->tracker= &tracker;
}
@@ -987,10 +988,13 @@ void Explain_aggr_filesort::print_json_members(Json_writer *writer,
str.length(0);
List_iterator_fast<Item> it(sort_items);
- Item *item;
+ List_iterator_fast<ORDER::enum_order> it_dir(sort_directions);
+ Item* item;
+ ORDER::enum_order *direction;
bool first= true;
while ((item= it++))
{
+ direction= it_dir++;
if (first)
first= false;
else
@@ -998,6 +1002,8 @@ void Explain_aggr_filesort::print_json_members(Json_writer *writer,
str.append(", ");
}
append_item_to_str(&str, item);
+ if (*direction == ORDER::ORDER_DESC)
+ str.append(" desc");
}
writer->add_member("sort_key").add_str(str.c_ptr_safe());