Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

147 lines (118 sloc) 6.007 kb
module Main where
import Database.HaskellDB.DBLayout
import Database.HaskellDB.DBSpec.DBSpecToDBDirect
import Database.HaskellDB.DBSpec.PPHelpers (mkIdentPreserving)
tables = [
string_tbl,
int_tbl,
integer_tbl,
double_tbl,
bool_tbl,
calendartime_tbl,
t1,
t2
]
string_tbl = TInfo {tname = "string_tbl",
cols = [
CInfo {cname = "f01", descr = (StringT, True )},
CInfo {cname = "f02", descr = (StringT, False)},
CInfo {cname = "f03", descr = (StringT, True )},
CInfo {cname = "f04", descr = (StringT, False)}
]}
int_tbl = TInfo {tname = "int_tbl",
cols = [
CInfo {cname = "f01", descr = (IntT, True )},
CInfo {cname = "f02", descr = (IntT, False)},
CInfo {cname = "f03", descr = (IntT, True )},
CInfo {cname = "f04", descr = (IntT, False)}
]}
integer_tbl = TInfo {tname = "integer_tbl",
cols = [
CInfo {cname = "f01", descr = (IntegerT, True )},
CInfo {cname = "f02", descr = (IntegerT, False)},
CInfo {cname = "f03", descr = (IntegerT, True )},
CInfo {cname = "f04", descr = (IntegerT, False)}
]}
double_tbl = TInfo {tname = "double_tbl",
cols = [
CInfo {cname = "f01", descr = (DoubleT, True )},
CInfo {cname = "f02", descr = (DoubleT, False)},
CInfo {cname = "f03", descr = (DoubleT, True )},
CInfo {cname = "f04", descr = (DoubleT, False)}
]}
bool_tbl = TInfo {tname = "bool_tbl",
cols = [
CInfo {cname = "f01", descr = (BoolT, True )},
CInfo {cname = "f02", descr = (BoolT, False)},
CInfo {cname = "f03", descr = (BoolT, True )},
CInfo {cname = "f04", descr = (BoolT, False)}
]}
calendartime_tbl = TInfo {tname = "calendartime_tbl",
cols = [
CInfo {cname = "f01", descr = (CalendarTimeT, True )},
CInfo {cname = "f02", descr = (CalendarTimeT, False)},
CInfo {cname = "f03", descr = (CalendarTimeT, True )},
CInfo {cname = "f04", descr = (CalendarTimeT, False)}
]}
t1 = TInfo {tname = "hdb_t1",
cols = [CInfo {cname = "t1f01", descr = (StringT, True )},
CInfo {cname = "t1f02", descr = (StringT, False)},
CInfo {cname = "t1f03", descr = (StringT, True )},
CInfo {cname = "t1f04", descr = (StringT, False)},
CInfo {cname = "t1f05", descr = (IntT, True )},
CInfo {cname = "t1f06", descr = (IntT, False)},
CInfo {cname = "t1f07", descr = (IntT, True )},
CInfo {cname = "t1f08", descr = (IntT, False)},
CInfo {cname = "t1f09", descr = (IntegerT, True )},
CInfo {cname = "t1f10", descr = (IntegerT, False)},
CInfo {cname = "t1f11", descr = (IntegerT, True )},
CInfo {cname = "t1f12", descr = (IntegerT, False)},
CInfo {cname = "t1f13", descr = (DoubleT, True )},
CInfo {cname = "t1f14", descr = (DoubleT, False)},
CInfo {cname = "t1f15", descr = (DoubleT, True )},
CInfo {cname = "t1f16", descr = (DoubleT, False)},
-- Disabled for now, since booleans don't really work anywhere
-- CInfo {cname = "t1f17", descr = (BoolT, True )},
-- CInfo {cname = "t1f18", descr = (BoolT, False)},
-- CInfo {cname = "t1f19", descr = (BoolT, True )},
-- CInfo {cname = "t1f20", descr = (BoolT, False)},
CInfo {cname = "t1f21", descr = (CalendarTimeT, True )},
CInfo {cname = "t1f22", descr = (CalendarTimeT, False)},
CInfo {cname = "t1f23", descr = (CalendarTimeT, True )},
CInfo {cname = "t1f24", descr = (CalendarTimeT, False)}
]}
t2 = TInfo {tname = "hdb_t2",
cols = [CInfo {cname = "t2f01", descr = (StringT, True )},
CInfo {cname = "t2f02", descr = (StringT, False)},
CInfo {cname = "t2f03", descr = (StringT, True )},
CInfo {cname = "t2f04", descr = (StringT, False)},
CInfo {cname = "t2f05", descr = (IntT, True )},
CInfo {cname = "t2f06", descr = (IntT, False)},
CInfo {cname = "t2f07", descr = (IntT, True )},
CInfo {cname = "t2f08", descr = (IntT, False)},
CInfo {cname = "t2f09", descr = (IntegerT, True )},
CInfo {cname = "t2f10", descr = (IntegerT, False)},
CInfo {cname = "t2f11", descr = (IntegerT, True )},
CInfo {cname = "t2f12", descr = (IntegerT, False)},
CInfo {cname = "t2f13", descr = (DoubleT, True )},
CInfo {cname = "t2f14", descr = (DoubleT, False)},
CInfo {cname = "t2f15", descr = (DoubleT, True )},
CInfo {cname = "t2f16", descr = (DoubleT, False)},
-- Disabled for now, since booleans don't really work anywhere
-- CInfo {cname = "t2f17", descr = (BoolT, True )},
-- CInfo {cname = "t2f18", descr = (BoolT, False)},
-- CInfo {cname = "t2f19", descr = (BoolT, True )},
-- CInfo {cname = "t2f20", descr = (BoolT, False)},
CInfo {cname = "t2f21", descr = (CalendarTimeT, True )},
CInfo {cname = "t2f22", descr = (CalendarTimeT, False)},
CInfo {cname = "t2f23", descr = (CalendarTimeT, True )},
CInfo {cname = "t2f24", descr = (CalendarTimeT, False)}
]}
createModules :: IO ()
createModules = dbInfoToModuleFiles "." "DB1" hdb_test_db
where hdb_test_db =
DBInfo {dbname = "hdb_test_db"
, opts = DBOptions {useBString = False, makeIdent = mkIdentPreserving}
, tbls = tables}
main :: IO ()
main = createModules
Jump to Line
Something went wrong with that request. Please try again.