haskelldb-0.10: SQL unwrapper for Haskell.ContentsIndex
Database.HaskellDB.DBSpec.DBInfo
Portabilitynon-portable
Stabilityexperimental
Maintainerhaskelldb-users@lists.sourceforge.net
Description
This is the core file of the DBSpec files. It defines a DBInfo and important functions on it.
Synopsis
data DBInfo = DBInfo {
dbname :: String
opts :: DBOptions
tbls :: [TInfo]
}
data TInfo = TInfo {
tname :: String
cols :: [CInfo]
}
data CInfo = CInfo {
cname :: String
descr :: FieldDesc
}
data DBOptions = DBOptions {
useBString :: Bool
}
makeDBSpec :: String -> DBOptions -> [TInfo] -> DBInfo
makeTInfo :: String -> [CInfo] -> TInfo
makeCInfo :: String -> FieldDesc -> CInfo
ppDBInfo :: DBInfo -> Doc
ppTInfo :: TInfo -> Doc
ppCInfo :: CInfo -> Doc
ppDBOptions :: DBOptions -> Doc
dbInfoToDoc :: DBInfo -> Doc
finalizeSpec :: DBInfo -> DBInfo
constructNonClashingDBInfo :: DBInfo -> DBInfo
Documentation
data DBInfo
Defines a database layout, top level
Constructors
DBInfo
dbname :: StringThe name of the database
opts :: DBOptionsAny options (i.e whether to use Bounded Strings)
tbls :: [TInfo]Tables this database contains
show/hide Instances
data TInfo
Constructors
TInfo
tname :: StringThe name of the table
cols :: [CInfo]The columns in this table
show/hide Instances
data CInfo
Constructors
CInfo
cname :: StringThe name of this column
descr :: FieldDescThe description of this column
show/hide Instances
data DBOptions
Constructors
DBOptions
useBString :: BoolUse Bounded Strings?
show/hide Instances
makeDBSpec
:: StringThe name of the Database
-> DBOptionsOptions
-> [TInfo]Tables
-> DBInfoThe generated DBInfo
Creates a DBInfo
makeTInfo
:: StringThe table name
-> [CInfo]Columns
-> TInfoThe generated TInfo
Creates a TInfo
makeCInfo
:: StringThe column name
-> FieldDescWhat the column contains
-> CInfoThe generated CInfo
Creates a CInfo
ppDBInfo :: DBInfo -> Doc
Pretty prints a DBInfo
ppTInfo :: TInfo -> Doc
ppCInfo :: CInfo -> Doc
ppDBOptions :: DBOptions -> Doc
dbInfoToDoc :: DBInfo -> Doc
Creates a valid declaration of a DBInfo. The variable name will be the same as the database name
finalizeSpec :: DBInfo -> DBInfo
Does a final touching up of a DBInfo before it is used by i.e DBDirect. This converts any Bounded Strings to ordinary strings if that flag is set.
constructNonClashingDBInfo :: DBInfo -> DBInfo
Constructs a DBInfo that doesn't cause nameclashes
Produced by Haddock version 0.8