Mercurial > urweb
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)) |