{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} -- | -- Module : Database.Relational.Schema.IBMDB2.Columns -- Copyright : 2013-2019 Kei Hibino -- License : BSD3 -- -- Maintainer : ex8k.hibino@gmail.com -- Stability : experimental -- Portability : unknown -- -- Generate template of SYSCAT.columns system catalog table. module Database.Relational.Schema.IBMDB2.Columns where import GHC.Generics (Generic) import Data.Int (Int16, Int32, Int64) import Database.Relational.TH (defineTableTypesAndRecord) import Database.Relational.Schema.IBMDB2.Config (config) $(defineTableTypesAndRecord config "SYSCAT" "columns" [ -- column schema type length NULL -- ------------------------------ --------- ------------------ -------- ----- ------ -- TABSCHEMA SYSIBM VARCHAR 128 0 No ("tabschema", [t|String|]), -- TABNAME SYSIBM VARCHAR 128 0 No ("tabname", [t|String|]), -- COLNAME SYSIBM VARCHAR 128 0 No ("colname", [t|String|]), -- COLNO SYSIBM SMALLINT 2 0 No ("colno", [t|Int16|]), -- TYPESCHEMA SYSIBM VARCHAR 128 0 No ("typeschema", [t|String|]), -- TYPENAME SYSIBM VARCHAR 18 0 No ("typename", [t|String|]), -- LENGTH SYSIBM INTEGER 4 0 No ("length", [t|Int32|]), -- SCALE SYSIBM SMALLINT 2 0 No ("scale", [t|Int16|]), -- DEFAULT SYSIBM VARCHAR 254 0 Yes ("default", [t|Maybe String|]), -- NULLS SYSIBM CHARACTER 1 0 No ("nulls", [t|String|]), -- CODEPAGE SYSIBM SMALLINT 2 0 No ("codepage", [t|Int16|]), -- LOGGED SYSIBM CHARACTER 1 0 No ("logged", [t|String|]), -- COMPACT SYSIBM CHARACTER 1 0 No ("compact", [t|String|]), -- COLCARD SYSIBM BIGINT 8 0 No ("colcard", [t|Int64|]), -- HIGH2KEY SYSIBM VARCHAR 254 0 Yes ("high2key", [t|Maybe String|]), -- LOW2KEY SYSIBM VARCHAR 254 0 Yes ("low2key", [t|Maybe String|]), -- AVGCOLLEN SYSIBM INTEGER 4 0 No ("avgcollen", [t|Int32|]), -- KEYSEQ SYSIBM SMALLINT 2 0 Yes ("keyseq", [t|Maybe Int16|]), -- PARTKEYSEQ SYSIBM SMALLINT 2 0 Yes ("partkeyseq", [t|Maybe Int16|]), -- NQUANTILES SYSIBM SMALLINT 2 0 No ("nquantiles", [t|Int16|]), -- NMOSTFREQ SYSIBM SMALLINT 2 0 No ("nmostfreq", [t|Int16|]), -- NUMNULLS SYSIBM BIGINT 8 0 No ("numnulls", [t|Int64|]), -- TARGET_TYPESCHEMA SYSIBM VARCHAR 128 0 Yes ("target_typeschema", [t|Maybe String|]), -- TARGET_TYPENAME SYSIBM VARCHAR 18 0 Yes ("target_typename", [t|Maybe String|]), -- SCOPE_TABSCHEMA SYSIBM VARCHAR 128 0 Yes ("scope_tabschema", [t|Maybe String|]), -- SCOPE_TABNAME SYSIBM VARCHAR 128 0 Yes ("scope_tabname", [t|Maybe String|]), -- SOURCE_TABSCHEMA SYSIBM VARCHAR 128 0 Yes ("source_tabschema", [t|Maybe String|]), -- SOURCE_TABNAME SYSIBM VARCHAR 128 0 Yes ("source_tabname", [t|Maybe String|]), -- DL_FEATURES SYSIBM CHARACTER 10 0 Yes ("dl_features", [t|Maybe String|]), -- SPECIAL_PROPS SYSIBM CHARACTER 8 0 Yes ("special_props", [t|Maybe String|]), -- HIDDEN SYSIBM CHARACTER 1 0 No ("hidden", [t|String|]), -- INLINE_LENGTH SYSIBM INTEGER 4 0 No ("inline_length", [t|Int32|]), -- IDENTITY SYSIBM CHARACTER 1 0 No ("identity", [t|String|]), -- GENERATED SYSIBM CHARACTER 1 0 No ("generated", [t|String|]), -- TEXT SYSIBM CLOB 65538 0 Yes ("text", [t|Maybe String|]), -- REMARKS SYSIBM VARCHAR 254 0 Yes ("remarks", [t|Maybe String|]) ] [''Show, ''Generic])