comparison demo/more/conference.ur @ 1027:be1aec7333a5

Saving paper assignments
author Adam Chlipala <adamc@hcoop.net>
date Mon, 02 Nov 2009 14:11:08 -0500
parents 7facf72aaf0a
children 53a22f46f377
comparison
equal deleted inserted replaced
1026:c1f49f6ba856 1027:be1aec7333a5
33 33
34 con yourPaperTables :: {{Type}} 34 con yourPaperTables :: {{Type}}
35 constraint [Paper] ~ yourPaperTables 35 constraint [Paper] ~ yourPaperTables
36 val joinYourPaper : tabs ::: {{Type}} -> paper ::: {Type} 36 val joinYourPaper : tabs ::: {{Type}} -> paper ::: {Type}
37 -> [[Paper] ~ tabs] => [[Paper] ~ yourPaperTables] => [tabs ~ yourPaperTables] => [[Id] ~ paper] => 37 -> [[Paper] ~ tabs] => [[Paper] ~ yourPaperTables] => [tabs ~ yourPaperTables] => [[Id] ~ paper] =>
38 sql_from_items ([Paper = [Id = paperId] ++ paper] ++ tabs) 38 userId
39 -> sql_from_items ([Paper = [Id = paperId] ++ paper] ++ tabs)
39 -> sql_from_items (yourPaperTables ++ [Paper = [Id = paperId] ++ paper] ++ tabs) 40 -> sql_from_items (yourPaperTables ++ [Paper = [Id = paperId] ++ paper] ++ tabs)
40 end 41 end
41 42
42 open Meta 43 open Meta
43 44
303 listPapers (SELECT paper.Id, paper.{{map fst M.paper}} FROM paper) 304 listPapers (SELECT paper.Id, paper.{{map fst M.paper}} FROM paper)
304 305
305 and your () = 306 and your () =
306 me <- getLogin; 307 me <- getLogin;
307 listPapers (sql_query {Rows = sql_query1 {Distinct = False, 308 listPapers (sql_query {Rows = sql_query1 {Distinct = False,
308 From = O.joinYourPaper (sql_from_table [#Paper] paper), 309 From = O.joinYourPaper me.Id (sql_from_table [#Paper] paper),
309 Where = (WHERE TRUE), 310 Where = (WHERE TRUE),
310 GroupBy = sql_subset_all [_], 311 GroupBy = sql_subset_all [_],
311 Having = (WHERE TRUE), 312 Having = (WHERE TRUE),
312 SelectFields = sql_subset [[Paper = ([Id = _] ++ map fst M.paper, _)] 313 SelectFields = sql_subset [[Paper = ([Id = _] ++ map fst M.paper, _)]
313 ++ map (fn ts => ([], ts)) 314 ++ map (fn ts => ([], ts))