You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
Merge pull request #808 from mariadb-corporation/develop-merge-up-20190729
Merge develop-1.2 into develop
This commit is contained in:
@@ -118,7 +118,10 @@ string Func_timediff::getStrVal(rowgroup::Row& row,
|
||||
|
||||
case execplan::CalpontSystemCatalog::TIME:
|
||||
case execplan::CalpontSystemCatalog::DATETIME:
|
||||
if (type1 != type2)
|
||||
// Diff between time and datetime returns NULL in MariaDB
|
||||
if ((type2 == execplan::CalpontSystemCatalog::TIME ||
|
||||
type2 == execplan::CalpontSystemCatalog::DATETIME) &&
|
||||
type1 != type2)
|
||||
{
|
||||
isNull = true;
|
||||
break;
|
||||
|
@@ -1771,7 +1771,8 @@ inline void copyRow(const Row& in, Row* out, uint32_t colCount)
|
||||
{
|
||||
if (UNLIKELY(in.getColTypes()[i] == execplan::CalpontSystemCatalog::VARBINARY ||
|
||||
in.getColTypes()[i] == execplan::CalpontSystemCatalog::BLOB ||
|
||||
in.getColTypes()[i] == execplan::CalpontSystemCatalog::TEXT))
|
||||
in.getColTypes()[i] == execplan::CalpontSystemCatalog::TEXT ||
|
||||
in.getColTypes()[i] == execplan::CalpontSystemCatalog::CLOB))
|
||||
out->setVarBinaryField(in.getVarBinaryStringField(i), i);
|
||||
else if (UNLIKELY(in.isLongString(i)))
|
||||
//out->setStringField(in.getStringField(i), i);
|
||||
|
@@ -409,6 +409,24 @@ void ThreadPool::beginThread() throw()
|
||||
--fIssued;
|
||||
--waitingFunctorsSize;
|
||||
fWaitingFunctors.erase(todo);
|
||||
if (fDebug)
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "Ending thread " << " on " << fName
|
||||
<< " max " << fMaxThreads
|
||||
<< " queue " << fQueueSize
|
||||
<< " threads " << fThreadCount
|
||||
<< " running " << fIssued
|
||||
<< " waiting " << (waitingFunctorsSize - fIssued)
|
||||
<< " total " << waitingFunctorsSize;
|
||||
logging::Message::Args args;
|
||||
logging::Message message(0);
|
||||
args.add(oss.str());
|
||||
message.format( args );
|
||||
logging::LoggingID lid(22);
|
||||
logging::MessageLog ml(lid);
|
||||
ml.logWarningMessage( message );
|
||||
}
|
||||
}
|
||||
|
||||
timeout = boost::get_system_time() + boost::posix_time::minutes(10);
|
||||
@@ -536,6 +554,8 @@ void ThreadPoolMonitor::operator()()
|
||||
<< setw(4) << tv.tv_usec / 100
|
||||
<< " Name " << fPool->fName
|
||||
<< " Active " << fPool->waitingFunctorsSize
|
||||
<< " running " << fPool->fIssued
|
||||
<< " waiting " << (fPool->waitingFunctorsSize - fPool->fIssued)
|
||||
<< " ThdCnt " << fPool->fThreadCount
|
||||
<< " Max " << fPool->fMaxThreads
|
||||
<< " Q " << fPool->fQueueSize
|
||||
|
Reference in New Issue
Block a user