mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
Add copyData() with std::atomic and progress callback
This commit is contained in:
parent
3a2e8fea68
commit
6b9534cad8
@ -49,6 +49,16 @@ void copyDataImpl(IBlockInputStream & from, IBlockOutputStream & to, TCancelCall
|
|||||||
to.writeSuffix();
|
to.writeSuffix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void copyData(IBlockInputStream & from, IBlockOutputStream & to, const std::function<void(const Block & block)> & progress,
|
||||||
|
std::atomic<bool> * is_cancelled)
|
||||||
|
{
|
||||||
|
auto is_cancelled_pred = [is_cancelled] ()
|
||||||
|
{
|
||||||
|
return isAtomicSet(is_cancelled);
|
||||||
|
};
|
||||||
|
|
||||||
|
copyDataImpl(from, to, is_cancelled_pred, progress);
|
||||||
|
}
|
||||||
|
|
||||||
inline void doNothing(const Block &) {}
|
inline void doNothing(const Block &) {}
|
||||||
|
|
||||||
|
@ -16,6 +16,9 @@ class Block;
|
|||||||
*/
|
*/
|
||||||
void copyData(IBlockInputStream & from, IBlockOutputStream & to, std::atomic<bool> * is_cancelled = nullptr);
|
void copyData(IBlockInputStream & from, IBlockOutputStream & to, std::atomic<bool> * is_cancelled = nullptr);
|
||||||
|
|
||||||
|
void copyData(IBlockInputStream & from, IBlockOutputStream & to, const std::function<void(const Block & block)> & progress,
|
||||||
|
std::atomic<bool> * is_cancelled = nullptr);
|
||||||
|
|
||||||
void copyData(IBlockInputStream & from, IBlockOutputStream & to, const std::function<bool()> & is_cancelled);
|
void copyData(IBlockInputStream & from, IBlockOutputStream & to, const std::function<bool()> & is_cancelled);
|
||||||
|
|
||||||
void copyData(IBlockInputStream & from, IBlockOutputStream & to, const std::function<bool()> & is_cancelled,
|
void copyData(IBlockInputStream & from, IBlockOutputStream & to, const std::function<bool()> & is_cancelled,
|
||||||
|
Loading…
Reference in New Issue
Block a user