MCPcopy Create free account
hub / github.com/MariaDB/server / print_keyuse_array_for_trace

Function print_keyuse_array_for_trace

sql/sql_test.cc:682–709  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

680}
681
682void print_keyuse_array_for_trace(THD *thd, DYNAMIC_ARRAY *keyuse_array)
683{
684 DBUG_ASSERT(thd->trace_started());
685
686 Json_writer_object wrapper(thd);
687 Json_writer_array trace_key_uses(thd, "ref_optimizer_key_uses");
688
689 for (uint i=0; i < keyuse_array->elements; i++)
690 {
691 KEYUSE *keyuse= (KEYUSE*)dynamic_array_ptr(keyuse_array, i);
692 Json_writer_object keyuse_elem(thd);
693 keyuse_elem.add_table_name(keyuse->table->reginfo.join_tab);
694 if (keyuse->keypart != FT_KEYPART && !keyuse->is_for_hash_join())
695 {
696 keyuse_elem.add("index", keyuse->table->key_info[keyuse->key].name);
697 }
698 keyuse_elem.
699 add("field", (keyuse->keypart == FT_KEYPART) ? "<fulltext>":
700 (keyuse->is_for_hash_join() ?
701 keyuse->table->field[keyuse->keypart]
702 ->field_name.str :
703 keyuse->table->key_info[keyuse->key]
704 .key_part[keyuse->keypart]
705 .field->field_name.str)).
706 add("equals",keyuse->val).
707 add("null_rejecting",keyuse->null_rejecting);
708 }
709}
710
711
712#ifndef DBUG_OFF

Callers 1

make_join_statisticsFunction · 0.85

Calls 4

is_for_hash_joinMethod · 0.80
trace_startedMethod · 0.45
add_table_nameMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected