on 69ff6cd help sign in
27 lines 1.5 kB history raw
1{-# LANGUAGE CPP #-}
2module TutorialD.Interpreter.Import.Base where
3import ProjectM36.Base
4import ProjectM36.Error
5#if __GLASGOW_HASKELL__ < 804
6import Data.Monoid
7#endif
9-- | import data into a relation variable
10data RelVarDataImportOperator = RelVarDataImportOperator RelVarName FilePath (RelVarName -> TypeConstructorMapping -> Attributes -> FilePath -> IO (Either RelationalError DatabaseContextExpr))
12instance Show RelVarDataImportOperator where
13 show (RelVarDataImportOperator rv path _) = "RelVarDataImportOperator " <> show rv <> " " <> path
15-- | import data into a database context
16data DatabaseContextDataImportOperator = DatabaseContextDataImportOperator FilePath (FilePath -> IO (Either RelationalError DatabaseContextExpr))
18instance Show DatabaseContextDataImportOperator where
19 show (DatabaseContextDataImportOperator path _) = "DatabaseContextDataImportOperator " <> path
21-- perhaps create a structure to import a whole transaction graph section in the future
23evalRelVarDataImportOperator :: RelVarDataImportOperator -> TypeConstructorMapping -> Attributes -> IO (Either RelationalError DatabaseContextExpr)
24evalRelVarDataImportOperator (RelVarDataImportOperator relVarName path importFunc) tConsMap attrs = importFunc relVarName tConsMap attrs path
26evalDatabaseContextDataImportOperator :: DatabaseContextDataImportOperator -> IO (Either RelationalError DatabaseContextExpr)
27evalDatabaseContextDataImportOperator (DatabaseContextDataImportOperator path importFunc) = importFunc path