diff options
Diffstat (limited to 'src/backend/optimizer/plan')
| -rw-r--r-- | src/backend/optimizer/plan/planner.c | 6 | ||||
| -rw-r--r-- | src/backend/optimizer/plan/subselect.c | 6 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 1868c4eff4..86816ffe19 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -3668,7 +3668,7 @@ consider_groupingsets_paths(PlannerInfo *root, double dNumGroups) { Query *parse = root->parse; - int hash_mem = get_hash_mem(); + Size hash_mem_limit = get_hash_memory_limit(); /* * If we're not being offered sorted input, then only consider plans that @@ -3734,7 +3734,7 @@ consider_groupingsets_paths(PlannerInfo *root, * with. Override hash_mem in that case; otherwise, we'll rely on the * sorted-input case to generate usable mixed paths. */ - if (hashsize > hash_mem * 1024L && gd->rollups) + if (hashsize > hash_mem_limit && gd->rollups) return; /* nope, won't fit */ /* @@ -3853,7 +3853,7 @@ consider_groupingsets_paths(PlannerInfo *root, { List *rollups = NIL; List *hash_sets = list_copy(gd->unsortable_sets); - double availspace = (hash_mem * 1024.0); + double availspace = hash_mem_limit; ListCell *lc; /* diff --git a/src/backend/optimizer/plan/subselect.c b/src/backend/optimizer/plan/subselect.c index b5a61f3933..c9f7a09d10 100644 --- a/src/backend/optimizer/plan/subselect.c +++ b/src/backend/optimizer/plan/subselect.c @@ -724,7 +724,6 @@ static bool subplan_is_hashable(Plan *plan) { double subquery_size; - int hash_mem = get_hash_mem(); /* * The estimated size of the subquery result must fit in hash_mem. (Note: @@ -734,7 +733,7 @@ subplan_is_hashable(Plan *plan) */ subquery_size = plan->plan_rows * (MAXALIGN(plan->plan_width) + MAXALIGN(SizeofHeapTupleHeader)); - if (subquery_size > hash_mem * 1024L) + if (subquery_size > get_hash_memory_limit()) return false; return true; @@ -749,7 +748,6 @@ static bool subpath_is_hashable(Path *path) { double subquery_size; - int hash_mem = get_hash_mem(); /* * The estimated size of the subquery result must fit in hash_mem. (Note: @@ -759,7 +757,7 @@ subpath_is_hashable(Path *path) */ subquery_size = path->rows * (MAXALIGN(path->pathtarget->width) + MAXALIGN(SizeofHeapTupleHeader)); - if (subquery_size > hash_mem * 1024L) + if (subquery_size > get_hash_memory_limit()) return false; return true; |
