diff options
-rw-r--r-- | storage/federated/ha_federated.cc | 18 | ||||
-rw-r--r-- | storage/federated/ha_federated.h | 5 |
2 files changed, 21 insertions, 2 deletions
diff --git a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc index db2f749b6d4..409b4c40804 100644 --- a/storage/federated/ha_federated.cc +++ b/storage/federated/ha_federated.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2349,6 +2349,22 @@ int ha_federated::delete_row(const uchar *buf) DBUG_RETURN(0); } +int ha_federated::index_read_idx_map(uchar *buf, uint index, const uchar *key, + key_part_map keypart_map, + enum ha_rkey_function find_flag) +{ + int error= index_init(index, 0); + if (error) + return error; + error= index_read_map(buf, key, keypart_map, find_flag); + if(!error && stored_result) + { + uchar *dummy_arg=NULL; + position(dummy_arg); + } + int error1= index_end(); + return error ? error : error1; +} /* Positions an index cursor to the index specified in the handle. Fetches the diff --git a/storage/federated/ha_federated.h b/storage/federated/ha_federated.h index da20bf1e5d5..237b7777067 100644 --- a/storage/federated/ha_federated.h +++ b/storage/federated/ha_federated.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -217,6 +217,9 @@ public: int delete_row(const uchar *buf); int index_init(uint keynr, bool sorted); ha_rows estimate_rows_upper_bound(); + int index_read_idx_map(uchar *buf, uint index, const uchar *key, + key_part_map keypart_map, + enum ha_rkey_function find_flag); int index_read(uchar *buf, const uchar *key, uint key_len, enum ha_rkey_function find_flag); int index_read_idx(uchar *buf, uint idx, const uchar *key, |