1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-21838: Add information about packed addon fields in ANALYZE FORMAT=JSON

It is useful to know whether sorting uses addon fields[packed|unpacked] or ROWID.
Provide this information in ANALYZE FORMAT=JSON output.
This commit is contained in:
Varun Gupta
2020-02-28 11:46:13 +05:30
parent 8db623038f
commit 0c35e80dc9
7 changed files with 129 additions and 1 deletions

View File

@ -26,6 +26,7 @@
void Filesort_tracker::print_json_members(Json_writer *writer)
{
const char *varied_str= "(varied across executions)";
String str;
if (!get_r_loops())
writer->add_member("r_loops").add_null();
@ -78,6 +79,25 @@ void Filesort_tracker::print_json_members(Json_writer *writer)
else
writer->add_size(sort_buffer_size);
}
get_data_format(&str);
writer->add_member("r_sort_mode").add_str(str.c_ptr(), str.length());
}
void Filesort_tracker::get_data_format(String *str)
{
str->append("sort_key");
str->append(",");
if (r_using_addons)
{
if (r_packed_addon_fields)
str->append("packed_addon_fields");
else
str->append("addon_fields");
}
else
str->append("rowid");
}
void attach_gap_time_tracker(THD *thd, Gap_time_tracker *gap_tracker,