From c0b5f847d97cf0826036a61c1fc154060e4afd50 Mon Sep 17 00:00:00 2001 From: feng lv Date: Tue, 22 Sep 2020 17:29:57 +0800 Subject: [PATCH] add test fix fix --- src/Storages/StorageMemory.cpp | 12 +++++------ ...ation_support_for_storage_memory.reference | 14 +++++++++++++ ...97_mutation_support_for_storage_memory.sql | 20 +++++++++++++++++++ 3 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 tests/queries/0_stateless/01497_mutation_support_for_storage_memory.reference create mode 100644 tests/queries/0_stateless/01497_mutation_support_for_storage_memory.sql diff --git a/src/Storages/StorageMemory.cpp b/src/Storages/StorageMemory.cpp index 9686fbe3062..72b8fd78d65 100644 --- a/src/Storages/StorageMemory.cpp +++ b/src/Storages/StorageMemory.cpp @@ -216,22 +216,22 @@ static inline void columnUpdate(Block & old_block, const Block & new_block) void StorageMemory::mutate(const MutationCommands & commands, const Context & context) { - auto metadata_snapshot_ = getInMemoryMetadataPtr(); - auto storage_id_ = getStorageID(); - auto storage_ptr_ = DatabaseCatalog::instance().getTable(storage_id_, context); - auto interpreter = std::make_unique(storage_ptr_, metadata_snapshot_, commands, context, true); + auto metadata_snapshot = getInMemoryMetadataPtr(); + auto storage = getStorageID(); + auto storage_ptr = DatabaseCatalog::instance().getTable(storage, context); + auto interpreter = std::make_unique(storage_ptr, metadata_snapshot, commands, context, true); auto in = interpreter->execute(); in->readPrefix(); BlocksList out; Block block; - while (block = in->read()) + while ((block = in->read())) { out.push_back(block); } in->readSuffix(); - std::lock_guard lock(mutex); + std::lock_guard lock(mutex); // all column affected if (interpreter->isAffectingAllColumns()) diff --git a/tests/queries/0_stateless/01497_mutation_support_for_storage_memory.reference b/tests/queries/0_stateless/01497_mutation_support_for_storage_memory.reference new file mode 100644 index 00000000000..5aaf21f9137 --- /dev/null +++ b/tests/queries/0_stateless/01497_mutation_support_for_storage_memory.reference @@ -0,0 +1,14 @@ +1 1 +2 2 +3 3 +4 4 +5 5 +100 1 +2 2 +3 3 +4 4 +5 5 +2 2 +3 3 +4 4 +5 5 diff --git a/tests/queries/0_stateless/01497_mutation_support_for_storage_memory.sql b/tests/queries/0_stateless/01497_mutation_support_for_storage_memory.sql new file mode 100644 index 00000000000..408487ed205 --- /dev/null +++ b/tests/queries/0_stateless/01497_mutation_support_for_storage_memory.sql @@ -0,0 +1,20 @@ +DROP TABLE IF EXISTS defaults; +CREATE TABLE defaults +( + n Int32, + s String +)ENGINE = Memory(); + +INSERT INTO defaults VALUES(1, '1') (2, '2') (3, '3') (4, '4') (5, '5'); + +SELECT * FROM defaults; + +ALTER TABLE defaults UPDATE n = 100 WHERE s = '1'; + +SELECT * FROM defaults; + +ALTER TABLE defaults DELETE WHERE n = 100; + +SELECT * FROM defaults; + +DROP TABLE defaults;