comparison lib/basis.lig @ 207:cc68da3801bc

Non-star SELECT
author Adam Chlipala <adamc@hcoop.net>
date Thu, 14 Aug 2008 18:35:08 -0400
parents 241c9a0e3397
children 1487c712eb12
comparison
equal deleted inserted replaced
206:cb8493759a7b 207:cc68da3801bc
13 13
14 (*** Queries *) 14 (*** Queries *)
15 15
16 con sql_query :: {{Type}} -> Type 16 con sql_query :: {{Type}} -> Type
17 17
18 val sql_query : tables ::: {{Type}} 18 val sql_query : tables :: {({Type} * {Type})}
19 -> $(fold (fn nm => fn ts => fn acc => [nm] ~ acc => 19 -> $(fold (fn nm => fn selected_unselected :: ({Type} * {Type}) => fn acc =>
20 [nm = sql_table ts] ++ acc) [] tables) 20 [nm] ~ acc => selected_unselected.1 ~ selected_unselected.2 =>
21 -> sql_query tables 21 [nm = sql_table (selected_unselected.1 ++ selected_unselected.2)] ++ acc) [] tables)
22 -> sql_query (fold (fn nm => fn selected_unselected :: ({Type} * {Type}) => fn acc => [nm] ~ acc =>
23 [nm = selected_unselected.1] ++ acc) [] tables)
22 24
23 25
24 (** XML *) 26 (** XML *)
25 27
26 con tag :: {Type} -> {Unit} -> {Unit} -> {Type} -> {Type} -> Type 28 con tag :: {Type} -> {Unit} -> {Unit} -> {Type} -> {Type} -> Type