on runtime_constructors help sign in
17 lines 1.1 kB history raw
1module TutorialD.Interpreter.Import.Base where
2import ProjectM36.Base
3import ProjectM36.Error
5-- | import data into a relation variable
6data RelVarDataImportOperator = RelVarDataImportOperator RelVarName FilePath (RelVarName -> Attributes -> FilePath -> IO (Either RelationalError DatabaseExpr))
8-- | import data into a database context
9data DatabaseContextDataImportOperator = DatabaseContextDataImportOperator FilePath (FilePath -> IO (Either RelationalError DatabaseExpr))
11-- perhaps create a structure to import a whole transaction graph section in the future
13evalRelVarDataImportOperator :: RelVarDataImportOperator -> Attributes -> IO (Either RelationalError DatabaseExpr)
14evalRelVarDataImportOperator (RelVarDataImportOperator relVarName path importFunc) attrs = importFunc relVarName attrs path
16evalDatabaseContextDataImportOperator :: DatabaseContextDataImportOperator -> IO (Either RelationalError DatabaseExpr)
17evalDatabaseContextDataImportOperator (DatabaseContextDataImportOperator path importFunc) = importFunc path