content: {-# LANGUAGE TemplateHaskell #-}
  {-# LANGUAGE FlexibleInstances #-}
  {-# LANGUAGE MultiParamTypeClasses #-}
  {-# LANGUAGE DataKinds #-}
  {-# LANGUAGE DeriveGeneric #-}
  
  module Database.Relational.Schema.Oracle.Constraints where
  
  import GHC.Generics (Generic)
  import Database.Relational.TH (defineTableTypesAndRecord)
  
  import Database.Relational.Schema.Oracle.Config (config)
  
  
  $(defineTableTypesAndRecord config
      "SYS" "dba_constraints"
      -- Column                                    NULL?    Datatype
      -- ----------------------------------------- -------- ----------------------------
      -- OWNER                                              VARCHAR2(30)
      [ ("owner", [t|Maybe String|])
      -- CONSTRAINT_NAME                           NOT NULL VARCHAR2(30)
      , ("constraint_name", [t|String|])
      -- CONSTRAINT_TYPE                                    VARCHAR2(1)
      , ("constraint_type", [t|Maybe String|])
      -- TABLE_NAME                                NOT NULL VARCHAR2(30)
      , ("table_name", [t|String|])
      -- SEARCH_CONDITION                                   LONG
      -- R_OWNER                                            VARCHAR2(30)
      -- R_CONSTRAINT_NAME                                  VARCHAR2(30)
      -- DELETE_RULE                                        VARCHAR2(9)
      -- STATUS                                             VARCHAR2(8)
      -- DEFERRABLE                                         VARCHAR2(14)
      -- DEFERRED                                           VARCHAR2(9)
      -- VALIDATED                                          VARCHAR2(13)
      -- GENERATED                                          VARCHAR2(14)
      -- BAD                                                VARCHAR2(3)
      -- RELY                                               VARCHAR2(4)
      -- LAST_CHANGE                                        DATE
      -- INDEX_OWNER                                        VARCHAR2(30)
      -- INDEX_NAME                                         VARCHAR2(30)
      -- INVALID                                            VARCHAR2(7)
      -- VIEW_RELATED                                       VARCHAR2(14)
      ] [''Show, ''Generic])
  