{-# LANGUAGE DataKinds, TemplateHaskell #-} {- | An even smaller DB for minimal examples -} module MiniDB where import Data.HList.CommonMain import Database.HaskRel.RDBMS makeLabels6 ["sno","sName","status","city", "pno", "qty"] dbPath = "./" sp :: Relvar '[Attr "sno" String, Attr "pno" String, Attr "qty" Integer] sp = Relvar ( dbPath ++ "SP.rv" ) {- >>> let s = ( relation' [ ( "S1", "Smith", 20, "London" ), ( "S2", "Jones", 10, "Paris" ), ( "S3", "Blake", 30, "Paris" ) ] :: Relation '[Attr "sno" String, Attr "sName" String, Attr "status" Integer, Attr "city" String] ) >>> sp `assign` ( relation' [ ("S1", "P1", 300), ("S1", "P3", 400), ("S1", "P5", 100), ("S2", "P1", 300), ("S3", "P2", 200) ] :: Relation '[Attr "sno" String, Attr "pno" String, Attr "qty" Integer] ) -}