summaryrefslogtreecommitdiff
path: root/sql/sql_explain.cc
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2014-12-06 03:11:03 +0300
committerSergei Petrunia <psergey@askmonty.org>2014-12-06 03:11:03 +0300
commit5ee1c25fa8043f81ad744d1c532b8c1dafa3b5ea (patch)
treeed59f9c4886c2a812e0a954053d1375aad5f63c0 /sql/sql_explain.cc
parenta80a797686e72644e0ad479fdfd2a3b56c4ddf05 (diff)
downloadmariadb-git-5ee1c25fa8043f81ad744d1c532b8c1dafa3b5ea.tar.gz
EXPLAIN FORMAT=JSON: Full scan on NULL key (join case)
Diffstat (limited to 'sql/sql_explain.cc')
-rw-r--r--sql/sql_explain.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc
index ddd37dbbd87..800f2ce309b 100644
--- a/sql/sql_explain.cc
+++ b/sql/sql_explain.cc
@@ -1139,6 +1139,8 @@ void Explain_table_access::tag_to_json(Json_writer *writer, enum explain_extra_t
case ET_START_TEMPORARY:
case ET_END_TEMPORARY:
/* Handled as "duplicates_removal: { ... } */
+ case ET_FULL_SCAN_ON_NULL_KEY:
+ /* Handled in full_scan_on_null_key */
break;
case ET_FIRST_MATCH:
writer->add_member("first_match").add_str(firstmatch_table_name.c_ptr());
@@ -1188,6 +1190,9 @@ void Explain_table_access::print_explain_json(Explain_query *query,
add_json_keyset(writer, "keys", &possible_keys);
}
+ if (full_scan_on_null_key)
+ writer->add_member("full-scan-on-null_key").start_object();
+
writer->add_member("table").start_object();
writer->add_member("table_name").add_str(table_name);
@@ -1289,6 +1294,9 @@ void Explain_table_access::print_explain_json(Explain_query *query,
tag_to_json(writer, extra_tags.at(i));
}
+ if (full_scan_on_null_key)
+ writer->end_object(); //"full-scan-on-null_key"
+
if (range_checked_fer)
writer->end_object(); // "range-checked-for-each-record"