diff options
author | Adam Chlipala <adam@chlipala.net> | 2015-01-22 11:26:24 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2015-01-22 11:26:24 -0500 |
commit | d3e13c67397dd99d4aa30681c05a02cd31d9e386 (patch) | |
tree | c854b205dda5a0e0cfcb2e10684db40c574ed5b9 /src/settings.sml | |
parent | df953c3e45f9360ee3523ebf0541bdf962fbe7b9 (diff) |
Fix case issue in name mangling for MySQL
Diffstat (limited to 'src/settings.sml')
-rw-r--r-- | src/settings.sml | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/src/settings.sml b/src/settings.sml index 343ea358..19ee0b4a 100644 --- a/src/settings.sml +++ b/src/settings.sml @@ -744,15 +744,46 @@ fun capitalize s = "" => "" | _ => str (Char.toUpper (String.sub (s, 0))) ^ String.extract (s, 1, NONE) +val allLower = CharVector.map Char.toLower + val mangle = ref true fun setMangleSql x = mangle := x -fun mangleSqlTable s = if !mangle then "uw_" ^ capitalize s - else if #name (currentDbms ()) = "mysql" then capitalize s - else lowercase s -fun mangleSql s = if !mangle then "uw_" ^ s - else if #name (currentDbms ()) = "mysql" then lowercase s - else lowercase s -fun mangleSqlCatalog s = if !mangle then "uw_" ^ s else lowercase s + +fun mangleSqlTable s = + if #name (currentDbms ()) = "mysql" then + if !mangle then + "uw_" ^ allLower s + else + allLower s + else + if !mangle then + "uw_" ^ capitalize s + else + lowercase s + +fun mangleSql s = + if #name (currentDbms ()) = "mysql" then + if !mangle then + "uw_" ^ allLower s + else + allLower s + else + if !mangle then + "uw_" ^ s + else + lowercase s + +fun mangleSqlCatalog s = + if #name (currentDbms ()) = "mysql" then + if !mangle then + "uw_" ^ allLower s + else + allLower s + else + if !mangle then + "uw_" ^ s + else + lowercase s val html5 = ref false fun setIsHtml5 b = html5 := b |