Below is the list of changes that have just been committed into a local
5.0 repository of jimw. When jimw does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1798 05/03/11 12:38:38 jimw@stripped +10 -0
Merge query_cache tests
mysql-test/t/query_cache.test
1.37 05/03/11 12:38:35 jimw@stripped +13 -13
Merge test
mysql-test/r/query_cache.result
1.49 05/03/11 12:38:35 jimw@stripped +21 -21
Update results
sql/sql_table.cc
1.224 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
sql/item_cmpfunc.h
1.93 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
scripts/mysqld_safe.sh
1.76 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
scripts/make_win_src_distribution.sh
1.32 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
mysql-test/t/join_outer.test
1.20 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
mysql-test/r/join_outer.result
1.32 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
mysql-test/mysql-test-run.sh
1.251 05/03/11 12:37:41 jimw@stripped +0 -0
Auto merged
Build-tools/Do-compile
1.108 05/03/11 12:37:40 jimw@stripped +0 -0
Auto merged
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jimw
# Host: rama.(none)
# Root: /home/jimw/my/mysql-5.0-clean/RESYNC
--- 1.107/Build-tools/Do-compile 2005-03-09 04:37:12 -08:00
+++ 1.108/Build-tools/Do-compile 2005-03-11 12:37:40 -08:00
@@ -394,13 +394,13 @@
info("Running test suite");
system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir);
safe_cd("${test_dir}/mysql-test");
- check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir
--master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port
--manager-port=$manager_port --no-manager --sleep=10", "tests were successful");
+ check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir
--master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port
--manager-port=$manager_port --no-manager --sleep=10", "were successful");
unless ($opt_skip_ps_test)
{
log_timestamp();
info("Running test suite using prepared statements");
- check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir
--master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port
--manager-port=$manager_port --no-manager --sleep=10", "tests were successful");
+ check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir
--master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port
--manager-port=$manager_port --no-manager --sleep=10", "were successful");
}
unless ($opt_skip_embedded_test)
@@ -409,7 +409,7 @@
info("Running embedded server test suite");
# Embedded server and NDB don't jive
$flags=~ s/ --with-ndbcluster//;
- check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir
--master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port
--no-manager --sleep=10", "tests were successful");
+ check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir
--master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port
--no-manager --sleep=10", "were successful");
}
# 'mysql-test-run' writes its own final message for log evaluation.
}
--- 1.250/mysql-test/mysql-test-run.sh 2005-03-09 04:37:15 -08:00
+++ 1.251/mysql-test/mysql-test-run.sh 2005-03-11 12:37:41 -08:00
@@ -861,7 +861,7 @@
whole=`$PRINTF %.2s $raw`
xwhole=`$EXPR $whole \* 100`
deci=`$EXPR $raw - $xwhole`
- $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% successful."
+ $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% were successful."
$ECHO ""
$ECHO "The log files in $MY_LOG_DIR may give you some hint"
$ECHO "of what when wrong."
--- 1.75/scripts/mysqld_safe.sh 2005-02-23 08:59:50 -08:00
+++ 1.76/scripts/mysqld_safe.sh 2005-03-11 12:37:41 -08:00
@@ -194,6 +194,15 @@
parse_arguments PICK-ARGS-FROM-ARGV "$@"
safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}}
+# Make sure that directory for $safe_mysql_unix_port exists
+mysql_unix_port_dir=`dirname $safe_mysql_unix_port`
+if [ ! -d $mysql_unix_port_dir ]
+then
+ mkdir $mysql_unix_port_dir
+ chown $user $mysql_unix_port_dir
+fi
+
+
if test ! -x $ledir/$MYSQLD
then
echo "The file $ledir/$MYSQLD doesn't exist or is not executable"
--- 1.92/sql/item_cmpfunc.h 2005-03-03 05:39:22 -08:00
+++ 1.93/sql/item_cmpfunc.h 2005-03-11 12:37:41 -08:00
@@ -323,6 +323,7 @@
Item_func_equal(Item *a,Item *b) :Item_bool_rowready_func2(a,b) {};
longlong val_int();
void fix_length_and_dec();
+ table_map not_null_tables() const { return 0; }
enum Functype functype() const { return EQUAL_FUNC; }
enum Functype rev_functype() const { return EQUAL_FUNC; }
cond_result eq_cmp_result() const { return COND_TRUE; }
--- 1.223/sql/sql_table.cc 2005-03-08 10:53:02 -08:00
+++ 1.224/sql/sql_table.cc 2005-03-11 12:37:41 -08:00
@@ -2144,7 +2144,9 @@
thd->exit_cond(old_message);
if (thd->killed)
goto err;
- open_for_modify=0;
+ /* Flush entries in the query cache involving this table. */
+ query_cache_invalidate3(thd, table->table, 0);
+ open_for_modify= 0;
}
result_code = (table->table->file->*operator_func)(thd, check_opt);
--- 1.31/scripts/make_win_src_distribution.sh 2005-03-09 04:37:16 -08:00
+++ 1.32/scripts/make_win_src_distribution.sh 2005-03-11 12:37:41 -08:00
@@ -16,12 +16,25 @@
OUTZIP="0"
#
+# An "abort" function taking a variable number of strings (one per line)
+#
+
+abort()
+{
+ for line
+ do
+ echo "$line"
+ done
+ exit 1
+}
+
+
+#
# This script must run from MySQL top directory
#
if [ ! -f scripts/make_win_src_distribution ]; then
- echo "ERROR : You must run this script from the MySQL top-level directory"
- exit 1
+ abort "ERROR : You must run this script from the MySQL top-level directory"
fi
SOURCE=`pwd`
@@ -30,9 +43,8 @@
#
if [ ! -f sql/sql_yacc.cc ]; then
- echo "ERROR : Sorry, you must run this script after the complete build,"
- echo " hope you know what you are trying to do !!"
- exit 1
+ abort "ERROR : Sorry, you must run this script after the complete build," \
+ " hope you know what you are trying to do !!"
fi
#
@@ -86,9 +98,7 @@
--tar) OUTTAR=1 ;;
--zip) OUTZIP=1 ;;
--help) show_usage ;;
- *)
- echo "Unknown argument '$arg'"
- exit 1
+ *) abort "Unknown argument '$arg'"
;;
esac
done
@@ -138,6 +148,7 @@
fi
$CP -r $SOURCE/VC++Files $BASE
+# This includes an implicit 'mkdir $BASE' !
#
# Process version tags in InstallShield files
@@ -312,7 +323,12 @@
print_debug "Copying directory '$i'"
if [ -d $i ]
then
- $CP -R $i $BASE/$i
+ if [ -d $BASE/$i ]
+ then
+ $CP -R $i $BASE
+ else
+ $CP -R $i $BASE/$i
+ fi
fi
done
--- 1.31/mysql-test/r/join_outer.result 2005-01-18 12:50:39 -08:00
+++ 1.32/mysql-test/r/join_outer.result 2005-03-11 12:37:41 -08:00
@@ -677,6 +677,26 @@
1 SIMPLE t3 ALL NULL NULL NULL NULL 2
drop table t1, t2, t3;
create table t1 (
+a int(11),
+b char(10),
+key (a)
+);
+insert into t1 (a) values (1),(2),(3),(4);
+create table t2 (a int);
+select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a);
+a b a
+1 NULL NULL
+2 NULL NULL
+3 NULL NULL
+4 NULL NULL
+select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a);
+a b a
+1 NULL NULL
+2 NULL NULL
+3 NULL NULL
+4 NULL NULL
+drop table t1,t2;
+create table t1 (
match_id tinyint(3) unsigned not null auto_increment,
home tinyint(3) unsigned default '0',
unique key match_id (match_id),
--- 1.19/mysql-test/t/join_outer.test 2005-01-18 12:50:39 -08:00
+++ 1.20/mysql-test/t/join_outer.test 2005-03-11 12:37:41 -08:00
@@ -457,6 +457,19 @@
drop table t1, t2, t3;
+# Test for BUG#8711 '<=>' was considered to be a NULL-rejecting predicate.
+create table t1 (
+ a int(11),
+ b char(10),
+ key (a)
+);
+insert into t1 (a) values (1),(2),(3),(4);
+create table t2 (a int);
+
+select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a);
+select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a);
+drop table t1,t2;
+
# Test for BUG#5088
create table t1 (
--- 1.48/mysql-test/r/query_cache.result 2004-12-30 04:19:42 -08:00
+++ 1.49/mysql-test/r/query_cache.result 2005-03-11 12:38:35 -08:00
@@ -957,3 +957,24 @@
select table_name from information_schema.tables
where table_schema="test";
table_name
+set global query_cache_size=1024*1024;
+flush query cache;
+create table t1 ( a int );
+insert into t1 values (1);
+select a from t1;
+a
+1
+select a from t1;
+a
+1
+show status like 'qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 1
+repair table t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+show status like 'qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 0
+drop table t1;
+set GLOBAL query_cache_size=0;
--- 1.36/mysql-test/t/query_cache.test 2004-12-30 04:19:42 -08:00
+++ 1.37/mysql-test/t/query_cache.test 2005-03-11 12:38:35 -08:00
@@ -697,3 +697,16 @@
drop table t1;
select table_name from information_schema.tables
where table_schema="test";
+# Bug #8480: REPAIR TABLE needs to flush the table from the query cache
+set global query_cache_size=1024*1024;
+flush query cache;
+create table t1 ( a int );
+insert into t1 values (1);
+select a from t1;
+select a from t1;
+show status like 'qcache_queries_in_cache';
+repair table t1;
+show status like 'qcache_queries_in_cache';
+drop table t1;
+
+set GLOBAL query_cache_size=0;
| Thread |
|---|
| • bk commit into 5.0 tree (jimw:1.1798) | Jim Winstead | 11 Mar |