Below is the list of changes that have just been committed into a local
5.0 repository of monty. When monty 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.1841 05/04/16 10:53:30 monty@stripped +4 -0
Added more rows to test to get predictable results
support-files/mysql.server.sh
1.43 05/04/16 10:51:39 monty@stripped +68 -12
Apply Jims patch to support mysqld_safe
scripts/make_binary_distribution.sh
1.81 05/04/16 10:51:39 monty@stripped +1 -1
Apply Jims patch for mysql.server
mysql-test/t/range.test
1.23 05/04/16 10:51:39 monty@stripped +1 -1
Added more rows to test to get predictable results
(if it still fails, we need to add even more rows)
mysql-test/r/range.result
1.31 05/04/16 10:51:39 monty@stripped +3 -3
Added more rows to test to get predictable results
# 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: monty
# Host: mishka.local
# Root: /home/my/mysql-5.0
--- 1.80/scripts/make_binary_distribution.sh Thu Apr 14 10:56:17 2005
+++ 1.81/scripts/make_binary_distribution.sh Sat Apr 16 10:51:39 2005
@@ -233,7 +233,7 @@
chmod a+x $BASE/bin/*
$CP scripts/* $BASE/bin
$BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ ./bin
\@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ @HOSTNAME@
\@pkgdatadir\@ ./support-files < $SOURCE/scripts/mysql_install_db.sh >
$BASE/scripts/mysql_install_db
- $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@sbindir\@ ./bin
\@MYSQLD_USER\@ mysql \@localstatedir\@ /usr/local/mysql/data \@HOSTNAME\@ @HOSTNAME@
< $SOURCE/support-files/mysql.server.sh > $BASE/support-files/mysql.server
+ $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@sbindir\@ ./bin
\@libexecdir\@ ./bin \@MYSQLD_USER\@ @MYSQLD_USER@ \@localstatedir\@
/usr/local/mysql/data \@HOSTNAME\@ @HOSTNAME@ < $SOURCE/support-files/mysql.server.sh
> $BASE/support-files/mysql.server
$BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe
mv $BASE/support-files/binary-configure $BASE/configure
chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-*
$BASE/support-files/mysql.server $BASE/configure
--- 1.42/support-files/mysql.server.sh Sat Apr 16 04:23:45 2005
+++ 1.43/support-files/mysql.server.sh Sat Apr 16 10:51:39 2005
@@ -48,15 +48,19 @@
# Set some defaults
pid_file=
+server_pid_file=
+user=@MYSQLD_USER@
if test -z "$basedir"
then
basedir=@prefix@
bindir=@bindir@
datadir=@localstatedir@
sbindir=@sbindir@
+ libexecdir=@libexecdir@
else
bindir="$basedir/bin"
- sbindir="$basedir/sbin"
+ sbindir="$basedir/bin"
+ libexecdir="$basedir/bin"
fi
#
@@ -92,6 +96,8 @@
case "$arg" in
--basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
--datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --user=*) user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --pid-file=*) server_pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
esac
done
}
@@ -100,6 +106,7 @@
for arg do
case "$arg" in
--pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --user=*) user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
esac
done
}
@@ -181,7 +188,7 @@
extra_args="-e $datadir/my.cnf"
fi
-parse_server_arguments `$print_defaults $extra_args mysqld`
+parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server
mysql.server`
# Look for the pidfile
parse_manager_arguments `$print_defaults $extra_args manager`
@@ -198,9 +205,15 @@
* ) pid_file="$datadir/$pid_file" ;;
esac
fi
-
-user=@MYSQLD_USER@
-USER_OPTION="--user=$user"
+if test -z "$server_pid_file"
+then
+ server_pid_file=$datadir/`@HOSTNAME@`.pid
+else
+ case "$server_pid_file" in
+ /* ) ;;
+ * ) server_pid_file="$datadir/$server_pid_file" ;;
+ esac
+fi
# Safeguard (relative paths, core dumps..)
cd $basedir
@@ -209,12 +222,21 @@
'start')
# Start daemon
- if test -x $sbindir/mysqlmanager
+ manager=$bindir/mysqlmanager
+ if test -x $libexecdir/mysqlmanager
+ then
+ manager=$libexecdir/mysqlmanager
+ elif test -x $bindir/mysqlmanager
+ then
+ manager=$sbindir/mysqlmanager
+ fi
+
+ if test -x $manager
then
# Give extra arguments to mysqld with the my.cnf file. This script may
# be overwritten at next upgrade.
echo $echo_n "Starting MySQL"
- $sbindir/mysqlmanager $USER_OPTION --pid-file=$pid_file >/dev/null 2>&1
&
+ $manager --user=$user --pid-file=$pid_file >/dev/null 2>&1 &
wait_for_pid created
# Make lock for RedHat / SuSE
@@ -222,14 +244,38 @@
then
touch /var/lock/subsys/mysqlmanager
fi
+ elif test -x $bindir/mysqld_safe
+ then
+ # Give extra arguments to mysqld with the my.cnf file. This script may be
overwritten at next upgrade.
+ echo $echo_n "Starting MySQL"
+ pid_file=$server_pid_file
+ $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file >/dev/null
2>&1 &
+ wait_for_pid created
+
+ # Make lock for RedHat / SuSE
+ if test -w /var/lock/subsys
+ then
+ touch /var/lock/subsys/mysql
+ fi
else
- log_failure_msg "Can't execute $sbindir/mysqlmanager"
+ log_failure_msg "Couldn't find MySQL manager or server"
fi
;;
'stop')
# Stop daemon. We use a signal here to avoid having to know the
# root password.
+
+ # The RedHat / SuSE lock directory to remove
+ lock_dir=/var/lock/subsys/mysqlmanager
+
+ # If the manager pid_file doesn't exist, try the server's
+ if test ! -s "$pid_file"
+ then
+ pid_file=$server_pid_file
+ lock_dir=/var/lock/subsys/mysql
+ fi
+
if test -s "$pid_file"
then
mysqlmanager_pid=`cat $pid_file`
@@ -239,12 +285,12 @@
wait_for_pid removed
# delete lock for RedHat / SuSE
- if test -f /var/lock/subsys/mysqlmanager
+ if test -f $lock_dir
then
- rm -f /var/lock/subsys/mysqlmanager
+ rm -f $lock_dir
fi
else
- log_failure_msg "mysqlmanager PID file could not be found!"
+ log_failure_msg "MySQL manager or server PID file could not be found!"
fi
;;
@@ -255,9 +301,19 @@
$0 start
;;
+ 'reload')
+ if test -s "$server_pid_file" ; then
+ mysqld_pid=`cat $server_pid_file`
+ kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
+ touch $server_pid_file
+ else
+ log_failure_msg "MySQL PID file could not be found!"
+ fi
+ ;;
+
*)
# usage
- echo "Usage: $0 start|stop|restart"
+ echo "Usage: $0 start|stop|restart|reload"
exit 1
;;
esac
--- 1.30/mysql-test/r/range.result Tue Apr 12 13:04:38 2005
+++ 1.31/mysql-test/r/range.result Sat Apr 16 10:51:39 2005
@@ -250,18 +250,18 @@
1 SIMPLE t1 index x x 5 NULL 9 Using where; Using index
drop table t1;
CREATE TABLE t1 (key1 int(11) NOT NULL default '0', KEY i1 (key1));
-INSERT INTO t1 VALUES (0),(1),(1);
+INSERT INTO t1 VALUES (0),(0),(0),(0),(0),(1),(1);
CREATE TABLE t2 (keya int(11) NOT NULL default '0', KEY j1 (keya));
INSERT INTO t2 VALUES (0),(0),(1),(1),(2),(2);
explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref j1 j1 4 const 1 Using index
-1 SIMPLE t1 index i1 i1 4 NULL 3 Using where; Using index
+1 SIMPLE t1 range i1 i1 4 NULL 7 Using where; Using index
explain select * from t1 force index(i1), t2 force index(j1) where
(t1.key1 <t2.keya + 1) and t2.keya=3;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref j1 j1 4 const 1 Using index
-1 SIMPLE t1 index i1 i1 4 NULL 3 Using where; Using index
+1 SIMPLE t1 range i1 i1 4 NULL 7 Using where; Using index
DROP TABLE t1,t2;
CREATE TABLE t1 (
a int(11) default NULL,
--- 1.22/mysql-test/t/range.test Tue Apr 12 13:04:38 2005
+++ 1.23/mysql-test/t/range.test Sat Apr 16 10:51:39 2005
@@ -198,7 +198,7 @@
# bug #1172: "Force index" option caused server crash
#
CREATE TABLE t1 (key1 int(11) NOT NULL default '0', KEY i1 (key1));
-INSERT INTO t1 VALUES (0),(1),(1);
+INSERT INTO t1 VALUES (0),(0),(0),(0),(0),(1),(1);
CREATE TABLE t2 (keya int(11) NOT NULL default '0', KEY j1 (keya));
INSERT INTO t2 VALUES (0),(0),(1),(1),(2),(2);
explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
| Thread |
|---|
| • bk commit into 5.0 tree (monty:1.1841) | monty | 16 Apr |