From 41f12b064895bb6cfd6c374f73dbe9141903b3ce Mon Sep 17 00:00:00 2001 From: Tender Wang Date: Thu, 3 Jul 2025 09:56:02 +0800 Subject: [PATCH] If we have a single hashclause, list_copy(hashclauses) is unnecessary. This adjustment can save the overhead of function calls and memory operation. --- src/backend/utils/adt/selfuncs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index ce6a626eba28..b57e72625967 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -3798,7 +3798,7 @@ estimate_multivariate_bucketsize(PlannerInfo *root, RelOptInfo *inner, List *hashclauses, Selectivity *innerbucketsize) { - List *clauses = list_copy(hashclauses); + List *clauses; List *otherclauses = NIL; double ndistinct = 1.0; @@ -3810,6 +3810,7 @@ estimate_multivariate_bucketsize(PlannerInfo *root, RelOptInfo *inner, */ return hashclauses; + clauses = list_copy(hashclauses); while (clauses != NIL) { ListCell *lc;