Commit 811c6d21 authored by unknown's avatar unknown

fix (bug #10303: Misleading Last_query_cost value).


sql/sql_cache.cc:
  fix (bug #10303: Misleading Last_query_cost value).
  set the last_query_cost to 0.0 in case we use the query cache.
parent 2a0f9f33
...@@ -1127,3 +1127,19 @@ Qcache_hits 9 ...@@ -1127,3 +1127,19 @@ Qcache_hits 9
drop procedure f1; drop procedure f1;
drop table t1; drop table t1;
set GLOBAL query_cache_size=0; set GLOBAL query_cache_size=0;
SET GLOBAL query_cache_size=102400;
create table t1(a int);
insert into t1 values(0), (1), (4), (5);
select * from t1 where a > 3;
a
4
5
select * from t1 where a > 3;
a
4
5
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 0.000000
drop table t1;
SET GLOBAL query_cache_size=0;
...@@ -17,3 +17,9 @@ Variable_name Value ...@@ -17,3 +17,9 @@ Variable_name Value
Table_locks_immediate 3 Table_locks_immediate 3
Table_locks_waited 1 Table_locks_waited 1
drop table t1; drop table t1;
select 1;
1
1
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 0.000000
...@@ -816,3 +816,16 @@ drop table t1; ...@@ -816,3 +816,16 @@ drop table t1;
set GLOBAL query_cache_size=0; set GLOBAL query_cache_size=0;
# End of 4.1 tests # End of 4.1 tests
#
# Bug #10303: problem with last_query_cost
#
SET GLOBAL query_cache_size=102400;
create table t1(a int);
insert into t1 values(0), (1), (4), (5);
select * from t1 where a > 3;
select * from t1 where a > 3;
show status like 'last_query_cost';
drop table t1;
SET GLOBAL query_cache_size=0;
...@@ -37,3 +37,10 @@ show status like 'Table_lock%'; ...@@ -37,3 +37,10 @@ show status like 'Table_lock%';
drop table t1; drop table t1;
# End of 4.1 tests # End of 4.1 tests
#
# lost_query_cost
#
select 1;
show status like 'last_query_cost';
...@@ -1178,6 +1178,7 @@ sql mode: 0x%lx, sort len: %lu, conncat len: %lu", ...@@ -1178,6 +1178,7 @@ sql mode: 0x%lx, sort len: %lu, conncat len: %lu",
#endif /*!EMBEDDED_LIBRARY*/ #endif /*!EMBEDDED_LIBRARY*/
thd->limit_found_rows = query->found_rows(); thd->limit_found_rows = query->found_rows();
thd->status_var.last_query_cost= 0.0;
BLOCK_UNLOCK_RD(query_block); BLOCK_UNLOCK_RD(query_block);
DBUG_RETURN(1); // Result sent to client DBUG_RETURN(1); // Result sent to client
......
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