summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--storage/federated/ha_federated.cc18
-rw-r--r--storage/federated/ha_federated.h5
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,