mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 09:10:48 +00:00
Revert "Attempt to fix suboptimal performance when running query with ORDER BY and without GROUP BY to distributed table with very many remote servers [#METR-21408]."
This reverts commit bd47aaeefe38a1c55ed5a225cbda49db0f8ce1dc.
This commit is contained in:
parent
b7a05d0608
commit
aae7269dd0
@ -36,8 +36,9 @@ public:
|
|||||||
return res.str();
|
return res.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
void readPrefixImpl() override
|
void readPrefix() override
|
||||||
{
|
{
|
||||||
|
children.back()->readPrefix();
|
||||||
next();
|
next();
|
||||||
started = true;
|
started = true;
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,6 @@ class IProfilingBlockInputStream : public IBlockInputStream
|
|||||||
public:
|
public:
|
||||||
Block read() override final;
|
Block read() override final;
|
||||||
|
|
||||||
/** Реализация по-умолчанию вызывает readPrefix() у всех детей рекурсивно, а затем readPrefixImpl() у себя.
|
|
||||||
*/
|
|
||||||
void readPrefix() override;
|
|
||||||
|
|
||||||
/** Реализация по-умолчанию вызывает рекурсивно readSuffix() у всех детей, а затем readSuffixImpl() у себя.
|
/** Реализация по-умолчанию вызывает рекурсивно readSuffix() у всех детей, а затем readSuffixImpl() у себя.
|
||||||
* Если этот поток вызывает у детей read() в отдельном потоке, этот поведение обычно неверно:
|
* Если этот поток вызывает у детей read() в отдельном потоке, этот поведение обычно неверно:
|
||||||
* readSuffix() у ребенка нельзя вызывать в момент, когда read() того же ребенка выполняется в другом потоке.
|
* readSuffix() у ребенка нельзя вызывать в момент, когда read() того же ребенка выполняется в другом потоке.
|
||||||
@ -186,9 +182,6 @@ protected:
|
|||||||
/// Наследники должны реализовать эту функцию.
|
/// Наследники должны реализовать эту функцию.
|
||||||
virtual Block readImpl() = 0;
|
virtual Block readImpl() = 0;
|
||||||
|
|
||||||
/// Здесь можно делать предварительную инициализацию.
|
|
||||||
virtual void readPrefixImpl() {}
|
|
||||||
|
|
||||||
/// Здесь необходимо делать финализацию, которая может привести к исключению.
|
/// Здесь необходимо делать финализацию, которая может привести к исключению.
|
||||||
virtual void readSuffixImpl() {}
|
virtual void readSuffixImpl() {}
|
||||||
|
|
||||||
|
@ -123,7 +123,6 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
Block readImpl() override;
|
Block readImpl() override;
|
||||||
|
|
||||||
void readSuffixImpl() override;
|
void readSuffixImpl() override;
|
||||||
|
|
||||||
/// Инициализирует очередь и следующий блок результата.
|
/// Инициализирует очередь и следующий блок результата.
|
||||||
|
@ -96,15 +96,6 @@ Block IProfilingBlockInputStream::read()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void IProfilingBlockInputStream::readPrefix()
|
|
||||||
{
|
|
||||||
for (auto & child : children)
|
|
||||||
child->readPrefix();
|
|
||||||
|
|
||||||
readPrefixImpl();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void IProfilingBlockInputStream::readSuffix()
|
void IProfilingBlockInputStream::readSuffix()
|
||||||
{
|
{
|
||||||
for (auto & child : children)
|
for (auto & child : children)
|
||||||
|
Loading…
Reference in New Issue
Block a user