@@ -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