add patch from matthew palmer to enhance mysql database selection (Closes: #452039)
authorMicah Anderson <micah@riseup.net>
Tue, 20 Nov 2007 01:28:49 +0000 (01:28 +0000)
committerMicah Anderson <micah@riseup.net>
Tue, 20 Nov 2007 01:28:49 +0000 (01:28 +0000)
AUTHORS
ChangeLog
handlers/mysql.in

diff --git a/AUTHORS b/AUTHORS
index 79e338a770e33222f42ff2520ebd5da183bf9c9c..ea31cba9cb37782274fe3c1f741e28362b1a6a7f 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -22,4 +22,5 @@ Martin Krafft madduck@debian.org -- admingroup patch
 Anarcat -- lotsa patches
 Jamie McClelland -- cstream patches
 ale -- ldap cleanup
-Sami Haahtinen <ressu@ressukka.net>
\ No newline at end of file
+Sami Haahtinen <ressu@ressukka.net>
+Matthew Palmer -- mysql enhancements
index 7682a29fde3fe11149e1179ffad4c9fd60152d50..983341e28afde380bacd2e913d5b4ff4625b69eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,10 @@ version 0.9.5 -- unreleased
           the data from a backup, but still backup the table structure. This is very
           useful in cases where tables contain large amounts of cache data. See the
           example.mysql for options, thanks Daniel Bonniot (Closes: #408829)
+        . Enhance code for selecting databases by asking MySQL not to give us the 
+          header (-N), to not draw pretty boxes around the output (-B), send the query 
+          via -e instead of a pipe and ensure MySQL listens to -B. Thanks to
+          Matthew Palmer (Closes: #452039).
        pgsql:
         . Support configuring PGSQLUSER for real, and document it a bit; this
           broken support actually prevented pgsql handler to work for VServers
index 64b6f492188b31429ceb9249abd9c748fd68d99c..defb72aa8aeb98713d807024a5a488bcbca43cdd 100644 (file)
@@ -238,7 +238,7 @@ then
                fatal "Authentication problem, maybe user/password is wrong or mysqld is not running?"
            fi
        else
-               databases=`echo 'show databases' | su $user -c "$MYSQL $defaultsfile" | grep -v Database`
+               databases=$(su $user -c "$MYSQL $defaultsfile -N -B -e 'show databases'" | sed 's/|//g;/\+----/d')
                if [ $? -ne 0 ]
                then
                    fatal "Authentication problem, maybe user/password is wrong or mysqld is not running?"