summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-16 17:50:10 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-16 17:50:10 -0400
commit024d9ab1d554d897787c9d38dc1761ba37a078de (patch)
tree1d9d8824d8b3f4d20f6e6b59d4cc0061bf974681
parentafa00baf57893d90366720a364333d3d86c7089a (diff)
Integer and float constants in SQL
-rw-r--r--src/lacweb.grm7
-rw-r--r--tests/where.lac2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/lacweb.grm b/src/lacweb.grm
index aee12028..e38ad6b0 100644
--- a/src/lacweb.grm
+++ b/src/lacweb.grm
@@ -684,6 +684,13 @@ sqlexp : TRUE (sql_inject (EVar (["Basis"], "True"),
EVar (["Basis"], "sql_bool"),
s (FALSEleft, FALSEright)))
+ | INT (sql_inject (EPrim (Prim.Int INT),
+ EVar (["Basis"], "sql_int"),
+ s (INTleft, INTright)))
+ | FLOAT (sql_inject (EPrim (Prim.Float FLOAT),
+ EVar (["Basis"], "sql_float"),
+ s (FLOATleft, FLOATright)))
+
| tident DOT fident (let
val loc = s (tidentleft, fidentright)
val e = (EVar (["Basis"], "sql_field"), loc)
diff --git a/tests/where.lac b/tests/where.lac
index 3854e282..ab430941 100644
--- a/tests/where.lac
+++ b/tests/where.lac
@@ -8,4 +8,4 @@ val q4 = (SELECT * FROM t1 WHERE {True})
val q5 = (SELECT * FROM t1 WHERE {1} = {1})
val q6 = (SELECT * FROM t1 WHERE {"Hi"} < {"Bye"})
val q7 = (SELECT * FROM t1 WHERE {1} <> {1} AND NOT ({"Hi"} >= {"Bye"}))
-val q8 = (SELECT * FROM t1 WHERE t1.A = {1})
+val q8 = (SELECT * FROM t1 WHERE t1.A = 1 OR t1.C < 3.0)