on master help sign in
finish renaming evalDatabaseContextExpr in tests
af92f0dAgentM
src/lib/ProjectM36/RelationalExpression.hs−1
@@ -26,7 +26,6 @@ import Control.Monad.Trans.Except
26
26
27import GHC
27import GHC
28import GHC.Paths
28import GHC.Paths
29−import Debug.Trace
30
29
31-- we need to pass around a higher level RelationTuple and Attributes in order to solve #52
30-- we need to pass around a higher level RelationTuple and Attributes in order to solve #52
32data RelationalExprStateElems = RelationalExprStateTupleElems DatabaseContext RelationTuple | -- used when fully evaluating a relexpr
31data RelationalExprStateElems = RelationalExprStateTupleElems DatabaseContext RelationTuple | -- used when fully evaluating a relexpr
test/TransactionGraph/Merge.hs+1−1
@@ -140,7 +140,7 @@ testSelectedBranchMerge = TestCase $ do
140
140
141 -- add another relvar to branchB
141 -- add another relvar to branchB
142 branchBTrans <- assertMaybe (transactionForHead "branchB" graph) "failed to get branchB head"
142 branchBTrans <- assertMaybe (transactionForHead "branchB" graph) "failed to get branchB head"
143− updatedBranchBContext <- case runState (evalContextExpr (Assign "branchBOnlyRelvar" (ExistingRelation relationTrue))) (concreteDatabaseContext branchBTrans) of
143+ updatedBranchBContext <- case runState (evalDatabaseContextExpr (Assign "branchBOnlyRelvar" (ExistingRelation relationTrue))) (concreteDatabaseContext branchBTrans) of
144 (Just err, _) -> assertFailure (show err) >> undefined
144 (Just err, _) -> assertFailure (show err) >> undefined
145 (Nothing, context) -> pure context
145 (Nothing, context) -> pure context
146 (_, graph') <- addTransaction "branchB" (createTrans (fakeUUID 3) (TransactionInfo (transactionId branchBTrans) S.empty) updatedBranchBContext) graph
146 (_, graph') <- addTransaction "branchB" (createTrans (fakeUUID 3) (TransactionInfo (transactionId branchBTrans) S.empty) updatedBranchBContext) graph
test/TutorialD/Interpreter.hs+3−2
@@ -25,6 +25,7 @@ import Data.Text.Encoding as TE
25import Control.Concurrent
25import Control.Concurrent
26import qualified Data.Set as S
26import qualified Data.Set as S
27import Data.Text hiding (map)
27import Data.Text hiding (map)
28+import qualified Data.Text as T
28
29
29main :: IO ()
30main :: IO ()
30main = do
31main = do
@@ -391,6 +392,6 @@ testFunctionalDependencies = TestCase $ do
391 --insert a new, valid tuple
392 --insert a new, valid tuple
392 executeTutorialD sessionId dbconn "insert s relation{tuple{city \"Boston\", s# \"S6\", sname \"Stevens\", status 30}}"
393 executeTutorialD sessionId dbconn "insert s relation{tuple{city \"Boston\", s# \"S6\", sname \"Stevens\", status 30}}"
393 --insert an constraint-violating tuple
394 --insert an constraint-violating tuple
394− let expectedError = InclusionDependencyCheckError "sname_status_A"
395+ let expectedError = "InclusionDependencyCheckError \"sname_status_A\""
395− expectTutorialDErr sessionId dbconn expectedError "insert s relation{tuple{city \"Boston\", s# \"S7\", sname \"Jones\", status 20}}"
396+ expectTutorialDErr sessionId dbconn (T.isPrefixOf expectedError) "insert s relation{tuple{city \"Boston\", s# \"S7\", sname \"Jones\", status 20}}"
396
397
test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs−2
@@ -55,5 +55,3 @@ testDBCFunctionWithAtomArguments = TestCase $ do
55adddatabasecontextfunction "addperson" Int -> Text -> DatabaseContext -> DatabaseContext """(\(age:name:_) ctx -> let newrel = MakeRelationFromExprs Nothing [TupleExpr (fromList [("name", name),("age",age))]] in if isRight (runState (executeRelationalExpr (RelationVariable "person" ()) ctx)) then execState (executeContextExpr (Insert "person" newrel)) ctx else execState (executeContextExpr (Assign "person" newrel)) ctx) :: [Atom] -> DatabaseContext -> DatabaseContext"""
55adddatabasecontextfunction "addperson" Int -> Text -> DatabaseContext -> DatabaseContext """(\(age:name:_) ctx -> let newrel = MakeRelationFromExprs Nothing [TupleExpr (fromList [("name", name),("age",age))]] in if isRight (runState (executeRelationalExpr (RelationVariable "person" ()) ctx)) then execState (executeContextExpr (Insert "person" newrel)) ctx else execState (executeContextExpr (Assign "person" newrel)) ctx) :: [Atom] -> DatabaseContext -> DatabaseContext"""
56-}
56-}
57
57
58−f :: [Atom] -> DatabaseContext -> DatabaseContext
59−f = \(age:name:_) ctx -> let newrel = MakeRelationFromExprs Nothing [TupleExpr (fromList [("name", name),("age",age))]] in if isRight (runState (executeRelationalExpr (RelationVariable "person" ()))ctx) then execState (executeContextExpr (Insert "person" newrel)) ctx else execState (executeContextExpr (Assign "person" newrel)) ctx