Copyright | HWT Group (c) 2004, haskelldb-users@lists.sourceforge.net |
---|---|
License | BSD-style |
Maintainer | haskelldb-users@lists.sourceforge.net |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell98 |
DBSpec is the new and improved way of specifying databases. It is designed to be able to describe a database in such a way that it can easily be converted to a DBDirect-spec OR directly into a database
- data DBInfo = DBInfo {}
- data TInfo = TInfo {}
- data CInfo = CInfo {}
- data DBOptions = DBOptions {}
- type FieldDesc = (FieldType, Bool)
- data FieldType
- = StringT
- | IntT
- | IntegerT
- | DoubleT
- | BoolT
- | CalendarTimeT
- | LocalTimeT
- | BStrT Int
- makeDBSpec :: String -> DBOptions -> [TInfo] -> DBInfo
- makeTInfo :: String -> [CInfo] -> TInfo
- makeCInfo :: String -> FieldDesc -> CInfo
- constructNonClashingDBInfo :: DBInfo -> DBInfo
- ppDBInfo :: DBInfo -> Doc
- ppTInfo :: TInfo -> Doc
- ppCInfo :: CInfo -> Doc
- ppDBOptions :: DBOptions -> Doc
- dbInfoToDoc :: DBInfo -> Doc
- finalizeSpec :: DBInfo -> DBInfo
- dbToDBSpec :: Bool -> MakeIdentifiers -> String -> Database -> IO DBInfo
- dbSpecToDatabase :: Database -> DBInfo -> IO ()
Documentation
Defines a database layout, top level
DBOptions | |
|
A database column type
Creates a DBInfo
Creates a CInfo
constructNonClashingDBInfo :: DBInfo -> DBInfo Source
Constructs a DBInfo that doesn't cause nameclashes
ppDBOptions :: DBOptions -> Doc Source
dbInfoToDoc :: DBInfo -> Doc Source
Creates a valid declaration of a DBInfo. The variable name will be the same as the database name
finalizeSpec :: DBInfo -> DBInfo Source
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.
:: Bool | Use bounded strings? |
-> MakeIdentifiers | style of generated Haskell identifiers, cOLUMN_NAME vs. columnName |
-> String | the name our database should have |
-> Database | the database connection |
-> IO DBInfo | return a DBInfo |
Connects to a database and generates a specification from it
Converts a DBInfo to a real life Database, note that the database must exist for this to work