X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/21d921a56a850857f6ea883c6dff6a411a659bbf..99cc41443c07f97535eaeecc628d99075ca2cebf:/src/plugins/mysql.sml diff --git a/src/plugins/mysql.sml b/src/plugins/mysql.sml index 7da242b..5114e17 100644 --- a/src/plugins/mysql.sml +++ b/src/plugins/mysql.sml @@ -38,14 +38,38 @@ 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" + +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, - createdb = createdb}) + passwd = passwd, + createdb = createdb, + dropdb = dropdb, + grant = grant}) end