on master help sign in
fix warnings involved with new notifications
commit0bf7786de5cdff0eb8f8db96dd7af66f5d01f121 authorAgentM <agentm@themactionfaction.com> dateSat 23 Jan 2016, 15:35 (11 years ago) parenta011cd3
3 files changed+13
ProjectM36/StaticOptimizer.hs+12 ProjectM36/Transaction/Persist.hs+1 project-m36.cabal
ProjectM36/StaticOptimizer.hs+12
@@ -121,6 +121,18 @@ applyStaticDatabaseOptimization dep@(AddInclusionDependency _ _) = return $ Righ
121121
122122applyStaticDatabaseOptimization (RemoveInclusionDependency name) = return $ Right (RemoveInclusionDependency name)
123123
124+applyStaticDatabaseOptimization (AddNotification name triggerExpr resultExpr) = do
125+ eTriggerExprOpt <- applyStaticRelationalOptimization triggerExpr
126+ case eTriggerExprOpt of
127+ Left err -> pure $ Left err
128+ Right triggerExprOpt -> do
129+ eResultExprOpt <- applyStaticRelationalOptimization resultExpr
130+ case eResultExprOpt of
131+ Left err -> pure $ Left err
132+ Right resultExprOpt -> pure (Right (AddNotification name triggerExprOpt resultExprOpt))
133+
134+applyStaticDatabaseOptimization notif@(RemoveNotification _) = pure (Right notif)
135+
124136--optimization: from pgsql lists- check for join condition referencing foreign key- if join projection project away the referenced table, then it does not need to be scanned
125137
126138--applyStaticDatabaseOptimization (MultipleExpr exprs) = return $ Right $ MultipleExpr exprs
ProjectM36/Transaction/Persist.hs+1
@@ -50,6 +50,7 @@ readTransaction dbdir transUUID = do
5050 let atomFuncs = basicAtomFunctions
5151 let newContext = DatabaseContext { inclusionDependencies = incDeps,
5252 relationVariables = relvars,
53+ notifications = M.empty,
5354 atomFunctions = atomFuncs }
5455
5556 return $ Right $ Transaction transUUID transInfo newContext
project-m36.cabalmode 100755 → 100644

Only the mode changed.