From 09fc04ad5fc768e041974b5254d2ca0452111570 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 28 Nov 2002 15:19:42 +0400 Subject: [PATCH] ::index_read_last() method has been added --- sql/ha_heap.cc | 10 +++++++++- sql/ha_heap.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc index 4a3b9495f6f..fb4061b31e0 100644 --- a/sql/ha_heap.cc +++ b/sql/ha_heap.cc @@ -81,6 +81,15 @@ int ha_heap::index_read(byte * buf, const byte * key, uint key_len, return error; } +int ha_heap::index_read_last(byte *buf, const byte *key, uint key_len) +{ + statistic_increment(ha_read_key_count, &LOCK_status); + int error= heap_rkey(file, buf, active_index, key, key_len, + HA_READ_PREFIX_LAST); + table->status= error ? STATUS_NOT_FOUND : 0; + return error; +} + int ha_heap::index_read_idx(byte * buf, uint index, const byte * key, uint key_len, enum ha_rkey_function find_flag) { @@ -90,7 +99,6 @@ int ha_heap::index_read_idx(byte * buf, uint index, const byte * key, return error; } - int ha_heap::index_next(byte * buf) { statistic_increment(ha_read_next_count,&LOCK_status); diff --git a/sql/ha_heap.h b/sql/ha_heap.h index f82a1a460d8..fe874dab3f2 100644 --- a/sql/ha_heap.h +++ b/sql/ha_heap.h @@ -67,6 +67,7 @@ class ha_heap: public handler uint key_len, enum ha_rkey_function find_flag); int index_read_idx(byte * buf, uint idx, const byte * key, uint key_len, enum ha_rkey_function find_flag); + int index_read_last(byte * buf, const byte * key, uint key_len); int index_next(byte * buf); int index_prev(byte * buf); int index_first(byte * buf);