File: top.hs

package info (click to toggle)
haskelldb 0.9.cvs.601-13
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 680 kB
  • ctags: 33
  • sloc: haskell: 4,392; sh: 1,900; makefile: 130
file content (51 lines) | stat: -rw-r--r-- 882 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import Database.HaskellDB

import TestConnect

import Dp037.D3proj_users

-- victor said that top, topPercent and union produce SQL errors

opts = ODBCOptions{dsn="mysql-dp037", uid="dp037", pwd="teent333"}
withDB f = odbcConnect opts f

q1 = do
    users <- table d3proj_users
    top 2
    order [asc users xid]
    return users

{-
q2 = do
    users <- table d3proj_users
    topPercent 20
    return users
-}

q3 = do
    users <- table d3proj_users
    order [desc users xid]
    top 2
    return users

pp = putStrLn . show . showSql

printIds = mapM (\r -> putStrLn (r!xid))

tests db = do 
	   putStrLn "top:"
	   pp q1
	   rs <- query db q1
	   printIds rs
	   putStrLn ""
--       putStrLn "topPercent:"
--       pp q2
--	   putStrLn ""
	   putStrLn "union:"
	   let u = q1 `union` q3
	   pp u
	   rs <- query db u
	   printIds rs
	   putStrLn ""

main = argConnect tests