on request_timeout help sign in
24 lines 1.4 kB history raw
1module TutorialD.Interpreter.Import.Base where
2import ProjectM36.Base
3import ProjectM36.Error
4import Data.Monoid
6-- | import data into a relation variable
7data RelVarDataImportOperator = RelVarDataImportOperator RelVarName FilePath (RelVarName -> Attributes -> FilePath -> IO (Either RelationalError DatabaseContextExpr))
9instance Show RelVarDataImportOperator where
10 show (RelVarDataImportOperator rv path _) = "RelVarDataImportOperator " <> show rv <> " " <> path
12-- | import data into a database context
13data DatabaseContextDataImportOperator = DatabaseContextDataImportOperator FilePath (FilePath -> IO (Either RelationalError DatabaseContextExpr))
15instance Show DatabaseContextDataImportOperator where
16 show (DatabaseContextDataImportOperator path _) = "DatabaseContextDataImportOperator " <> path
18-- perhaps create a structure to import a whole transaction graph section in the future
20evalRelVarDataImportOperator :: RelVarDataImportOperator -> Attributes -> IO (Either RelationalError DatabaseContextExpr)
21evalRelVarDataImportOperator (RelVarDataImportOperator relVarName path importFunc) attrs = importFunc relVarName attrs path
23evalDatabaseContextDataImportOperator :: DatabaseContextDataImportOperator -> IO (Either RelationalError DatabaseContextExpr)
24evalDatabaseContextDataImportOperator (DatabaseContextDataImportOperator path importFunc) = importFunc path