You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
MCOL-4530: toCppCode() method for ParseTree and TreeNode (#2777)
* toCppCode for ParseTree and TreeNode * generated tree is compiling * Put tree constructors into tests * Minor fixes * Fixed parse + some constructors * Fixed includes, removed debug and old data * Hopefully fix clang errors * Forgot an override * More overrides
This commit is contained in:
@@ -59,6 +59,12 @@ RowColumn::RowColumn(const uint32_t sessionID) : ReturnedColumn(sessionID)
|
||||
{
|
||||
}
|
||||
|
||||
// For code geneartion purposes
|
||||
RowColumn::RowColumn(const std::vector<SRCP>& columnVec, const uint32_t sessionID)
|
||||
: ReturnedColumn(sessionID), fColumnVec(columnVec)
|
||||
{
|
||||
}
|
||||
|
||||
RowColumn::RowColumn(const RowColumn& rhs, const uint32_t sessionID) : ReturnedColumn(rhs, sessionID)
|
||||
{
|
||||
fColumnVec.clear();
|
||||
@@ -190,4 +196,20 @@ const string SubSelect::toString() const
|
||||
return string(">SubSelect<");
|
||||
}
|
||||
|
||||
string RowColumn::toCppCode(IncludeSet& includes) const
|
||||
{
|
||||
includes.insert("rowcloumn.h");
|
||||
stringstream ss;
|
||||
|
||||
ss << "RowColumn(std::vector<SRCP>{";
|
||||
if (!fColumnVec.empty())
|
||||
{
|
||||
for (size_t i = 0; i < fColumnVec.size() - 1; i++)
|
||||
ss << "boost::shared_ptr<ReturnedColumn>(new " << fColumnVec.at(i)->toCppCode(includes) << "), ";
|
||||
ss << "boost::shared_ptr<ReturnedColumn>(new " << fColumnVec.back()->toCppCode(includes) << ")";
|
||||
}
|
||||
ss << "})";
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
} // namespace execplan
|
||||
|
Reference in New Issue
Block a user