You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by od...@apache.org on 2016/03/31 02:24:21 UTC
[28/38] incubator-hawq git commit: HAWQ-580. Set analyze vseg number
for partition and no-partition table separately.
HAWQ-580. Set analyze vseg number for partition and no-partition table separately.
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/f9c59ab8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/f9c59ab8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/f9c59ab8
Branch: refs/heads/HAWQ-546
Commit: f9c59ab84df67bcd71f1a3498e2ee396f93c823d
Parents: db281d5
Author: hzhang2 <zh...@163.com>
Authored: Mon Mar 28 10:11:00 2016 +0800
Committer: Oleksandr Diachenko <od...@pivotal.io>
Committed: Wed Mar 30 17:23:32 2016 -0700
----------------------------------------------------------------------
src/backend/postmaster/identity.c | 6 ++++--
src/backend/utils/misc/guc.c | 16 +++++++++++++---
src/include/utils/guc.h | 3 ++-
3 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/f9c59ab8/src/backend/postmaster/identity.c
----------------------------------------------------------------------
diff --git a/src/backend/postmaster/identity.c b/src/backend/postmaster/identity.c
index a17958b..0418a3a 100644
--- a/src/backend/postmaster/identity.c
+++ b/src/backend/postmaster/identity.c
@@ -456,12 +456,14 @@ int GetAnalyzeVSegNumLimit(bool isPartitionTableExist)
{
int perSegLimit = isPartitionTableExist ? hawq_rm_nvseg_for_analyze_part_perquery_perseg_limit
: hawq_rm_nvseg_for_analyze_nopart_perquery_perseg_limit;
+ int perQueryLimit = isPartitionTableExist ? hawq_rm_nvseg_for_analyze_part_perquery_limit
+ : hawq_rm_nvseg_for_analyze_nopart_perquery_limit;
int nvseg = perSegLimit * slaveHostNumber;
- while(nvseg > hawq_rm_nvseg_for_analyze_perquery_limit){
+ while(nvseg > perQueryLimit){
nvseg -= slaveHostNumber;
}
if(nvseg <= 0){
- nvseg = hawq_rm_nvseg_for_analyze_perquery_limit;
+ nvseg = perQueryLimit;
}
return nvseg;
}
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/f9c59ab8/src/backend/utils/misc/guc.c
----------------------------------------------------------------------
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 9477dbc..851dfcb 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -737,7 +737,8 @@ int default_hash_table_bucket_number;
int hawq_rm_nvseg_for_copy_from_perquery;
int hawq_rm_nvseg_for_analyze_nopart_perquery_perseg_limit;
int hawq_rm_nvseg_for_analyze_part_perquery_perseg_limit;
-int hawq_rm_nvseg_for_analyze_perquery_limit;
+int hawq_rm_nvseg_for_analyze_nopart_perquery_limit;
+int hawq_rm_nvseg_for_analyze_part_perquery_limit;
double optimizer_cost_threshold;
double optimizer_nestloop_factor;
double locality_upper_bound;
@@ -4548,11 +4549,20 @@ static struct config_int ConfigureNamesInt[] =
},
{
- {"hawq_rm_nvseg_for_analyze_perquery_limit", PGC_USERSET, QUERY_TUNING_OTHER,
+ {"hawq_rm_nvseg_for_analyze_nopart_perquery_limit", PGC_USERSET, QUERY_TUNING_OTHER,
gettext_noop("Sets default virtual segment number per query limit for analyze statement"),
NULL
},
- &hawq_rm_nvseg_for_analyze_perquery_limit,
+ &hawq_rm_nvseg_for_analyze_nopart_perquery_limit,
+ 512, 1, 65535, NULL, NULL
+ },
+
+ {
+ {"hawq_rm_nvseg_for_analyze_part_perquery_limit", PGC_USERSET, QUERY_TUNING_OTHER,
+ gettext_noop("Sets default virtual segment number per query limit for analyze statement"),
+ NULL
+ },
+ &hawq_rm_nvseg_for_analyze_part_perquery_limit,
256, 1, 65535, NULL, NULL
},
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/f9c59ab8/src/include/utils/guc.h
----------------------------------------------------------------------
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index edab452..c70c491 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -312,7 +312,8 @@ extern int default_hash_table_bucket_number;
extern int hawq_rm_nvseg_for_copy_from_perquery;
extern int hawq_rm_nvseg_for_analyze_nopart_perquery_perseg_limit;
extern int hawq_rm_nvseg_for_analyze_part_perquery_perseg_limit;
-extern int hawq_rm_nvseg_for_analyze_perquery_limit;
+extern int hawq_rm_nvseg_for_analyze_nopart_perquery_limit;
+extern int hawq_rm_nvseg_for_analyze_part_perquery_limit;
extern char *ConfigFileName;
extern char *HbaFileName;