@@ -115,22 +115,10 @@ addTransactionToGraph headName newTrans graph = do
115115 --update the parent transactions to point to the new transaction
116116 parents <- mapM (\tid -> transactionForUUID tid graph) (S.toList parentIds)
117117 let updatedParents = S.map addChildTransaction (S.fromList parents)
118− updatedTransSet = S.union updatedParents (transactionsForGraph graph)
118+ updatedTransSet = S.insert newTrans (S.union updatedParents (transactionsForGraph graph))
119119 updatedHeads = M.insert headName newTrans (transactionHeadsForGraph graph)
120120 pure (newTrans, (TransactionGraph updatedHeads updatedTransSet))
121−{-
122−-- create a new transaction on "newHeadName" with the branchPointTrans
123−addTransactionToGraph :: HeadName -> U.UUID -> U.UUID -> DatabaseContext -> TransactionGraph -> Either RelationalError (Transaction, TransactionGraph)
124−addTransactionToGraph newHeadName branchPointTransId newUUID newContext graph@(TransactionGraph heads transSet) = do
125− parentTransaction <- transactionForUUID branchPointTransId graph
126− let freshTransaction = Transaction newUUID (TransactionInfo branchPointTransId S.empty) newContext
127− -- there are two parents for MergeTransactions! not implemented
128− --update parentTransaction to add child
129− let updatedParentTransaction = transactionSetChildren parentTransaction (S.insert (transactionUUID freshTransaction) (transactionChildren parentTransaction))
130− updatedTransSet = (S.insert freshTransaction <$> S.insert updatedParentTransaction) transSet
131− let updatedGraph = TransactionGraph (M.insert newHeadName freshTransaction heads) updatedTransSet
132− return (freshTransaction, updatedGraph)
133−-}
121+
134122validateGraph :: TransactionGraph -> Maybe [RelationalError]
135123validateGraph graph@(TransactionGraph _ transSet) = do
136124 --check that all UUIDs are unique in the graph