~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/myisam/ha_myisam.cc

  • Committer: Brian Aker
  • Date: 2009-07-28 23:44:32 UTC
  • mfrom: (1100.1.6 merge)
  • Revision ID: brian@gaz-20090728234432-t5hpryg40a4rz20b
Removal of all basic MRR

Show diffs side-by-side

added added

removed removed

Lines of Context:
1315
1315
  //pushed_idx_cond_keyno= MAX_KEY;
1316
1316
  mi_set_index_cond_func(file, NULL, 0);
1317
1317
  in_range_check_pushed_down= false;
1318
 
  ds_mrr.dsmrr_close();
1319
1318
  return 0;
1320
1319
}
1321
1320
 
1551
1550
  pushed_idx_cond= NULL;
1552
1551
  pushed_idx_cond_keyno= MAX_KEY;
1553
1552
  mi_set_index_cond_func(file, NULL, 0);
1554
 
  ds_mrr.dsmrr_close();
1555
1553
  return mi_reset(file);
1556
1554
}
1557
1555
 
1771
1769
}
1772
1770
 
1773
1771
 
1774
 
/****************************************************************************
1775
 
 * MyISAM MRR implementation: use DS-MRR
1776
 
 ***************************************************************************/
1777
 
 
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)
1781
 
{
1782
 
  return ds_mrr.dsmrr_init(this, &table->key_info[active_index],
1783
 
                           seq, seq_init_param, n_ranges, mode, buf);
1784
 
}
1785
 
 
1786
 
int ha_myisam::multi_range_read_next(char **range_info)
1787
 
{
1788
 
  return ds_mrr.dsmrr_next(this, range_info);
1789
 
}
1790
 
 
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)
1795
 
{
1796
 
  /*
1797
 
    This call is here because there is no location where this->table would
1798
 
    already be known.
1799
 
    TODO: consider moving it into some per-query initialization call.
1800
 
  */
1801
 
  ds_mrr.init(this, table);
1802
 
  return ds_mrr.dsmrr_info_const(keyno, seq, seq_init_param, n_ranges, bufsz,
1803
 
                                 flags, cost);
1804
 
}
1805
 
 
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)
1808
 
{
1809
 
  ds_mrr.init(this, table);
1810
 
  return ds_mrr.dsmrr_info(keyno, n_ranges, keys, bufsz, flags, cost);
1811
 
}
1812
 
 
1813
 
/* MyISAM MRR implementation ends */
1814
 
 
1815
 
 
1816
1772
/* Index condition pushdown implementation*/
1817
1773
 
1818
1774