MySQL re-granting
[hcoop/domtool2.git] / src / plugins / mysql.sml
index 7da242b..5114e17 100644 (file)
@@ -38,14 +38,38 @@ fun adduser {user, passwd} =
        else
            SOME "Password contains characters besides letters, digits, and !.-_"
 
        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 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"
+
+fun grant {user, dbname} =
+    if Slave.shell [Config.MySQL.grant, user, " ", dbname] then
+       NONE
+    else
+       SOME "Error executing GRANT script"
+
 val _ = Dbms.register ("mysql", {getpass = SOME Client.getpass,
                                 adduser = adduser,
 val _ = Dbms.register ("mysql", {getpass = SOME Client.getpass,
                                 adduser = adduser,
-                                createdb = createdb})
+                                passwd = passwd,
+                                createdb = createdb,
+                                dropdb = dropdb,
+                                grant = grant})
 
 end
 
 end