Commit 61be9477 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

Removed not used functions from sql_cache

Added new tests to testsuite.
parent 0a2835a0
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -22,9 +22,7 @@
#include <m_ctype.h>
#include <my_net.h>
#include <my_sys.h>
#ifndef SCO
#include <m_string.h>
#endif
#include <sys/types.h>
#include <sys/socket.h>
#ifndef HAVE_BROKEN_NETINET_INCLUDES
@@ -34,10 +32,16 @@
#include <netdb.h>
#include <getopt.h>

#ifdef SCO
#undef h_errno
#define h_errno errno
#endif

#if !defined(_AIX) && !defined(HAVE_UNIXWARE7_THREADS) && !defined(HAVE_UNIXWARE7_POSIX) && !defined(h_errno)
extern int h_errno;
#endif


static int silent=0;

static struct option long_options[] =
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
# If you have a spare moment feel free to improve it - the right way is
# to start mysqld yourself and run mysqltest -r

RESULT_DIR=r/3.23
RESULT_DIR=r
if [ -z $EDITOR] ; then
 EDITOR=vi
fi
@@ -32,7 +32,7 @@ result_file=$RESULT_DIR/$test_name.result

touch $result_file
echo "Running the test case against empty file, will fail, but don't worry"
./mysql-test-run $test_name
./mysql-test-run --do-test=$test_name

reject_file=$result_file.reject

+98 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ flush query cache;
flush query cache;
reset query cache;
flush status;
drop table if exists t1,t2,t3;
drop table if exists t1,t2,t3,t11,t21;
create table t1 (a int not null);
insert into t1 values (1),(2),(3);
select * from t1;
@@ -173,6 +173,59 @@ show status like "Qcache_free_blocks";
Variable_name	Value
Qcache_free_blocks	1
drop table t1, t2;
create table t1 (a text not null);
create table t11 (a text not null);
create table t2 (a text not null);
create table t21 (a text not null);
create table t3 (a text not null);
insert into t1 values("1111111111111111111111111111111111111111111111111111");
insert into t11 select * from t1;
insert into t21 select * from t1;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t3 select * from t1;
insert into t3 select * from t2;
insert into t3 select * from t1;
select * from t11;
select * from t21;
show status like "Qcache_total_blocks";
Variable_name	Value
Qcache_total_blocks	7
show status like "Qcache_free_blocks";
Variable_name	Value
Qcache_free_blocks	1
insert into t11 values("");
select * from t3;
show status like "Qcache_total_blocks";
Variable_name	Value
Qcache_total_blocks	8
show status like "Qcache_free_blocks";
Variable_name	Value
Qcache_free_blocks	1
flush query cache;
show status like "Qcache_total_blocks";
Variable_name	Value
Qcache_total_blocks	7
show status like "Qcache_free_blocks";
Variable_name	Value
Qcache_free_blocks	1
drop table t1, t2, t3, t11, t21;
set sql_query_cache_type=demand;
create table t1 (a int not null);
insert into t1 values (1),(2),(3);
@@ -264,7 +317,6 @@ insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
drop table t2;
show status like "Qcache_hits";
Variable_name	Value
Qcache_hits	4
@@ -279,4 +331,48 @@ show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	2
reset query cache;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
select * from t1;
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	0
drop table t1,t2;
create database foo;
create table foo.t1 (i int not null auto_increment, a int, primary key (i));
insert into foo.t1 (a) values (1);
select * from foo.t1 where i is null;
i	a
1	1
select * from foo.t1;
i	a
1	1
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	1
drop database foo;
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	0
create table t1 (a char(1) not null);
insert into t1 values("");
select * from t1;
a

set CHARACTER SET cp1251_koi8;
select * from t1;
a

set CHARACTER SET DEFAULT;
show status like "Qcache_queries_in_cache";
Variable_name	Value
Qcache_queries_in_cache	2
drop table t1;
+1 −1
Original line number Diff line number Diff line
--set-variable=query_cache_size=1M
--set-variable=query_cache_size=1355776
+92 −2
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ flush query cache; # This crashed in some versions
flush query cache; # This crashed in some versions
reset query cache;
flush status;
drop table if exists t1,t2,t3;
drop table if exists t1,t2,t3,t11,t21;

#
# First simple test
@@ -86,6 +86,53 @@ show status like "Qcache_free_blocks";
flush query cache;
show status like "Qcache_free_blocks";
drop table t1, t2;
# With join results...
create table t1 (a text not null);
create table t11 (a text not null);
create table t2 (a text not null);
create table t21 (a text not null);
create table t3 (a text not null);
insert into t1 values("1111111111111111111111111111111111111111111111111111");
insert into t11 select * from t1;
insert into t21 select * from t1;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
#results of t3 must  be > 0.5Mb
insert into t3 select * from t1;
insert into t3 select * from t2;
insert into t3 select * from t1;
disable_result_log;
select * from t11;
select * from t21;
enable_result_log;
show status like "Qcache_total_blocks";
show status like "Qcache_free_blocks";
disable_result_log;
insert into t11 values("");
select * from t3;
enable_result_log;
show status like "Qcache_total_blocks";
show status like "Qcache_free_blocks";
flush query cache;
show status like "Qcache_total_blocks";
show status like "Qcache_free_blocks";
drop table t1, t2, t3, t11, t21;
#
# SELECT SQL_CACHE ...
#
@@ -154,7 +201,6 @@ insert into t2 select * from t1; # 987
insert into t1 select * from t2; # 1597
insert into t2 select * from t1; # 2584
insert into t1 select * from t2; # 4181
drop table t2;

show status like "Qcache_hits";
disable_result_log;
@@ -167,6 +213,50 @@ enable_result_log;
show status like "Qcache_hits";
show status like "Qcache_queries_in_cache";
reset query cache;
#
# Query bigger then query_cache_limit
#
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
insert into t2 select * from t1;
insert into t1 select * from t2;
disable_result_log;
select * from t1;
enable_result_log;
show status like "Qcache_queries_in_cache";
drop table t1,t2;

#
# noncachable ODBC work around (and prepare cache for drop database)
#
create database foo;
create table foo.t1 (i int not null auto_increment, a int, primary key (i));
insert into foo.t1 (a) values (1);
select * from foo.t1 where i is null;

#
# drop db
#
select * from foo.t1;
show status like "Qcache_queries_in_cache";
drop database foo;
show status like "Qcache_queries_in_cache";
#
# Charset convertion (cp1251_koi8 always present)
#
create table t1 (a char(1) not null);
insert into t1 values("");
select * from t1;
set CHARACTER SET cp1251_koi8;
select * from t1;
set CHARACTER SET DEFAULT;
show status like "Qcache_queries_in_cache";
drop table t1;

# The following tests can't be done as the values differen on 32 and 64 bit
Loading