diff options
author | unknown <monty@mishka.local> | 2005-04-16 10:53:30 +0300 |
---|---|---|
committer | unknown <monty@mishka.local> | 2005-04-16 10:53:30 +0300 |
commit | 48faa137af3d610228041d221363a3e574c137f8 (patch) | |
tree | a671e7e830d1281e3ff4bd54043017e0c63e298b | |
parent | 2be63528bc0f7d524df4660cea4fcc002604c42e (diff) | |
download | mariadb-git-48faa137af3d610228041d221363a3e574c137f8.tar.gz |
Added more rows to test to get predictable results
mysql-test/t/range.test:
Added more rows to test to get predictable results
(if it still fails, we need to add even more rows)
scripts/make_binary_distribution.sh:
Apply Jims patch for mysql.server
support-files/mysql.server.sh:
Apply Jims patch to support mysqld_safe
-rw-r--r-- | mysql-test/r/range.result | 6 | ||||
-rw-r--r-- | mysql-test/t/range.test | 2 | ||||
-rw-r--r-- | scripts/make_binary_distribution.sh | 2 | ||||
-rw-r--r-- | support-files/mysql.server.sh | 80 |
4 files changed, 73 insertions, 17 deletions
diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result index d98ed90e158..049d6c0fd44 100644 --- a/mysql-test/r/range.result +++ b/mysql-test/r/range.result @@ -250,18 +250,18 @@ id select_type table type possible_keys key key_len ref rows Extra 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, diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test index 16be850548c..38ed665bdf1 100644 --- a/mysql-test/t/range.test +++ b/mysql-test/t/range.test @@ -198,7 +198,7 @@ drop table t1; # 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; diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index b99519b87c9..17a9be17108 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -233,7 +233,7 @@ if [ $BASE_SYSTEM != "netware" ] ; then 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 diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index a03e870004d..04fd9a312da 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -48,15 +48,19 @@ datadir= # 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 @@ parse_server_arguments() { 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 @@ parse_manager_arguments() { 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 @@ then 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 @@ else * ) 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 @@ case "$mode" in '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 @@ case "$mode" in 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 @@ case "$mode" in 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 @@ case "$mode" in $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 |