From 19a2eced822fa5467651e6ce50b06b2160f36439 Mon Sep 17 00:00:00 2001 From: "mskold@mysql.com" <> Date: Tue, 7 Sep 2004 16:21:29 +0200 Subject: [PATCH 1/2] Removed unnecessary condition --- sql/handler.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index 15f30b25eb8..b412060f501 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -1433,9 +1433,9 @@ int handler::read_range_first(const key_range *start_key, start_key->length, start_key->flag); if (result) - DBUG_RETURN((result == HA_ERR_KEY_NOT_FOUND || - result == HA_ERR_END_OF_FILE) ? HA_ERR_END_OF_FILE : - result); + DBUG_RETURN((result == HA_ERR_KEY_NOT_FOUND) + ? HA_ERR_END_OF_FILE + : result); DBUG_RETURN (compare_key(end_range) <= 0 ? 0 : HA_ERR_END_OF_FILE); } From 5827b829b0cc1368a5fb0c97d25a0a15b3471cf0 Mon Sep 17 00:00:00 2001 From: "mskold@mysql.com" <> Date: Tue, 7 Sep 2004 16:22:42 +0200 Subject: [PATCH 2/2] Added use of buffer argument in index_read --- sql/ha_ndbcluster.cc | 25 ++++++++++++++++++++----- sql/ha_ndbcluster.h | 4 ++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 815aed13ce3..9629a358fc3 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -1907,8 +1907,8 @@ int ha_ndbcluster::index_end() int ha_ndbcluster::index_read(byte *buf, - const byte *key, uint key_len, - enum ha_rkey_function find_flag) + const byte *key, uint key_len, + enum ha_rkey_function find_flag) { DBUG_ENTER("index_read"); DBUG_PRINT("enter", ("active_index: %u, key_len: %u, find_flag: %d", @@ -1918,7 +1918,7 @@ int ha_ndbcluster::index_read(byte *buf, start_key.key= key; start_key.length= key_len; start_key.flag= find_flag; - DBUG_RETURN(read_range_first(&start_key, NULL, false, true)); + DBUG_RETURN(read_range_first_to_buf(&start_key, NULL, false, true, buf)); } @@ -1972,10 +1972,25 @@ int ha_ndbcluster::read_range_first(const key_range *start_key, const key_range *end_key, bool eq_range, bool sorted) { - KEY* key_info; - int error= 1; byte* buf= table->record[0]; DBUG_ENTER("ha_ndbcluster::read_range_first"); + + DBUG_RETURN(read_range_first_to_buf(start_key, + end_key, + eq_range, + sorted, + buf)); +} + +inline +int ha_ndbcluster::read_range_first_to_buf(const key_range *start_key, + const key_range *end_key, + bool eq_range, bool sorted, + byte* buf) +{ + KEY* key_info; + int error= 1; + DBUG_ENTER("ha_ndbcluster::read_range_first_to_buf"); DBUG_PRINT("info", ("eq_range: %d, sorted: %d", eq_range, sorted)); if (m_active_cursor) diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index c49a6078e7a..d71db9268bb 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -93,6 +93,10 @@ class ha_ndbcluster: public handler int read_range_first(const key_range *start_key, const key_range *end_key, bool eq_range, bool sorted); + int read_range_first_to_buf(const key_range *start_key, + const key_range *end_key, + bool eq_range, bool sorted, + byte* buf); int read_range_next(); bool get_error_message(int error, String *buf);