From 3b0c5453f2f0aa2479a23e05ea603cd1aee7d9d4 Mon Sep 17 00:00:00 2001 From: Julian Squires Date: Thu, 7 May 2015 09:50:37 -0400 Subject: Do not explicitly return false from onclick handler --- src/monoize.sml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/monoize.sml') diff --git a/src/monoize.sml b/src/monoize.sml index 67819538..bac82f55 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -3402,7 +3402,7 @@ fun monoExp (env, st, fm) (all as (e, loc)) = strH s', (L'.EStrcat ( (L'.EJavaScript (L'.Attribute, e), loc), - strH ");return false'"), loc)), + strH ")'"), loc)), loc)), loc), fm) end -- cgit v1.2.3 From 0da7569c8a5bb06dc9dc3a3252be6375a8074a95 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 4 Jul 2015 19:24:26 -0400 Subject: Tag NULLs with their types in SQL, to help the DBMS do type inference --- src/monoize.sml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/monoize.sml') diff --git a/src/monoize.sml b/src/monoize.sml index bac82f55..8934db2c 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -2214,6 +2214,19 @@ fun monoExp (env, st, fm) (all as (e, loc)) = let val t = monoType env t val s = (L'.TFfi ("Basis", "string"), loc) + + fun toSqlType (t : L'.typ) = + case #1 t of + L'.TFfi ("Basis", "int") => Settings.Int + | L'.TFfi ("Basis", "float") => Settings.Float + | L'.TFfi ("Basis", "string") => Settings.String + | L'.TFfi ("Basis", "char") => Settings.Char + | L'.TFfi ("Basis", "bool") => Settings.Bool + | L'.TFfi ("Basis", "time") => Settings.Time + | L'.TFfi ("Basis", "blob") => Settings.Blob + | L'.TFfi ("Basis", "channel") => Settings.Channel + | L'.TFfi ("Basis", "client") => Settings.Client + | _ => raise Fail "Monoize/sql_option_prim: invalid SQL type" in ((L'.EAbs ("f", (L'.TFun (t, s), loc), @@ -2223,7 +2236,7 @@ fun monoExp (env, st, fm) (all as (e, loc)) = s, (L'.ECase ((L'.ERel 0, loc), [((L'.PNone t, loc), - str "NULL"), + str (#p_cast (Settings.currentDbms ()) ("NULL", toSqlType t))), ((L'.PSome (t, (L'.PVar ("y", t), loc)), loc), (L'.EApp ((L'.ERel 2, loc), (L'.ERel 0, loc)), loc))], {disc = (L'.TOption t, loc), -- cgit v1.2.3