mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
Set exception for promise
This commit is contained in:
parent
ddf8ffb51c
commit
a691dea6cf
@ -8,7 +8,6 @@
|
||||
#include <Storages/IStorage.h>
|
||||
|
||||
#include <Common/logger_useful.h>
|
||||
#include <iomanip>
|
||||
|
||||
|
||||
namespace DB
|
||||
@ -39,16 +38,35 @@ CreatingSetsTransform::CreatingSetsTransform(
|
||||
|
||||
void CreatingSetsTransform::work()
|
||||
{
|
||||
if (!is_initialized)
|
||||
init();
|
||||
|
||||
if (done_with_set && done_with_table)
|
||||
try
|
||||
{
|
||||
finishConsume();
|
||||
input.close();
|
||||
}
|
||||
if (!is_initialized)
|
||||
init();
|
||||
|
||||
IAccumulatingTransform::work();
|
||||
if (done_with_set && done_with_table)
|
||||
{
|
||||
finishConsume();
|
||||
input.close();
|
||||
}
|
||||
|
||||
IAccumulatingTransform::work();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
if (promise_to_build)
|
||||
{
|
||||
/// set_exception can also throw
|
||||
try
|
||||
{
|
||||
promise_to_build->set_exception(std::current_exception());
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
tryLogCurrentException(log, "Failed to set_exception for promise");
|
||||
}
|
||||
}
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
void CreatingSetsTransform::startSubquery()
|
||||
|
Loading…
Reference in New Issue
Block a user