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

MCOL-5477 Disk join step improvement.

This patch:
1. Handles corner case when the bucket exceeded the memory limit, but we cannot redistribute the data in this bucket into new buckets based on a hash algorithm, because the rows have the same values.
2. Adds force option for disk join step.
3. Add a option to contol the depth of the partition tree.
This commit is contained in:
Denis Khalikov
2023-05-15 16:44:06 +03:00
parent 375d162376
commit 1f190a6e75
13 changed files with 309 additions and 165 deletions

View File

@ -688,6 +688,24 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
return fDJSPartitionSize;
}
void djsMaxPartitionTreeDepth(uint32_t value)
{
fDJSMaxPartitionTreeDepth = value;
}
uint64_t djsMaxPartitionTreeDepth()
{
return fDJSMaxPartitionTreeDepth;
}
void djsForceRun(bool b)
{
fDJSForceRun = b;
}
bool djsForceRun()
{
return fDJSForceRun;
}
void umMemLimit(uint64_t l)
{
fUMMemLimit = l;
@ -920,6 +938,8 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
uint64_t fDJSSmallSideLimit = 0;
uint64_t fDJSLargeSideLimit = 0;
uint64_t fDJSPartitionSize = 100 * 1024 * 1024;
uint32_t fDJSMaxPartitionTreeDepth = 8;
bool fDJSForceRun = false;
int64_t fUMMemLimit = numeric_limits<int64_t>::max();
bool fIsDML = false;
long fTimeZone = 0;