@@ -97,6 +97,13 @@ evalTransGraphRelationalExpr (Extend extendExpr expr) graph = do
9797 extendExpr' <- evalTransGraphExtendTupleExpr extendExpr graph
9898 expr' <- evalTransGraphRelationalExpr expr graph
9999 pure (Extend extendExpr' expr')
100+evalTransGraphRelationalExpr (With views expr) graph = do
101+ evaldViews <- mapM (\(vname, vexpr) -> do
102+ vexpr' <- evalTransGraphRelationalExpr vexpr graph
103+ pure (vname, vexpr')
104+ ) views
105+ expr' <- evalTransGraphRelationalExpr expr graph
106+ pure (With evaldViews expr')
100107
101108evalTransGraphTupleExpr :: TransactionGraph -> TransGraphTupleExpr -> Either RelationalError TupleExpr
102109evalTransGraphTupleExpr graph (TupleExpr attrMap) = do