mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk-internal:/home/bk/mysql-4.1
into mysql.com:/home/jimw/my/mysql-4.1-clean configure.in: Auto merged
This commit is contained in:
@ -685,6 +685,12 @@ then
|
||||
fi
|
||||
|
||||
MYSQL_CLIENT_TEST="$MYSQL_CLIENT_TEST --no-defaults --testcase --user=root --socket=$MASTER_MYSOCK --port=$MYSQL_TCP_PORT --silent $EXTRA_MYSQL_CLIENT_TEST_OPT"
|
||||
# Need to pass additional arguments to MYSQL_CLIENT_TEST for embedded server
|
||||
# -A marks each argument for passing to the function which initializes the
|
||||
# embedded library
|
||||
if [ "x$USE_EMBEDDED_SERVER" = "x1" ]; then
|
||||
MYSQL_CLIENT_TEST="$MYSQL_CLIENT_TEST -A --language=$LANGUAGE -A --datadir=$SLAVE_MYDDIR -A --character-sets-dir=$CHARSETSDIR"
|
||||
fi
|
||||
MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
|
||||
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR $EXTRA_MYSQLBINLOG_OPT"
|
||||
MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
|
||||
|
File diff suppressed because one or more lines are too long
@ -685,4 +685,49 @@ repair table t1;
|
||||
show status like 'qcache_queries_in_cache';
|
||||
drop table t1;
|
||||
|
||||
# Bug #9549: Make sure cached queries that span more than one cache block
|
||||
# are handled properly in the embedded server.
|
||||
|
||||
# We just want a small query cache, so we can fragment it easily
|
||||
set GLOBAL query_cache_size=64*1024;
|
||||
# This actually gives us a usable cache size of about 48K
|
||||
|
||||
# Each table is about 14K
|
||||
create table t1 (a text);
|
||||
insert into t1 values (repeat('abcdefghijklmnopqrstuvwxyz', 550));
|
||||
create table t2 (a text);
|
||||
insert into t2 values (repeat('ijklmnopqrstuvwxyzabcdefgh', 550));
|
||||
|
||||
# Load a query from each table into the query cache
|
||||
--disable_result_log
|
||||
select a from t1; # Q1
|
||||
select a from t2; # Q2
|
||||
--enable_result_log
|
||||
show status like 'Qcache_%_blocks';
|
||||
|
||||
# Now the cache looks like (14K for Q1)(14K for Q2)(20K free)
|
||||
|
||||
# Flush Q1 from the cache by adding an out-of-order chunk to t1
|
||||
insert into t1 select reverse(a) from t1;
|
||||
show status like 'Qcache_%_blocks';
|
||||
|
||||
# Now the cache looks like (14K free)(14K for Q2)(20K free)
|
||||
|
||||
# Load our new data into the query cache
|
||||
--disable_result_log
|
||||
select a from t1; # Q3
|
||||
--enable_result_log
|
||||
show status like 'Qcache_%_blocks';
|
||||
|
||||
# Now the cache should be like (14K for Q3)(14K for Q2)(14K for Q3)(6K free)
|
||||
|
||||
# Note that Q3 is split across two chunks!
|
||||
|
||||
# Load Q3 from the cache, and actually pay attention to the results
|
||||
select a from t1;
|
||||
|
||||
flush query cache;
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
set GLOBAL query_cache_size=0;
|
||||
|
Reference in New Issue
Block a user