{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.Oracle.TabColumns where
import GHC.Generics (Generic)
import Data.Int (Int32)
import Database.Relational.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.Oracle.Config (config)
$(defineTableTypesAndRecord config
    "SYS" "dba_tab_columns"
    
    
    
    [ ("owner", [t|String|])
    
    , ("table_name", [t|String|])
    
    , ("column_name", [t|String|])
    
    , ("data_type", [t|Maybe String|])
    
    , ("data_type_mod", [t|Maybe String|])
    
    , ("data_type_owner", [t|Maybe String|])
    
    , ("data_length", [t|Int32|])
    
    , ("data_precision", [t|Maybe Int32|])
    
    , ("data_scale", [t|Maybe Int32|])
    
    , ("nullable", [t|Maybe String|])
    
    , ("column_id", [t|Maybe Int32|])
    
    , ("default_length", [t|Maybe Int32|])
    
    , ("data_default", [t|Maybe String|])
    
    , ("num_distinct", [t|Maybe Int32|])
    
    
    
    
    
    , ("density", [t|Maybe Int32|])
    
    , ("num_nulls", [t|Maybe Int32|])
    
    , ("num_buckets", [t|Maybe Int32|])
    
    
    
    , ("sample_size", [t|Maybe Int32|])
    
    , ("character_set_name", [t|Maybe String|])
    
    , ("char_col_decl_length", [t|Maybe Int32|])
    
    , ("global_stats", [t|Maybe String|])
    
    , ("user_stats", [t|Maybe String|])
    
    , ("avg_col_len", [t|Maybe Int32|])
    
    , ("char_length", [t|Maybe Int32|])
    
    , ("char_used", [t|Maybe String|])
    
    , ("v80_fmt_image", [t|Maybe String|])
    
    , ("data_upgraded", [t|Maybe String|])
    
    , ("histogram", [t|Maybe String|])
    ] [''Show, ''Generic])