1774
/****************************************************************************
1775
* MyISAM MRR implementation: use DS-MRR
1776
***************************************************************************/
1778
int ha_myisam::multi_range_read_init(RANGE_SEQ_IF *seq, void *seq_init_param,
1779
uint32_t n_ranges, uint32_t mode,
1780
HANDLER_BUFFER *buf)
1782
return ds_mrr.dsmrr_init(this, &table->key_info[active_index],
1783
seq, seq_init_param, n_ranges, mode, buf);
1786
int ha_myisam::multi_range_read_next(char **range_info)
1788
return ds_mrr.dsmrr_next(this, range_info);
1791
ha_rows ha_myisam::multi_range_read_info_const(uint32_t keyno, RANGE_SEQ_IF *seq,
1792
void *seq_init_param,
1793
uint32_t n_ranges, uint32_t *bufsz,
1794
uint32_t *flags, COST_VECT *cost)
1797
This call is here because there is no location where this->table would
1799
TODO: consider moving it into some per-query initialization call.
1801
ds_mrr.init(this, table);
1802
return ds_mrr.dsmrr_info_const(keyno, seq, seq_init_param, n_ranges, bufsz,
1806
int ha_myisam::multi_range_read_info(uint32_t keyno, uint32_t n_ranges, uint32_t keys,
1807
uint32_t *bufsz, uint32_t *flags, COST_VECT *cost)
1809
ds_mrr.init(this, table);
1810
return ds_mrr.dsmrr_info(keyno, n_ranges, keys, bufsz, flags, cost);
1813
/* MyISAM MRR implementation ends */
1816
1772
/* Index condition pushdown implementation*/