X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/90dd48df1de3ea116fe2f2c0ec0fe36c71e17e5c..cd04086681583dd3fcc95b6e12ba312054dc590e:/src/dbms.sml diff --git a/src/dbms.sml b/src/dbms.sml index caf504a..8c34f8b 100644 --- a/src/dbms.sml +++ b/src/dbms.sml @@ -22,10 +22,14 @@ structure Dbms :> DBMS = struct open DataStructures -val validDbname = CharVector.all Char.isAlpha +val validDbname = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"_") -type handler = {adduser : string -> string option, - createdb : {user : string, dbname : string} -> string option} +type handler = {getpass : (unit -> Client.passwd_result) option, + adduser : {user : string, passwd : string option} -> string option, + passwd : {user : string, passwd : string} -> string option, + createdb : {user : string, dbname : string} -> string option, + dropdb : {user : string, dbname : string} -> string option, + grant : {user : string, dbname : string} -> string option} val dbmses : handler StringMap.map ref = ref StringMap.empty