| 226 | } |
| 227 | |
| 228 | void QueryExecMgr::CollectQueriesToCancel(std::function<bool(QueryState*)> filter, |
| 229 | bool is_coord_active, vector<QueryExecMgr::QueryCancellationTask>* to_cancel) { |
| 230 | DCHECK(to_cancel != nullptr); |
| 231 | ExecEnv::GetInstance()->query_exec_mgr()->qs_map_.DoFuncForAllEntries( |
| 232 | [&](QueryState* qs) { |
| 233 | if (qs != nullptr && !qs->IsCancelled() && filter(qs)) { |
| 234 | // decremented by ReleaseQueryState() |
| 235 | AcquireQueryStateLocked(qs); |
| 236 | to_cancel->push_back(QueryCancellationTask(qs, is_coord_active)); |
| 237 | } |
| 238 | }); |
| 239 | } |
| 240 | |
| 241 | void QueryExecMgr::CancelQueries(const QueryCancellationTask& to_cancel) { |
| 242 | QueryState* qs = to_cancel.GetQueryState(); |
nothing calls this directly
no test coverage detected