summaryrefslogtreecommitdiff
path: root/sql/ha_partition.h
diff options
context:
space:
mode:
authorserg@janus.mylan <>2007-01-29 10:40:26 +0100
committerserg@janus.mylan <>2007-01-29 10:40:26 +0100
commita07fd5fa8ff4b5b98fbe79b8e7301d5effaf9c2f (patch)
treef14bd08181ddd81d2a41f06d9bf0f11d6edf53b5 /sql/ha_partition.h
parent045d7047095be717c94fd823252d513dad8c4478 (diff)
downloadmariadb-git-a07fd5fa8ff4b5b98fbe79b8e7301d5effaf9c2f.tar.gz
WL#3700: Handler API change: all index search methods - that is,
index_read(), index_read_idx(), index_read_last(), and records_in_range() - instead of 'uint keylen' argument take 'ulonglong keypart_map', a bitmap showing which keyparts are present in the key value. Fallback method is provided for handlers that are lagging behind.
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r--sql/ha_partition.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h
index 4fdf325fa06..ad5d412a6d2 100644
--- a/sql/ha_partition.h
+++ b/sql/ha_partition.h
@@ -378,9 +378,8 @@ public:
any end processing needed.
*/
virtual int index_read(byte * buf, const byte * key,
- uint key_len, enum ha_rkey_function find_flag);
- virtual int index_read_idx(byte * buf, uint idx, const byte * key,
- uint key_len, enum ha_rkey_function find_flag);
+ ulonglong keypart_map,
+ enum ha_rkey_function find_flag);
virtual int index_init(uint idx, bool sorted);
virtual int index_end();
@@ -393,7 +392,8 @@ public:
virtual int index_first(byte * buf);
virtual int index_last(byte * buf);
virtual int index_next_same(byte * buf, const byte * key, uint keylen);
- virtual int index_read_last(byte * buf, const byte * key, uint keylen);
+ virtual int index_read_last(byte * buf, const byte * key,
+ ulonglong keypart_map);
/*
read_first_row is virtual method but is only implemented by
@@ -419,7 +419,7 @@ public:
private:
int common_index_read(byte * buf, const byte * key,
- uint key_len, enum ha_rkey_function find_flag);
+ ulonglong keypart_map, enum ha_rkey_function find_flag);
int common_first_last(byte * buf);
int partition_scan_set_up(byte * buf, bool idx_read_flag);
int handle_unordered_next(byte * buf, bool next_same);