Commit 924de893 authored by serg@serg.mylan's avatar serg@serg.mylan

release cursors in return_zero_rows

parent 3ba6fd97
...@@ -629,7 +629,7 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use, ...@@ -629,7 +629,7 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use,
if (!records) if (!records)
records++; /* purecov: inspected */ records++; /* purecov: inspected */
scan_time=(double) records / TIME_FOR_COMPARE+1; scan_time=(double) records / TIME_FOR_COMPARE+1;
read_time=(double) head->file->scan_time()+ scan_time + 1.0; read_time=(double) head->file->scan_time()+ scan_time + 1.01;
if (head->force_index) if (head->force_index)
scan_time= read_time= DBL_MAX; scan_time= read_time= DBL_MAX;
if (limit < records) if (limit < records)
...@@ -716,9 +716,6 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use, ...@@ -716,9 +716,6 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use,
key++,idx++) key++,idx++)
{ {
ha_rows found_records; ha_rows found_records;
#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ == 95) && defined(__OPTIMIZE__)
volatile // gcc 2.95.3 bug in -O3 mode
#endif
double found_read_time; double found_read_time;
if (*key) if (*key)
{ {
......
...@@ -4128,6 +4128,8 @@ return_zero_rows(JOIN *join, select_result *result,TABLE_LIST *tables, ...@@ -4128,6 +4128,8 @@ return_zero_rows(JOIN *join, select_result *result,TABLE_LIST *tables,
DBUG_RETURN(0); DBUG_RETURN(0);
} }
join->join_free(0);
if (send_row) if (send_row)
{ {
for (TABLE_LIST *table=tables; table ; table=table->next) for (TABLE_LIST *table=tables; table ; table=table->next)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment