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:
@ -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,
|
||||
|
Reference in New Issue
Block a user