You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
Minor fixes
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
/* Copyright (C) 2022 MariaDB Corporation
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
/* Copyright (C) 2022 MariaDB Corporation
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,4 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
Copyright (C) 2019 MariaDB Corporation
|
||||
/* Copyright (C) 2022 MariaDB Corporation
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@ -64,15 +63,6 @@ using namespace nlohmann;
|
||||
namespace joblist
|
||||
{
|
||||
|
||||
// GroupConcatInfo class implementation
|
||||
JsonArrayInfo::JsonArrayInfo()
|
||||
{
|
||||
}
|
||||
|
||||
JsonArrayInfo::~JsonArrayInfo()
|
||||
{
|
||||
}
|
||||
|
||||
void JsonArrayInfo::prepJsonArray(JobInfo& jobInfo)
|
||||
{
|
||||
RetColsVector::iterator i = jobInfo.groupConcatCols.begin();
|
||||
@ -483,17 +473,16 @@ void JsonArrayAggregator::outputRow(std::ostringstream& oss, const rowgroup::Row
|
||||
case CalpontSystemCatalog::TEXT:
|
||||
{
|
||||
std::string maybeJson = row.getStringField(*i);
|
||||
try
|
||||
{
|
||||
[[maybe_unused]] json j = json::parse(maybeJson);
|
||||
oss << maybeJson.c_str();
|
||||
break;
|
||||
}
|
||||
catch (const json::parse_error& e)
|
||||
[[maybe_unused]] const auto j = json::parse(maybeJson, nullptr, false);
|
||||
if (j.is_discarded())
|
||||
{
|
||||
oss << std::quoted(maybeJson.c_str());
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
oss << maybeJson.c_str();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CalpontSystemCatalog::DOUBLE:
|
||||
@ -716,7 +705,7 @@ const string JsonArrayAggregator::toString() const
|
||||
}
|
||||
|
||||
|
||||
// GroupConcatOrderBy class implementation
|
||||
|
||||
JsonArrayAggOrderBy::JsonArrayAggOrderBy()
|
||||
{
|
||||
fRule.fIdbCompare = this;
|
||||
@ -941,7 +930,6 @@ const string JsonArrayAggOrderBy::toString() const
|
||||
}
|
||||
|
||||
|
||||
// GroupConcatNoOrder class implementation
|
||||
JsonArrayAggNoOrder::JsonArrayAggNoOrder()
|
||||
: fRowsPerRG(128), fErrorCode(ERR_AGGREGATION_TOO_BIG), fMemSize(0), fRm(NULL)
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
/* Copyright (C) 2022 MariaDB Corporation
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@ -37,37 +37,22 @@
|
||||
namespace joblist
|
||||
{
|
||||
// forward reference
|
||||
struct JobInfo;
|
||||
class JsonArrayAggregator;
|
||||
class ResourceManager;
|
||||
|
||||
|
||||
class JsonArrayInfo
|
||||
class JsonArrayInfo : public GroupConcatInfo
|
||||
{
|
||||
public:
|
||||
JsonArrayInfo();
|
||||
virtual ~JsonArrayInfo();
|
||||
|
||||
void prepJsonArray(JobInfo&);
|
||||
void mapColumns(const rowgroup::RowGroup&);
|
||||
|
||||
std::set<uint32_t>& columns()
|
||||
{
|
||||
return fColumns;
|
||||
}
|
||||
std::vector<rowgroup::SP_GroupConcat>& groupConcat()
|
||||
{
|
||||
return fGroupConcat;
|
||||
}
|
||||
|
||||
const std::string toString() const;
|
||||
|
||||
protected:
|
||||
uint32_t getColumnKey(const execplan::SRCP& srcp, JobInfo& jobInfo);
|
||||
boost::shared_array<int> makeMapping(const rowgroup::RowGroup&, const rowgroup::RowGroup&);
|
||||
|
||||
std::set<uint32_t> fColumns;
|
||||
std::vector<rowgroup::SP_GroupConcat> fGroupConcat;
|
||||
};
|
||||
|
||||
|
||||
@ -81,23 +66,12 @@ class JsonArrayAggregatAgUM : public GroupConcatAgUM
|
||||
void initialize();
|
||||
void processRow(const rowgroup::Row&);
|
||||
EXPORT void merge(const rowgroup::Row&, int64_t);
|
||||
/*boost::scoped_ptr<JsonArrayAggregator>& concator()
|
||||
{
|
||||
return fConcator;
|
||||
}
|
||||
*/
|
||||
|
||||
EXPORT void getResult(uint8_t*);
|
||||
EXPORT uint8_t* getResult();
|
||||
|
||||
protected:
|
||||
void applyMapping(const boost::shared_array<int>&, const rowgroup::Row&);
|
||||
|
||||
/*
|
||||
boost::scoped_ptr<JsonArrayAggregator> fConcator;
|
||||
boost::scoped_array<uint8_t> fData;
|
||||
rowgroup::Row fRow;
|
||||
bool fNoOrder;
|
||||
*/
|
||||
};
|
||||
|
||||
// JSON_ARRAYAGG base
|
||||
|
@ -4023,7 +4023,6 @@ void RowAggregationUM::setGroupConcatString()
|
||||
joblist::JsonArrayAggregatAgUM* gccAg = *((joblist::JsonArrayAggregatAgUM**)buff);
|
||||
gcString = gccAg->getResult();
|
||||
fRow.setStringField((char*)gcString, fFunctionCols[j]->fOutputColumnIndex);
|
||||
// gccAg->getResult(buff);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user