| 216 | } |
| 217 | |
| 218 | bool QueryGraph::canProjectExpression(const std::shared_ptr<Expression>& expression) const { |
| 219 | auto collector = DependentVarNameCollector(); |
| 220 | collector.visit(expression); |
| 221 | for (auto& variable : collector.getVarNames()) { |
| 222 | if (!containsQueryNode(variable) && !containsQueryRel(variable)) { |
| 223 | return false; |
| 224 | } |
| 225 | } |
| 226 | return true; |
| 227 | } |
| 228 | |
| 229 | bool QueryGraph::isConnected(const QueryGraph& other) const { |
| 230 | for (auto& queryNode : queryNodes) { |
no test coverage detected