content: {-# LANGUAGE TemplateHaskell #-}
  {-# LANGUAGE FlexibleInstances #-}
  {-# LANGUAGE MultiParamTypeClasses #-}
  {-# LANGUAGE DataKinds #-}
  {-# LANGUAGE DeriveGeneric #-}
  
  module Database.Relational.Schema.SQLServer.IndexColumns where
  
  import GHC.Generics (Generic)
  import Data.Int (Int32)
  import Database.Relational.TH (defineTableTypesAndRecord)
  
  import Database.Relational.Schema.SQLServer.Config (config)
  
  
  $(defineTableTypesAndRecord config
    "sys" "index_columns"
    [
    -- column                schema  type                length   NULL
    -- --------------------- ------- ------------------- -------- ------
    -- object_id             sys     int                        4 No
      ("object_id", [t|Int32|]),
    -- index_id              sys     int                        4 No
      ("index_id", [t|Int32|]),
    -- index_column_id       sys     int                        4 No
      ("column_id", [t|Int32|]),
    -- key_ordinal           sys     tinyint                    1 No
      ("key_ordinal", [t|Int32|]),
    -- partition_ordinal     sys     tinyint                    1 No
      --("partition_ordinal", [t|Int32|]),
    -- is_descending_key     sys     bit                        1 No
      --("is_descending_key", [t|Bool|]),
    -- is_included_column    sys     bit                        1 No
      ("is_included_column", [t|Bool|])
    ]
    [''Show, ''Generic])
  