Specifying encoding on database creation
[hcoop/domtool2.git] / src / dbms.sml
index 8c34f8b..71fb664 100644 (file)
@@ -23,11 +23,15 @@ structure Dbms :> DBMS = struct
 open DataStructures
 
 val validDbname = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"_")
 open DataStructures
 
 val validDbname = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"_")
+fun validEncoding encoding =
+    case encoding of
+       NONE => true
+      | SOME e => size e > 0 andalso size e < 20 andalso CharVector.all Char.isAlphaNum e
 
 type handler = {getpass : (unit -> Client.passwd_result) option,
                adduser : {user : string, passwd : string option} -> string option,
                passwd : {user : string, passwd : 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,
+               createdb : {user : string, dbname : string, encoding : string option} -> string option,
                dropdb : {user : string, dbname : string} -> string option,
                grant : {user : string, dbname : string} -> string option}
               
                dropdb : {user : string, dbname : string} -> string option,
                grant : {user : string, dbname : string} -> string option}