1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

feat(PrimProc): MCOL-5852 disk-based GROUP_CONCAT & JSON_ARRAYAGG

* move GROUP_CONCAT/JSON_ARRAYAGG storage to the RowGroup from
  the RowAggregation*
* internal data structures (de)serialization
* get rid of a specialized classes for processing JSON_ARRAYAGG
* move the memory accounting to disk-based aggregation classes
* allow aggregation generations to be used for queries with
  GROUP_CONCAT/JSON_ARRAYAGG
* Remove the thread id from the error message as it interferes with the mtr
This commit is contained in:
Aleksei Antipovskii
2025-02-19 12:32:51 +01:00
committed by Alexey Antipovsky
parent 87d47fd7ae
commit 4bea7e59a0
25 changed files with 1339 additions and 2056 deletions

View File

@ -50,16 +50,16 @@ class GroupConcatColumn : public AggregateColumn
/**
* Constructors
*/
GroupConcatColumn();
explicit GroupConcatColumn(bool isJsonArrayAgg = false);
explicit GroupConcatColumn(const uint32_t sessionID);
explicit GroupConcatColumn(const uint32_t sessionID, bool isJsonArrayAgg = false);
GroupConcatColumn(const GroupConcatColumn& rhs, const uint32_t sessionID = 0);
/**
* Destructors
*/
~GroupConcatColumn() override;
~GroupConcatColumn() override = default;
/**
* Overloaded stream operator
@ -140,6 +140,7 @@ class GroupConcatColumn : public AggregateColumn
private:
std::vector<SRCP> fOrderCols;
std::string fSeparator;
bool fIsJsonArrayAgg{false};
};
/**