diff options
author | unknown <serg@serg.mylan> | 2003-11-25 18:07:42 +0100 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2003-11-25 18:07:42 +0100 |
commit | ab57ede75776c79eb5a6dca9dc6fd6760b7a3edf (patch) | |
tree | aa2152dde1c81601d0831ab7f445859af08557ea | |
parent | 7d6479cc2800b4ae4ed504feecfee69b2f2a56ec (diff) | |
parent | b9eb7a02b8fd0831414138cc0200425595dfab92 (diff) | |
download | mariadb-git-ab57ede75776c79eb5a6dca9dc6fd6760b7a3edf.tar.gz |
Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
-rw-r--r-- | mysql-test/install_test_db.sh | 11 | ||||
-rw-r--r-- | mysql-test/mysql-test-run.sh | 6 | ||||
-rw-r--r-- | scripts/mysql_prepare_privilege_tables_for_5.sql | 53 |
3 files changed, 68 insertions, 2 deletions
diff --git a/mysql-test/install_test_db.sh b/mysql-test/install_test_db.sh index ca6d393e3b4..d8bdd91c59f 100644 --- a/mysql-test/install_test_db.sh +++ b/mysql-test/install_test_db.sh @@ -12,11 +12,13 @@ if [ x$1 = x"-bin" ]; then BINARY_DIST=1 fix_bin=mysql-test scriptdir=../bin + libexecdir=../libexec else execdir=../sql bindir=../client fix_bin=. scriptdir=../scripts + libexecdir=../libexec fi vardir=var @@ -36,8 +38,13 @@ EXTRA_ARG="" if test ! -x $execdir/mysqld then - echo "mysqld is missing - looked in $execdir" - exit 1 + if test ! -x $libexecdir/mysqld + then + echo "mysqld is missing - looked in $execdir and in $libexecdir" + exit 1 + else + execdir=$libexecdir + fi fi # On IRIX hostname is in /usr/bsd so add this to the path diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index c343f313d47..f896f7fa9cc 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -229,6 +229,7 @@ while test $# -gt 0; do --local) USE_RUNNING_SERVER="" ;; --extern) USE_RUNNING_SERVER="1" ;; --tmpdir=*) MYSQL_TMP_DIR=`$ECHO "$1" | $SED -e "s;--tmpdir=;;"` ;; + --start-from=*) START_FROM=`$ECHO "$1" | $SED -e "s;--start-from=;;"` ;; --local-master) MASTER_MYPORT=3306; EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT --host=127.0.0.1 \ @@ -1185,6 +1186,11 @@ run_testcase () fi fi + if [ "$tname" '<' "$START_FROM" ] ; then +# skip_test $tname; + return; + fi + if [ -n "$DO_TEST" ] ; then DO_THIS_TEST=`$EXPR \( $tname : "$DO_TEST" \) != 0` if [ x$DO_THIS_TEST = x0 ] ; diff --git a/scripts/mysql_prepare_privilege_tables_for_5.sql b/scripts/mysql_prepare_privilege_tables_for_5.sql new file mode 100644 index 00000000000..a9b6d43aee0 --- /dev/null +++ b/scripts/mysql_prepare_privilege_tables_for_5.sql @@ -0,0 +1,53 @@ + +use mysql; + +-- +-- merging `host` table and `db` +-- + +UPDATE IGNORE host SET Host='%' WHERE Host=''; +DELETE FROM host WHERE Host=''; + +INSERT IGNORE INTO db (User, Host, Select_priv, Insert_priv, Update_priv, + Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, + Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv) + SELECT d.User, h.Host, + (d.Select_priv = 'Y' || h.Select_priv = 'Y') + 1, + (d.Insert_priv = 'Y' || h.Select_priv = 'Y') + 1, + (d.Update_priv = 'Y' || h.Update_priv = 'Y') + 1, + (d.Delete_priv = 'Y' || h.Delete_priv = 'Y') + 1, + (d.Create_priv = 'Y' || h.Create_priv = 'Y') + 1, + (d.Drop_priv = 'Y' || h.Drop_priv = 'Y') + 1, + (d.Grant_priv = 'Y' || h.Grant_priv = 'Y') + 1, + (d.References_priv = 'Y' || h.References_priv = 'Y') + 1, + (d.Index_priv = 'Y' || h.Index_priv = 'Y') + 1, + (d.Alter_priv = 'Y' || h.Alter_priv = 'Y') + 1, + (d.Create_tmp_table_priv = 'Y' || h.Create_tmp_table_priv = 'Y') + 1, + (d.Lock_tables_priv = 'Y' || h.Lock_tables_priv = 'Y') + 1 + FROM db d, host h WHERE d.Host = ''; + +UPDATE IGNORE db SET Host='%' WHERE Host = ''; +DELETE FROM db WHERE Host=''; + +TRUNCATE TABLE host; + +-- +-- Adding missing users to `user` table +-- +-- note that invalid password causes the user to be skipped during the +-- load of grand tables (at mysqld startup) thus three following inserts +-- do not affect anything + +INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM db; +INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM tables_priv; +INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM columns_priv; + +SELECT DISTINCT +"There are user accounts with the username 'PUBLIC'. In the SQL-1999 +(or later) standard this name is reserved for PUBLIC role and can +not be used as a valid user name. Consider renaming these accounts before +upgrading to MySQL-5.0. +These accounts are:" x +FROM user WHERE user='PUBLIC'; +SELECT CONCAT(user,'@',host) FROM user WHERE user='PUBLIC'; + |