File: custom-test.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 (35 lines) | stat: -rw-r--r-- 762 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
import Database.HaskellDB
import Database.HaskellDB.HDBRec
import Database.HaskellDB.Database (GetRec)

import System.Time

import CustomSql
import TestConnect

timeQ = project (timefield << now)

ilikeQ s1 s2 = project (boolfield << s1 `ilike` s2)

getOneField f db q = do
		     [r] <- query db q
		     return (r!f)

getTime = getOneField timefield

getBool = getOneField boolfield


printResults :: ShowRecRow r => [r] -> IO ()
printResults = mapM_ (putStrLn . unwords . map (($ "") . snd) . showRecRow)

printSql = putStrLn . show . showSql

test db = do
	  printSql timeQ
	  getTime db timeQ >>= putStrLn . calendarTimeToString
	  let iq = ilikeQ (constant "apa") (constant "APA")
	  printSql iq
	  getBool db iq >>= putStrLn . show

main = argConnect test