Adding database dropping to dbtool
[hcoop/domtool2.git] / src / plugins / mysql.sml
index 7da242b..7f55e5f 100644 (file)
@@ -38,14 +38,31 @@ fun adduser {user, passwd} =
        else
            SOME "Password contains characters besides letters, digits, and !.-_"
 
+fun passwd {user, passwd} =
+    if validPasswd passwd then
+       if Slave.shell [Config.MySQL.passwd, user, " ", passwd] then
+           NONE
+       else
+           SOME "Error executing SET PASSWORD script"
+    else
+       SOME "Password contains characters besides letters, digits, and !.-_"
+
 fun createdb {user, dbname} =
     if Slave.shell [Config.MySQL.createdb, user, " ", dbname] then
        NONE
     else
        SOME "Error executing CREATE DATABASE script"
 
+fun dropdb {user, dbname} =
+    if Slave.shell [Config.MySQL.dropdb, user, " ", dbname] then
+       NONE
+    else
+       SOME "Error executing DROP DATABASE script"
+
 val _ = Dbms.register ("mysql", {getpass = SOME Client.getpass,
                                 adduser = adduser,
-                                createdb = createdb})
+                                passwd = passwd,
+                                createdb = createdb,
+                                dropdb = dropdb})
 
 end