haskell-relational-record/relational-query/test/Model.hs
Harri Nieminen 29771eef10 fix typos
Found by codespell
2023-04-02 17:25:50 +03:00

66 lines
1.6 KiB
Haskell

{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DataKinds #-}
module Model where
import GHC.Generics (Generic)
import Data.Int (Int32, Int64)
import Database.Relational (defaultConfig)
import Database.Relational.TH (defineTable, makeRelationalRecordDefault, defineScalarDegree)
$(defineTable defaultConfig "TEST" "set_a"
[ ("int_a0" , [t| Int32 |])
, ("str_a1" , [t| String |])
, ("str_a2" , [t| String |]) ]
[''Generic] [0] $ Just 0)
$(defineTable defaultConfig "TEST" "set_b"
[ ("int_b0" , [t| Int32 |])
, ("may_str_b1" , [t| Maybe String |])
, ("str_b2" , [t| String |]) ]
[''Generic] [0] $ Just 0)
$(defineTable defaultConfig "TEST" "set_c"
[ ("int_c0" , [t| Int32 |])
, ("str_c1" , [t| String |])
, ("int_c2" , [t| Int64 |])
, ("may_str_c3" , [t| Maybe String |]) ]
[''Generic] [0] $ Just 0)
-- column name conflict with Conflict.conflictB
$(defineTable defaultConfig "TEST" "conflict_a"
[ ("foo" , [t| String |])
, ("bar" , [t| Int32 |])
, ("baz" , [t| Int32 |]) ]
[''Generic] [0] $ Just 0)
$(defineTable defaultConfig "TEST" "set_i"
[ ("int_i0" , [t| Int32 |]) ]
[''Generic] [0] $ Just 0)
data ABC =
ABC
{ xJustA :: SetA
, xJustB :: SetB
, xJustC :: SetC
} deriving Generic
$(makeRelationalRecordDefault ''ABC)
data Abc =
Abc
{ yJustA :: SetA
, yMayB :: Maybe SetB
, yMayC :: Maybe SetC
} deriving Generic
$(makeRelationalRecordDefault ''Abc)
$(defineScalarDegree [t| Int32 |])