diff --git a/dbms/include/DB/Storages/StorageReplicatedMergeTree.h b/dbms/include/DB/Storages/StorageReplicatedMergeTree.h index b2944827e7ad05bad0157fd7463416b8889a6188..9f9f83b4c1cfd408ab266782a6bbe36c72ef5b57 100644 --- a/dbms/include/DB/Storages/StorageReplicatedMergeTree.h +++ b/dbms/include/DB/Storages/StorageReplicatedMergeTree.h @@ -103,8 +103,6 @@ public: /// Добавить кусок в очередь кусков, чьи данные нужно проверить в фоновом потоке. void enqueuePartForCheck(const String & name); - void skipUnreplicated() { process_unreplicated = false; } - MergeTreeData & getData() { return data; } MergeTreeData * getUnreplicatedData() { return unreplicated_data.get(); } @@ -166,8 +164,6 @@ private: current_zookeeper = zookeeper; } - bool process_unreplicated = true; - /// Если true, таблица в офлайновом режиме, и в нее нельзя писать. bool is_readonly = false; diff --git a/dbms/src/Interpreters/InterpreterSelectQuery.cpp b/dbms/src/Interpreters/InterpreterSelectQuery.cpp index 90beac1638d85d57da3f870be37084a60f22a980..264d8aa4b409e7906dedae666d255177a42a02d5 100644 --- a/dbms/src/Interpreters/InterpreterSelectQuery.cpp +++ b/dbms/src/Interpreters/InterpreterSelectQuery.cpp @@ -25,7 +25,6 @@ #include #include -#include #include #include @@ -105,12 +104,6 @@ void InterpreterSelectQuery::basicInit(BlockInputStreamPtr input_, const NamesAn + " does not support parallel execution on several replicas", ErrorCodes::STORAGE_DOESNT_SUPPORT_PARALLEL_REPLICAS); - if (StorageReplicatedMergeTree * storage_replicated_merge_tree = typeid_cast(&*storage)) - { - if (settings.parallel_replica_offset > 0) - storage_replicated_merge_tree->skipUnreplicated(); - } - table_lock = storage->lockStructure(false); if (table_column_names.empty()) context.setColumns(storage->getColumnsListNonMaterialized()); diff --git a/dbms/src/Storages/StorageReplicatedMergeTree.cpp b/dbms/src/Storages/StorageReplicatedMergeTree.cpp index e14520cfc77b0c4ee1d8182a8b154af3917bedfa..c8484c491de96c4b3eb09eb21eaabec8ce1eaad5 100644 --- a/dbms/src/Storages/StorageReplicatedMergeTree.cpp +++ b/dbms/src/Storages/StorageReplicatedMergeTree.cpp @@ -2027,7 +2027,7 @@ BlockInputStreams StorageReplicatedMergeTree::read( size_t part_index = 0; - if (process_unreplicated && unreplicated_reader && values.count(0)) + if ((settings.parallel_replica_offset == 0) && unreplicated_reader && values.count(0)) { res = unreplicated_reader->read(real_column_names, query, context, settings, processed_stage, diff --git a/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.reference b/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.reference index efa2d8b20abee82fed8746d1a4237a75bdd27e56..f2c230b213c8d9ba23766ddbab0969c76e735083 100644 --- a/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.reference +++ b/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.reference @@ -3,48 +3,3 @@ 3 2015-03-01 3 foo 4 2015-04-01 4 bar 5 2015-05-01 5 foo -6 2015-06-01 6 bar -7 2015-07-01 7 foo -8 2015-08-01 8 bar -9 2015-09-01 9 foo -10 2015-10-01 10 bar -11 2015-11-01 1 foo -12 2015-12-01 2 bar -13 2015-01-01 3 foo -14 2015-02-01 4 bar -15 2015-03-01 5 foo -16 2015-04-01 6 bar -17 2015-05-01 7 foo -18 2015-06-01 8 bar -19 2015-07-01 9 foo -20 2015-08-01 10 bar -21 2015-09-01 1 foo -22 2015-10-01 2 bar -23 2015-11-01 3 foo -24 2015-12-01 4 bar -25 2015-01-01 5 foo -26 2015-02-01 6 bar -27 2015-03-01 7 foo -28 2015-04-01 8 bar -29 2015-05-01 9 foo -30 2015-06-01 10 bar -31 2015-07-01 1 foo -32 2015-08-01 2 bar -33 2015-09-01 3 foo -34 2015-10-01 4 bar -35 2015-11-01 5 foo -36 2015-12-01 6 bar -37 2015-01-01 7 foo -38 2015-02-01 8 bar -39 2015-03-01 9 foo -40 2015-04-01 10 bar -41 2015-05-01 1 foo -42 2015-06-01 2 bar -43 2015-07-01 3 foo -44 2015-08-01 4 bar -45 2015-09-01 5 foo -46 2015-10-01 6 bar -47 2015-11-01 7 foo -48 2015-12-01 8 bar -49 2015-01-01 9 foo -50 2015-02-01 10 bar diff --git a/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.sql b/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.sql index a97ce710c2e86b2e47d074b9087a3e432697e03d..489c46eb8f290b95d2356196a10231d445de2be6 100644 --- a/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.sql +++ b/dbms/tests/queries/0_stateless/00124_distributed_with_many_replicas.sql @@ -4,57 +4,7 @@ DROP TABLE IF EXISTS test.report; CREATE TABLE test.report(id UInt32, event_date Date, priority UInt32, description String) ENGINE = MergeTree(event_date, intHash32(id), (id, event_date, intHash32(id)), 8192); -INSERT INTO test.report(id,event_date,priority,description) VALUES(1, '2015-01-01', 1, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(2, '2015-02-01', 2, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(3, '2015-03-01', 3, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(4, '2015-04-01', 4, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(5, '2015-05-01', 5, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(6, '2015-06-01', 6, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(7, '2015-07-01', 7, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(8, '2015-08-01', 8, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(9, '2015-09-01', 9, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(10, '2015-10-01', 10, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(11, '2015-11-01', 1, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(12, '2015-12-01', 2, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(13, '2015-01-01', 3, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(14, '2015-02-01', 4, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(15, '2015-03-01', 5, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(16, '2015-04-01', 6, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(17, '2015-05-01', 7, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(18, '2015-06-01', 8, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(19, '2015-07-01', 9, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(20, '2015-08-01', 10, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(21, '2015-09-01', 1, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(22, '2015-10-01', 2, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(23, '2015-11-01', 3, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(24, '2015-12-01', 4, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(25, '2015-01-01', 5, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(26, '2015-02-01', 6, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(27, '2015-03-01', 7, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(28, '2015-04-01', 8, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(29, '2015-05-01', 9, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(30, '2015-06-01', 10, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(31, '2015-07-01', 1, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(32, '2015-08-01', 2, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(33, '2015-09-01', 3, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(34, '2015-10-01', 4, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(35, '2015-11-01', 5, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(36, '2015-12-01', 6, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(37, '2015-01-01', 7, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(38, '2015-02-01', 8, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(39, '2015-03-01', 9, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(40, '2015-04-01', 10, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(41, '2015-05-01', 1, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(42, '2015-06-01', 2, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(43, '2015-07-01', 3, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(44, '2015-08-01', 4, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(45, '2015-09-01', 5, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(46, '2015-10-01', 6, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(47, '2015-11-01', 7, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(48, '2015-12-01', 8, 'bar'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(49, '2015-01-01', 9, 'foo'); -INSERT INTO test.report(id,event_date,priority,description) VALUES(50, '2015-02-01', 10, 'bar'); - +INSERT INTO test.report(id,event_date,priority,description) VALUES (1, '2015-01-01', 1, 'foo')(2, '2015-02-01', 2, 'bar')(3, '2015-03-01', 3, 'foo')(4, '2015-04-01', 4, 'bar')(5, '2015-05-01', 5, 'foo'); SELECT * FROM (SELECT id, event_date, priority, description FROM remote('127.0.0.{1|2}', test, report)) ORDER BY id ASC; DROP TABLE test.report;