null+****@clear*****
null+****@clear*****
2011年 8月 12日 (金) 10:41:09 JST
Kouhei Sutou 2011-08-12 01:41:09 +0000 (Fri, 12 Aug 2011)
New Revision: d5534fae3c05d0a233b267b97fee7c301496dcb2
Log:
[mysql-5.6] handler::index_last() is protected. refs #1046
Modified files:
ha_mroonga.cc
ha_mroonga.h
Modified: ha_mroonga.cc (+4 -0)
===================================================================
--- ha_mroonga.cc 2011-08-12 01:35:23 +0000 (caf7256)
+++ ha_mroonga.cc 2011-08-12 01:41:09 +0000 (ec92977)
@@ -3913,7 +3913,11 @@ int ha_mroonga::wrapper_index_last(uchar *buf)
MRN_SET_WRAP_TABLE_KEY(this, table);
if (fulltext_searching)
set_pk_bitmap();
+#ifdef MRN_HANDLER_HAVE_HA_INDEX_LAST
+ error = wrap_handler->ha_index_last(buf);
+#else
error = wrap_handler->index_last(buf);
+#endif
MRN_SET_BASE_SHARE_KEY(share, table->s);
MRN_SET_BASE_TABLE_KEY(this, table);
DBUG_RETURN(error);
Modified: ha_mroonga.h (+7 -1)
===================================================================
--- ha_mroonga.h 2011-08-12 01:35:23 +0000 (131009d)
+++ ha_mroonga.h 2011-08-12 01:41:09 +0000 (20f1c7d)
@@ -44,6 +44,7 @@ extern "C" {
# define MRN_HANDLER_HAVE_HA_INDEX_NEXT 1
# define MRN_HANDLER_HAVE_HA_INDEX_PREV 1
# define MRN_HANDLER_HAVE_HA_INDEX_FIRST 1
+# define MRN_HANDLER_HAVE_HA_INDEX_LAST 1
#endif
#if MYSQL_VERSION_ID < 50600
@@ -195,7 +196,9 @@ public:
#ifndef MRN_HANDLER_HAVE_HA_INDEX_FIRST
int index_first(uchar *buf);
#endif
- int index_last(uchar * buf);
+#ifndef MRN_HANDLER_HAVE_HA_INDEX_LAST
+ int index_last(uchar *buf);
+#endif
int index_next_same(uchar *buf, const uchar *key, uint keylen);
int read_range_first(const key_range *start_key,
@@ -266,6 +269,9 @@ protected:
#ifdef MRN_HANDLER_HAVE_HA_INDEX_FIRST
int index_first(uchar *buf);
#endif
+#ifdef MRN_HANDLER_HAVE_HA_INDEX_LAST
+ int index_last(uchar *buf);
+#endif
private:
#ifdef MRN_HANDLER_HAVE_HA_CLOSE