From c7d48e576e7f69e6a689047f73cc7da2ea70568f Mon Sep 17 00:00:00 2001
From: unknown <antony@ltantony.rdg.cyberkinetica.com>
Date: Tue, 6 Jul 2004 16:30:50 +0100
Subject: [PATCH] Bug#4407 - assertion in ha_myisam.cc   Fix assertion failure
 where ha_myisam::index_next() is called   without first calling
 ha_myisam::ha_index_init()

BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
---
 BitKeeper/etc/logging_ok | 1 +
 sql/sql_acl.cc           | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok
index 99ee1c5182b..398a9295579 100644
--- a/BitKeeper/etc/logging_ok
+++ b/BitKeeper/etc/logging_ok
@@ -11,6 +11,7 @@ administrador@light.hegel.local
 ahlentz@co3064164-a.rochd1.qld.optusnet.com.au
 akishkin@work.mysql.com
 antony@ltantony.dsl-verizon.net
+antony@ltantony.rdg.cyberkinetica.com
 antony@ltantony.rdg.cyberkinetica.homeunix.net
 arjen@bitbike.com
 arjen@co3064164-a.bitbike.com
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index a03e371dd63..fa8065a5fc3 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -1790,11 +1790,13 @@ GRANT_TABLE::GRANT_TABLE(TABLE *form, TABLE *col_privs)
              col_privs->field[3]->pack_length());
     key_copy(key,col_privs,0,key_len);
     col_privs->field[4]->store("",0, &my_charset_latin1);
-    if (col_privs->file->index_read_idx(col_privs->record[0],0,
+    col_privs->file->ha_index_init(0);
+    if (col_privs->file->index_read(col_privs->record[0],
                                     (byte*) col_privs->field[0]->ptr,
                                     key_len, HA_READ_KEY_EXACT))
     {
       cols = 0; /* purecov: deadcode */
+      col_privs->file->ha_index_end();
       return;
     }
     do
@@ -1814,6 +1816,7 @@ GRANT_TABLE::GRANT_TABLE(TABLE *form, TABLE *col_privs)
       my_hash_insert(&hash_columns, (byte *) mem_check);
     } while (!col_privs->file->index_next(col_privs->record[0]) &&
              !key_cmp_if_same(col_privs,key,0,key_len));
+    col_privs->file->ha_index_end();
   }
 }
 
-- 
2.30.9