| 1191 | } |
| 1192 | |
| 1193 | DatabaseAndTable DatabaseCatalog::getDatabaseAndTable(const StorageID & table_id, ContextPtr local_context) const |
| 1194 | { |
| 1195 | std::optional<Exception> exc; |
| 1196 | auto res = local_context->hasQueryContext() ? |
| 1197 | local_context->getQueryContext()->getOrCacheStorage(table_id, [&](){ return getTableImpl(table_id, local_context, &exc); }) : |
| 1198 | getTableImpl(table_id, local_context, &exc); |
| 1199 | if (!res.second) |
| 1200 | throw Exception(*exc); |
| 1201 | return res; |
| 1202 | } |
| 1203 | |
| 1204 | DatabaseAndTable DatabaseCatalog::tryGetDatabaseAndTable(const StorageID & table_id, ContextPtr local_context) const |
| 1205 | { |
no test coverage detected