| 28 | } |
| 29 | |
| 30 | BlockIO InterpreterUndropQuery::execute() |
| 31 | { |
| 32 | getContext()->checkAccess(AccessType::UNDROP_TABLE); |
| 33 | |
| 34 | auto & undrop = query_ptr->as<ASTUndropQuery &>(); |
| 35 | if (!undrop.cluster.empty() && !maybeRemoveOnCluster(query_ptr, getContext())) |
| 36 | { |
| 37 | DDLQueryOnClusterParams params; |
| 38 | params.access_to_check = getRequiredAccessForDDLOnCluster(); |
| 39 | return executeDDLQueryOnCluster(query_ptr, getContext(), params); |
| 40 | } |
| 41 | |
| 42 | if (undrop.table) |
| 43 | return executeToTable(undrop); |
| 44 | throw Exception(ErrorCodes::LOGICAL_ERROR, "Nothing to undrop, both names are empty"); |
| 45 | } |
| 46 | |
| 47 | BlockIO InterpreterUndropQuery::executeToTable(ASTUndropQuery & query) |
| 48 | { |
nothing calls this directly
no test coverage detected