From d5fd8b9b5f1252c0f3a20d3d3aae2f29c8c276dd Mon Sep 17 00:00:00 2001 From: Vitaliy Lyudvichenko Date: Mon, 12 Feb 2018 22:26:16 +0300 Subject: [PATCH] Fix DROP MV with max_table_size_to_drop. [#CLICKHOUSE-3] Resolves #1863 --- dbms/src/Storages/StorageMaterializedView.cpp | 6 ++++++ dbms/src/Storages/StorageMaterializedView.h | 1 + 2 files changed, 7 insertions(+) diff --git a/dbms/src/Storages/StorageMaterializedView.cpp b/dbms/src/Storages/StorageMaterializedView.cpp index f1326a52933..820ccdb969e 100644 --- a/dbms/src/Storages/StorageMaterializedView.cpp +++ b/dbms/src/Storages/StorageMaterializedView.cpp @@ -190,6 +190,12 @@ StoragePtr StorageMaterializedView::getTargetTable() const return global_context.getTable(target_database_name, target_table_name); } +bool StorageMaterializedView::checkTableCanBeDropped() const +{ + /// Don't drop the target table if it was created manually via 'TO inner_table' statement + return has_inner_table ? getTargetTable()->checkTableCanBeDropped() : true; +} + void registerStorageMaterializedView(StorageFactory & factory) { diff --git a/dbms/src/Storages/StorageMaterializedView.h b/dbms/src/Storages/StorageMaterializedView.h index b2a2069166a..9b9b538b31f 100644 --- a/dbms/src/Storages/StorageMaterializedView.h +++ b/dbms/src/Storages/StorageMaterializedView.h @@ -33,6 +33,7 @@ public: void drop() override; bool optimize(const ASTPtr & query, const ASTPtr & partition, bool final, bool deduplicate, const Context & context) override; void shutdown() override; + bool checkTableCanBeDropped() const override; BlockInputStreams read( const Names & column_names,