module Data.Basic
    ( Key, Point(..), Table(..), TableField(..), UniqueConstraint(..), PrimaryKeyConstraint
    , ForeignKeyConstraint(..), MissingField(..), FieldConstraint(..), AllRows, Entity(..)
    , EntityKind(..), VirtualTable, virtualTableLens, Getter', FieldOpticProxy, fieldOptic
    , ForeignKeyLensProxy, foreignKeyLens
    , MonadEffectBasic, allRows
    , ddelete, dupdate, insert, dfilter, save, dtake, djoin, dsortOn, dfoldMap, dfoldMapInner, dmap
    , dgroupOn
    , (<.), (>.), (==.), (/=.), (<=.), (>=.)
    , ConditionExp(In), Avg(..), Count(..), Min(..), Max(..), Sum(..)
    , handleBasicPsql, handleBasic, connectPostgreSQL
    , mkFromFile, mkFromFiles, printToFile )
    where

import Internal.Data.Basic.Types
import Internal.Data.Basic
import Internal.Data.Basic.TH
import Internal.Control.Effects.Basic
import Internal.Data.Basic.SqlToHsTypes
import Database.PostgreSQL.Simple