You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
feat(TNS): change ORDER BY out-of-memory error message. Replaced bad_alloc with IDBExcept in TNS.
This commit is contained in:
@ -574,6 +574,13 @@ void TupleAnnexStep::executeNoOrderByWithDistinct()
|
|||||||
dataVec.pop_back();
|
dataVec.pop_back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (const std::bad_alloc&)
|
||||||
|
{
|
||||||
|
auto errorCode = ERR_TNS_DISTINCT_IS_TOO_BIG;
|
||||||
|
auto newException = IDBExcept(errorCode);
|
||||||
|
handleException(std::make_exception_ptr(newException), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
|
"TupleAnnexStep::executeNoOrderByWithDistinct()");
|
||||||
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
@ -676,6 +683,13 @@ void TupleAnnexStep::executeWithOrderBy()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (const std::bad_alloc&)
|
||||||
|
{
|
||||||
|
auto errorCode = fOrderBy->getErrorCode();
|
||||||
|
auto newException = IDBExcept(errorCode);
|
||||||
|
handleException(std::make_exception_ptr(newException), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
|
"TupleAnnexStep::executeWithOrderBy()");
|
||||||
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
@ -747,6 +761,13 @@ void TupleAnnexStep::finalizeParallelOrderByDistinct()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (const std::bad_alloc&)
|
||||||
|
{
|
||||||
|
auto errorCode = fOrderBy->getErrorCode();
|
||||||
|
auto newException = IDBExcept(errorCode);
|
||||||
|
handleException(std::make_exception_ptr(newException), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
|
"TupleAnnexStep::finalizeParallelOrderByDistinct()");
|
||||||
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
@ -939,6 +960,13 @@ void TupleAnnexStep::finalizeParallelOrderBy()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (const std::bad_alloc&)
|
||||||
|
{
|
||||||
|
auto errorCode = fOrderBy->getErrorCode();
|
||||||
|
auto newException = IDBExcept(errorCode);
|
||||||
|
handleException(std::make_exception_ptr(newException), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
|
"TupleAnnexStep::finalizeParallelOrderBy()");
|
||||||
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
@ -1147,6 +1175,13 @@ void TupleAnnexStep::executeParallelOrderBy(uint64_t id)
|
|||||||
dlOffset++;
|
dlOffset++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (const std::bad_alloc&)
|
||||||
|
{
|
||||||
|
auto errorCode = fOrderBy->getErrorCode();
|
||||||
|
auto newException = IDBExcept(errorCode);
|
||||||
|
handleException(std::make_exception_ptr(newException), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
|
"TupleAnnexStep::executeParallelOrderBy()");
|
||||||
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
handleException(std::current_exception(), logging::ERR_IN_PROCESS, logging::ERR_ALWAYS_CRITICAL,
|
||||||
|
@ -432,6 +432,11 @@ class IdbOrderBy : public IdbCompare
|
|||||||
{
|
{
|
||||||
return *fOrderByQueue;
|
return *fOrderByQueue;
|
||||||
}
|
}
|
||||||
|
uint64_t getErrorCode() const
|
||||||
|
{
|
||||||
|
return fErrorCode;
|
||||||
|
}
|
||||||
|
|
||||||
void returnAllRGDataMemory2RM()
|
void returnAllRGDataMemory2RM()
|
||||||
{
|
{
|
||||||
while (!fOrderByQueue->empty())
|
while (!fOrderByQueue->empty())
|
||||||
|
Reference in New Issue
Block a user