summaryrefslogtreecommitdiff
path: root/storage/tokudb/ha_tokudb_mrr_maria.cc
diff options
context:
space:
mode:
authorZardosht Kasheff <zardosht@tokutek.com>2013-04-17 00:02:17 -0400
committerYoni Fogel <yoni@tokutek.com>2013-04-17 00:02:17 -0400
commit38468b6c2d1d77dd073a7e56b4c565ba3004f3ad (patch)
treef6e436758a132bef3af63083151d6a2c1be33ea1 /storage/tokudb/ha_tokudb_mrr_maria.cc
parent691e2b7123f643fcc5a84c2fa09ae6bd7fc954d2 (diff)
downloadmariadb-git-38468b6c2d1d77dd073a7e56b4c565ba3004f3ad.tar.gz
refs #5571, merge to main
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@53300 c7de825b-a66e-492c-adef-691d508d4ae1
Diffstat (limited to 'storage/tokudb/ha_tokudb_mrr_maria.cc')
-rw-r--r--storage/tokudb/ha_tokudb_mrr_maria.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/storage/tokudb/ha_tokudb_mrr_maria.cc b/storage/tokudb/ha_tokudb_mrr_maria.cc
new file mode 100644
index 00000000000..53fdb494376
--- /dev/null
+++ b/storage/tokudb/ha_tokudb_mrr_maria.cc
@@ -0,0 +1,47 @@
+/****************************************************************************
+ * DS-MRR implementation, essentially copied from InnoDB/MyISAM/Maria
+ ***************************************************************************/
+
+/**
+ * Multi Range Read interface, DS-MRR calls
+ */
+
+int ha_tokudb::multi_range_read_init(RANGE_SEQ_IF *seq, void *seq_init_param,
+ uint n_ranges, uint mode,
+ HANDLER_BUFFER *buf)
+{
+ return ds_mrr.dsmrr_init(this, seq, seq_init_param, n_ranges, mode, buf);
+}
+
+int ha_tokudb::multi_range_read_next(range_id_t *range_info)
+{
+ return ds_mrr.dsmrr_next(range_info);
+}
+
+ha_rows ha_tokudb::multi_range_read_info_const(uint keyno, RANGE_SEQ_IF *seq,
+ void *seq_init_param,
+ uint n_ranges, uint *bufsz,
+ uint *flags,
+ COST_VECT *cost)
+{
+ /* See comments in ha_myisam::multi_range_read_info_const */
+ ds_mrr.init(this, table);
+ ha_rows res= ds_mrr.dsmrr_info_const(keyno, seq, seq_init_param, n_ranges,
+ bufsz, flags, cost);
+ return res;
+}
+
+ha_rows ha_tokudb::multi_range_read_info(uint keyno, uint n_ranges, uint keys,
+ uint key_parts, uint *bufsz,
+ uint *flags, COST_VECT *cost)
+{
+ ds_mrr.init(this, table);
+ ha_rows res= ds_mrr.dsmrr_info(keyno, n_ranges, keys, key_parts, bufsz,
+ flags, cost);
+ return res;
+}
+
+int ha_tokudb::multi_range_read_explain_info(uint mrr_mode, char *str, size_t size)
+{
+ return ds_mrr.dsmrr_explain_info(mrr_mode, str, size);
+}