mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
0afb6ff660
(Needed for "list of pushes" web page and autopush) include/mysql.h: Fix to embedded server to be able to run tests on it libmysql/libmysql.c: Fix to embedded server to be able to run tests on it libmysqld/emb_qcache.cc: Fix to embedded server to be able to run tests on it libmysqld/embedded_priv.h: Fix to embedded server to be able to run tests on it libmysqld/lib_sql.cc: Fix to embedded server to be able to run tests on it libmysqld/libmysqld.c: Fix to embedded server to be able to run tests on it mysql-test/mysql-test-run.sh: Fix to embedded server to be able to run tests on it mysql-test/r/binlog.result: Updated test for embedded server mysql-test/r/ctype_cp932.result: Updated test for embedded server mysql-test/r/innodb.result: Updated test for embedded server mysql-test/r/mysqltest.result: Updated test for embedded server mysql-test/r/query_cache.result: Updated test for embedded server mysql-test/r/query_cache_notembedded.result: Updated test for embedded server mysql-test/r/sp-error.result: Updated test for embedded server mysql-test/r/sp.result: Updated test for embedded server mysql-test/r/subselect.result: Updated test for embedded server mysql-test/r/view.result: Updated test for embedded server mysql-test/r/view_grant.result: Updated test for embedded server mysql-test/t/backup.test: Updated test for embedded server mysql-test/t/binlog.test: Updated test for embedded server mysql-test/t/blackhole.test: Updated test for embedded server mysql-test/t/compress.test: Updated test for embedded server mysql-test/t/ctype_cp932.test: Updated test for embedded server mysql-test/t/delayed.test: Updated test for embedded server mysql-test/t/handler.test: Updated test for embedded server mysql-test/t/innodb.test: Updated test for embedded server mysql-test/t/mysql.test: Updated test for embedded server mysql-test/t/mysql_client_test.test: Updated test for embedded server mysql-test/t/mysqltest.test: Updated test for embedded server mysql-test/t/query_cache.test: Updated test for embedded server mysql-test/t/query_cache_notembedded.test: Updated test for embedded server mysql-test/t/read_only.test: Updated test for embedded server mysql-test/t/skip_grants.test: Updated test for embedded server mysql-test/t/sp-destruct.test: Updated test for embedded server mysql-test/t/sp-error.test: Updated test for embedded server mysql-test/t/sp-threads.test: Updated test for embedded server mysql-test/t/sp.test: Updated test for embedded server mysql-test/t/subselect.test: Updated test for embedded server mysql-test/t/temp_table.test: Updated test for embedded server mysql-test/t/view.test: Updated test for embedded server mysql-test/t/view_grant.test: Updated test for embedded server mysql-test/t/wait_timeout.test: Updated test for embedded server mysys/mf_dirname.c: Review fix: Don't access data outside of array mysys/my_bitmap.c: Remove compiler warnings scripts/mysql_fix_privilege_tables.sql: Add flush privileges to .sql script so that one doesn't have to reboot mysqld when one runs the mysql_fix_privilege_script sql-common/client.c: Updated test for embedded server sql/item.cc: Remove DBUG_PRINT statement that can cause crashes when running with --debug sql/mysqld.cc: Fix to embedded server to be able to run tests on it sql/protocol.cc: Fix to embedded server to be able to run tests on it (Trivial reconstruction of code) sql/protocol.h: Fix to embedded server to be able to run tests on it sql/sql_base.cc: Better comment sql/sql_class.cc: Fix to embedded server to be able to run tests on it sql/sql_class.h: Fix to embedded server to be able to run tests on it sql/sql_cursor.cc: Fix to embedded server to be able to run tests on it sql/sql_parse.cc: Fix to embedded server to be able to run tests on it Don't crash for disabled commands when using embedded server sql/sql_prepare.cc: Fix to embedded server to be able to run tests on it mysql-test/r/ctype_cp932_notembedded.result: New BitKeeper file ``mysql-test/r/ctype_cp932_notembedded.result'' mysql-test/r/innodb_notembedded.result: New BitKeeper file ``mysql-test/r/innodb_notembedded.result'' mysql-test/r/sp.result.orig: New BitKeeper file ``mysql-test/r/sp.result.orig'' mysql-test/r/sp_notembedded.result: New BitKeeper file ``mysql-test/r/sp_notembedded.result'' mysql-test/r/subselect_notembedded.result: New BitKeeper file ``mysql-test/r/subselect_notembedded.result'' mysql-test/t/ctype_cp932_notembedded.test: New BitKeeper file ``mysql-test/t/ctype_cp932_notembedded.test'' mysql-test/t/innodb_notembedded.test: New BitKeeper file ``mysql-test/t/innodb_notembedded.test'' mysql-test/t/sp.test.orig: New BitKeeper file ``mysql-test/t/sp.test.orig'' mysql-test/t/sp_notembedded.test: New BitKeeper file ``mysql-test/t/sp_notembedded.test'' mysql-test/t/subselect_notembedded.test: New BitKeeper file ``mysql-test/t/subselect_notembedded.test''
184 lines
4.7 KiB
Text
184 lines
4.7 KiB
Text
-- source include/have_query_cache.inc
|
|
-- source include/not_embedded.inc
|
|
|
|
#
|
|
# Tests with query cache
|
|
#
|
|
set GLOBAL query_cache_size=1355776;
|
|
|
|
# Reset query cache variables.
|
|
|
|
flush query cache; # This crashed in some versions
|
|
flush query cache; # This crashed in some versions
|
|
reset query cache;
|
|
flush status;
|
|
--disable_warnings
|
|
drop table if exists t1, t2, t3, t11, t21;
|
|
--enable_warnings
|
|
#
|
|
# FLUSH QUERY CACHE
|
|
#
|
|
create table t1 (a int not null);
|
|
insert into t1 values (1),(2),(3);
|
|
create table t2 (a int not null);
|
|
insert into t2 values (1),(2),(3);
|
|
select * from t1;
|
|
select * from t2;
|
|
insert into t1 values (4);
|
|
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 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;
|
|
# t11 and t21 must be over 4Kb (QUERY_CACHE_MIN_RESULT_DATA_SIZE)
|
|
insert into t11 select * from t1;
|
|
insert into t21 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;
|
|
|
|
#
|
|
# do not use QC if tables locked (BUG#12385)
|
|
#
|
|
connect (root,localhost,root,,test,$MASTER_MYPORT,master.sock);
|
|
connection root;
|
|
CREATE TABLE t1 ( a INT NOT NULL PRIMARY KEY AUTO_INCREMENT ) ENGINE =
|
|
MyISAM;
|
|
LOCK TABLE t1 READ LOCAL;
|
|
connect (root2,localhost,root,,test,$MASTER_MYPORT,master.sock);
|
|
connection root2;
|
|
INSERT INTO t1 VALUES (), (), ();
|
|
connection root;
|
|
SELECT * FROM t1;
|
|
connection root2;
|
|
SELECT * FROM t1;
|
|
connection root;
|
|
SELECT * FROM t1;
|
|
drop table t1;
|
|
|
|
#
|
|
# query in QC from normal execution and SP (BUG#6897)
|
|
# improved to also test BUG#3583 and BUG#12990
|
|
#
|
|
flush query cache;
|
|
reset query cache;
|
|
flush status;
|
|
delimiter //;
|
|
create table t1 (s1 int)//
|
|
create procedure f1 () begin
|
|
select sql_cache * from t1;
|
|
select sql_cache * from t1;
|
|
select sql_cache * from t1;
|
|
end;//
|
|
create procedure f2 () begin
|
|
select sql_cache * from t1 where s1=1;
|
|
select sql_cache * from t1;
|
|
end;//
|
|
create procedure f3 () begin
|
|
select sql_cache * from t1;
|
|
select sql_cache * from t1 where s1=1;
|
|
end;//
|
|
create procedure f4 () begin
|
|
select sql_cache * from t1;
|
|
select sql_cache * from t1 where s1=1;
|
|
select sql_cache * from t1;
|
|
select sql_cache * from t1 where s1=1;
|
|
select sql_cache * from t1 where s1=1;
|
|
end;//
|
|
delimiter ;//
|
|
call f1();
|
|
--replace_result 1 3
|
|
show status like "Qcache_queries_in_cache";
|
|
show status like "Qcache_inserts";
|
|
show status like "Qcache_hits";
|
|
call f1();
|
|
show status like "Qcache_queries_in_cache";
|
|
show status like "Qcache_inserts";
|
|
show status like "Qcache_hits";
|
|
call f1();
|
|
select sql_cache * from t1;
|
|
show status like "Qcache_queries_in_cache";
|
|
show status like "Qcache_inserts";
|
|
show status like "Qcache_hits";
|
|
insert into t1 values (1);
|
|
select sql_cache * from t1;
|
|
show status like "Qcache_queries_in_cache";
|
|
show status like "Qcache_inserts";
|
|
show status like "Qcache_hits";
|
|
call f1();
|
|
call f1();
|
|
select sql_cache * from t1;
|
|
show status like "Qcache_queries_in_cache";
|
|
show status like "Qcache_inserts";
|
|
show status like "Qcache_hits";
|
|
flush query cache;
|
|
reset query cache;
|
|
flush status;
|
|
select sql_cache * from t1;
|
|
select sql_cache * from t1 where s1=1;
|
|
call f1();
|
|
call f2();
|
|
call f3();
|
|
call f4();
|
|
call f4();
|
|
call f3();
|
|
call f2();
|
|
select sql_cache * from t1 where s1=1;
|
|
insert into t1 values (2);
|
|
call f1();
|
|
select sql_cache * from t1 where s1=1;
|
|
select sql_cache * from t1;
|
|
call f1();
|
|
call f3();
|
|
call f3();
|
|
call f1();
|
|
|
|
drop procedure f1;
|
|
drop procedure f2;
|
|
drop procedure f3;
|
|
drop procedure f4;
|
|
drop table t1;
|
|
|
|
|
|
set GLOBAL query_cache_size=0;
|