| 384 | } |
| 385 | |
| 386 | void MergeTreeTransaction::afterFinalize() |
| 387 | { |
| 388 | std::lock_guard lock{mutex}; |
| 389 | chassert((creating_parts.empty() && removing_parts.empty() && mutations.empty()) == storages.empty()); |
| 390 | |
| 391 | /// Remember if it was read-only transaction before we clear storages |
| 392 | is_read_only = storages.empty(); |
| 393 | |
| 394 | /// Release shared pointers just in case |
| 395 | creating_parts.clear(); |
| 396 | removing_parts.clear(); |
| 397 | storages.clear(); |
| 398 | mutations.clear(); |
| 399 | finalized = true; |
| 400 | } |
| 401 | |
| 402 | void MergeTreeTransaction::onException() |
| 403 | { |
no test coverage detected