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

Function add_keyuse

sql/sql_select.cc:7391–7419  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7389*/
7390
7391static bool
7392add_keyuse(DYNAMIC_ARRAY *keyuse_array, KEY_FIELD *key_field,
7393 uint key, uint part)
7394{
7395 KEYUSE keyuse;
7396 Field *field= key_field->field;
7397
7398 keyuse.table= field->table;
7399 keyuse.val= key_field->val;
7400 keyuse.key= key;
7401 if (!is_hash_join_key_no(key))
7402 {
7403 keyuse.keypart=part;
7404 keyuse.keypart_map= (key_part_map) 1 << part;
7405 }
7406 else
7407 {
7408 keyuse.keypart= field->field_index;
7409 keyuse.keypart_map= (key_part_map) 0;
7410 }
7411 keyuse.used_tables= key_field->val->used_tables();
7412 keyuse.optimize= key_field->optimize & KEY_OPTIMIZE_REF_OR_NULL;
7413 keyuse.ref_table_rows= 0;
7414 keyuse.null_rejecting= key_field->null_rejecting;
7415 keyuse.cond_guard= key_field->cond_guard;
7416 keyuse.sj_pred_no= key_field->sj_pred_no;
7417 keyuse.validity_ref= 0;
7418 return (insert_dynamic(keyuse_array,(uchar*) &keyuse));
7419}
7420
7421
7422/*

Callers 1

add_key_partFunction · 0.85

Calls 3

is_hash_join_key_noFunction · 0.85
insert_dynamicFunction · 0.85
used_tablesMethod · 0.45

Tested by

no test coverage detected