[Dbconfig-common-devel] dbconfig-common/internal mysql,1.4,1.5
seanius@haydn.debian.org
seanius@haydn.debian.org
Update of /cvsroot/dbconfig-common/dbconfig-common/internal
In directory haydn:/org/alioth.debian.org/chroot/home/users/seanius/tmp/cvs-serv11795/internal
Modified Files:
mysql
Log Message:
mysql dbc_dbname bugfixes
Index: mysql
===================================================================
RCS file: /cvsroot/dbconfig-common/dbconfig-common/internal/mysql,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mysql 28 Apr 2005 03:11:29 -0000 1.4
+++ mysql 5 May 2005 03:01:22 -0000 1.5
@@ -81,7 +81,7 @@
## including the mysql command itself
##
dbc_mysql_exec_command(){
- local statement l_sqlfile l_retval l_error
+ local statement l_sqlfile l_retval l_error l_dbname
statement=$@
l_retval=0
l_sqlfile=`mktemp -t dbconfig-common_sqlfile.XXXXXX`
@@ -89,7 +89,10 @@
$statement
EOF
mycnf=`_dbc_generate_mycnf`
- l_error=`mysql --defaults-extra-file="$mycnf" $dbc_dbname < $l_sqlfile 2>&1`
+ if [ ! "$_dbc_nodb" ]; then
+ l_dbname="$dbc_dbname"
+ fi
+ l_error=`mysql --defaults-extra-file="$mycnf" $l_dbname < $l_sqlfile 2>&1`
l_retval=$?
rm -f $mycnf $l_sqlfile
if [ $l_retval -ne 0 ]; then
@@ -115,7 +118,7 @@
## not only does the user exist, but that it should be able to connect
##
_dbc_mysql_check_user(){
- local l_dballow l_dbname
+ local l_dballow l_retval _dbc_nodb
if [ ! "$dbc_dballow" ]; then
if [ ! "$dbc_dbserver" -o "$dbc_dbserver" = "localhost" ]; then
l_dballow=localhost
@@ -126,8 +129,8 @@
l_dballow="$dbc_dballow"
fi
- l_dbname=$dbc_dbname
- dbc_dbname='' dbc_mysql_exec_command "SHOW GRANTS FOR '$dbc_dbuser'@'$l_dballow'" 2>/dev/null | grep -qi "GRANT ALL PRIVILEGES ON \`$l_dbname\`"
+ _dbc_nodb="yes"
+ if dbc_mysql_exec_command "SHOW GRANTS FOR '$dbc_dbuser'@'$l_dballow'" 2>/dev/null | grep -qi "GRANT ALL PRIVILEGES ON \`$dbc_dbname\`" ; then
return $?
}
@@ -149,7 +152,7 @@
# $dbc_error = error message (if $dbc_status = error)
dbc_mysql_createdb(){
- local ret l_dbname
+ local ret l_dbname _dbc_nodb
dbc_status=error
_dbc_sanity_check dbname dbadmin mysql || return 1
@@ -161,11 +164,10 @@
dbc_logline "already exists"
dbc_status=nothing
else
- l_dbname=$dbc_dbname
- dbc_dbname=""
- dbc_mysql_exec_command "CREATE DATABASE $l_dbname"
+ _dbc_nodb="yes"
+ dbc_mysql_exec_command "CREATE DATABASE $dbc_dbname"
ret=$?
- dbc_dbname=$l_dbname
+ _dbc_nodb=""
if [ "$ret" = "0" ]; then
dbc_logline "success"
dbc_logpart "verifying database $dbc_dbname exists:"
@@ -259,13 +261,12 @@
if _dbc_mysql_check_user; then
dbc_status=nothing
dbc_logline "already exists"
- # XXX
else
l_dbname=$dbc_dbname
- dbc_dbname=""
+ _dbc_nodb="yes"
dbc_mysql_exec_file "$l_sqlfile"
l_ret=$?
- dbc_dbname=$l_dbname
+ _dbc_nodb=""
if [ "$l_ret" = "0" ]; then
dbc_logline "success"
@@ -324,7 +325,8 @@
REVOKE ALL PRIVILEGES ON \`$dbc_dbname\`.* FROM '$dbc_dbuser'@'$l_dballow';
FLUSH PRIVILEGES;
EOF
- if dbc_dbname='' dbc_mysql_exec_file "$l_sqlfile" 2>/dev/null; then
+ _dbc_nodb="yes"
+ if dbc_mysql_exec_file "$l_sqlfile" 2>/dev/null; then
dbc_status=drop
dbc_logline "success"
else