{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} module Database.Relational.Schema.SQLServerSyscat.Types where import GHC.Generics (Generic) import Data.Int (Int32) import Database.Relational.TH (defineTableTypesAndRecord) import Database.Relational.Schema.SQLServerSyscat.Config (config) $(defineTableTypesAndRecord config "sys" "types" [ -- View "sys.types" -- column schema type length NULL -- --------------------- ------- ------------------- -------- ------ -- name sys sysname(nvarchar) 128 No ("name", [t|String|]), -- system_type_id sys tinyint 1 No --("system_type_id", [t|Int32|]), -- user_type_id sys int 4 No ("user_type_id", [t|Int32|]), -- schema_id sys int 4 No ("schema_id", [t|Int32|])--, -- principal_id sys int 4 Yes --("principal_id", [t|Maybe Int32|]), -- max_length sys int 4 No --("max_length", [t|Int32|]), -- precision sys tinyint 1 No --("precision", [t|Int32|]), -- scale sys tinyint 1 No --("scale", [t|Int32|]), -- collation_name sys sysname(nvarchar) 128 Yes --("collation_name", [t|Maybe String|]), -- is_nullable sys bit 1 Yes --("is_nullable", [t|Maybe Bool|]), -- is_user_defined sys bit 1 No --("is_user_defined", [t|Bool|]), -- is_assembly_type sys bit 1 No --("is_assembly_type", [t|Bool|]), -- default_object_id sys int 4 No --("default_object_id", [t|Int32|]), -- rule_object_id sys int 4 No --("rule_object_id", [t|Int32|]), -- is_table_type sys bit 1 No --("is_table_type", [t|Bool|]) ] [''Show, ''Generic])