summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authormonty@donna.mysql.fi <>2001-04-19 20:41:19 +0300
committermonty@donna.mysql.fi <>2001-04-19 20:41:19 +0300
commita94ba10f8db7556ac459e3b6d7c1ab990f47ec63 (patch)
treeb9a43fcdfcccfe2291c2db879da2011530b4339f /sql/sql_select.cc
parent3876d83ec1a13fc310dc1839176f9d286a384ded (diff)
downloadmariadb-git-a94ba10f8db7556ac459e3b6d7c1ab990f47ec63.tar.gz
Fix for BDB and LOCK TABLES
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 77cf20f813a..00a41a851b5 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -2525,7 +2525,6 @@ join_free(JOIN *join)
delete tab->select;
delete tab->quick;
x_free(tab->cache.buff);
- end_read_record(&tab->read_record);
if (tab->table)
{
if (tab->table->key_read)
@@ -2533,8 +2532,11 @@ join_free(JOIN *join)
tab->table->key_read=0;
tab->table->file->extra(HA_EXTRA_NO_KEYREAD);
}
- tab->table->file->index_end();
+ /* Don't free index if we are using read_record */
+ if (!tab->read_record.table)
+ tab->table->file->index_end();
}
+ end_read_record(&tab->read_record);
}
join->table=0;
}