| 257 | } |
| 258 | |
| 259 | void QueryGraphCollection::finalize() { |
| 260 | common::idx_t baseGraphIdx = 0; |
| 261 | while (true) { |
| 262 | auto prevNumGraphs = queryGraphs.size(); |
| 263 | queryGraphs = mergeGraphs(baseGraphIdx++); |
| 264 | if (queryGraphs.size() == prevNumGraphs || baseGraphIdx == queryGraphs.size()) { |
| 265 | return; |
| 266 | } |
| 267 | } |
| 268 | } |
| 269 | |
| 270 | std::vector<QueryGraph> QueryGraphCollection::mergeGraphs(common::idx_t baseGraphIdx) { |
| 271 | DASSERT(baseGraphIdx < queryGraphs.size()); |