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

feat(RGData,StringStore): add counting allocator capabilities to those ctors used in BPP::execute()

This commit is contained in:
drrtuy
2024-11-30 18:51:29 +00:00
parent 51374aef4d
commit 5383e7c5a2
14 changed files with 305 additions and 132 deletions

View File

@ -188,7 +188,7 @@ class BatchPrimitiveProcessor
void initProcessor();
#ifdef PRIMPROC_STOPWATCH
void execute(logging::StopWatch* stopwatch);
void execute(logging::StopWatch* stopwatch, messageqcpp::SBS& bs);
#else
void execute(messageqcpp::SBS& bs);
#endif
@ -379,14 +379,15 @@ class BatchPrimitiveProcessor
inline void getJoinResults(const rowgroup::Row& r, uint32_t jIndex, std::vector<uint32_t>& v);
// these allocators hold the memory for the keys stored in tlJoiners
std::shared_ptr<utils::PoolAllocator[]> storedKeyAllocators;
// WIP This was a shared vec of allocators originally but it might not be necessary.
// This might give far memory allocations for keys used by JOIN hashmap.
std::vector<utils::PoolAllocator> storedKeyAllocators;
/* PM Aggregation */
rowgroup::RowGroup joinedRG; // if there's a join, the rows are formatted with this
rowgroup::SP_ROWAGG_PM_t fAggregator;
rowgroup::RowGroup fAggregateRG;
rowgroup::RGData fAggRowGroupData;
// boost::scoped_array<uint8_t> fAggRowGroupData;
/* OR hacks */
uint8_t bop; // BOP_AND or BOP_OR