1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

MWL#121-124 DS-MRR support for key-ordered retrieval, etc

- Merge into 5.3-main
This commit is contained in:
Sergey Petrunya
2010-11-01 18:49:59 +03:00
42 changed files with 2688 additions and 327 deletions

View File

@@ -651,6 +651,9 @@ int JOIN_CACHE_BKA::init()
use_emb_key= check_emb_key_usage();
if (use_emb_key)
mrr_mode|= HA_MRR_MATERIALIZED_KEYS;
create_remaining_fields(FALSE);
set_constants();
@@ -2386,8 +2389,8 @@ JOIN_CACHE_BKA::init_join_matching_records(RANGE_SEQ_IF *seq_funcs, uint ranges)
*/
if (!file->inited)
file->ha_index_init(join_tab->ref.key, 1);
if ((error= file->multi_range_read_init(seq_funcs, (void*) this, ranges,
mrr_mode, &mrr_buff)))
if ((error= file->multi_range_read_init(seq_funcs, (void*) this, ranges,
mrr_mode, &mrr_buff)))
rc= error < 0 ? NESTED_LOOP_NO_MORE_ROWS: NESTED_LOOP_ERROR;
return rc;
@@ -2627,6 +2630,8 @@ int JOIN_CACHE_BKA_UNIQUE::init()
data_fields_offset+= copy->length;
}
mrr_mode|= HA_MRR_MATERIALIZED_KEYS;
DBUG_RETURN(rc);
}