You've already forked mariadb-columnstore-engine
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:
@ -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;
|
||||
|
Reference in New Issue
Block a user