summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-16 12:15:38 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-16 12:15:38 -0400
commit58a120615454c5eb73b560f8d3de6a45310d4aab (patch)
tree4d852c455a49058e8ade712c4e0e4bdd1a943697 /lib
parent3c28b7024034c5969525035f8b602272441dd323 (diff)
Stub WHERE support
Diffstat (limited to 'lib')
-rw-r--r--lib/basis.lig16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/basis.lig b/lib/basis.lig
index 0655c2b7..6fe847b9 100644
--- a/lib/basis.lig
+++ b/lib/basis.lig
@@ -14,14 +14,26 @@ con sql_table :: {Type} -> Type
(*** Queries *)
con sql_query :: {{Type}} -> Type
+con sql_exp :: {{Type}} -> Type -> Type
val sql_query : tables :: {({Type} * {Type})}
- -> $(fold (fn nm => fn selected_unselected :: ({Type} * {Type}) => fn acc =>
+ -> {From : $(fold (fn nm => fn selected_unselected :: ({Type} * {Type}) => fn acc =>
[nm] ~ acc => selected_unselected.1 ~ selected_unselected.2 =>
- [nm = sql_table (selected_unselected.1 ++ selected_unselected.2)] ++ acc) [] tables)
+ [nm = sql_table (selected_unselected.1 ++ selected_unselected.2)] ++ acc) [] tables),
+ Where : sql_exp (fold (fn nm => fn selected_unselected :: ({Type} * {Type}) => fn acc =>
+ [nm] ~ acc => selected_unselected.1 ~ selected_unselected.2 =>
+ [nm = selected_unselected.1 ++ selected_unselected.2] ++ acc) [] tables) bool}
-> sql_query (fold (fn nm => fn selected_unselected :: ({Type} * {Type}) => fn acc => [nm] ~ acc =>
[nm = selected_unselected.1] ++ acc) [] tables)
+con sql_type :: Type -> Type
+val sql_bool : sql_type bool
+val sql_int : sql_type int
+val sql_float : sql_type float
+val sql_string : sql_type string
+
+val sql_inject : tables ::: {{Type}} -> t ::: Type -> t -> sql_type t -> sql_exp tables t
+
(** XML *)