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