v0-0001-Make-the-plan-cache-forced-modes-more-flexible.patch
text/plain
Filename: v0-0001-Make-the-plan-cache-forced-modes-more-flexible.patch
Type: text/plain
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v0-0001
Subject: Make the plan cache forced modes more flexible.
| File | + | − |
|---|---|---|
| src/backend/utils/cache/plancache.c | 6 | 6 |
From 7dd2140fdbdd842f454ac631ca15ec80a2ea1cab Mon Sep 17 00:00:00 2001 From: "Andrei V. Lepikhov" <lepihov@gmail.com> Date: Mon, 14 Jul 2025 16:25:59 +0200 Subject: [PATCH v0] Make the plan cache forced modes more flexible. --- src/backend/utils/cache/plancache.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c index 89a1c79e984..5b357299683 100644 --- a/src/backend/utils/cache/plancache.c +++ b/src/backend/utils/cache/plancache.c @@ -1170,18 +1170,18 @@ choose_custom_plan(CachedPlanSource *plansource, ParamListInfo boundParams) if (!StmtPlanRequiresRevalidation(plansource)) return false; - /* Let settings force the decision */ - if (plan_cache_mode == PLAN_CACHE_MODE_FORCE_GENERIC_PLAN) - return false; - if (plan_cache_mode == PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN) - return true; - /* See if caller wants to force the decision */ if (plansource->cursor_options & CURSOR_OPT_GENERIC_PLAN) return false; if (plansource->cursor_options & CURSOR_OPT_CUSTOM_PLAN) return true; + /* Let settings force the decision */ + if (plan_cache_mode == PLAN_CACHE_MODE_FORCE_GENERIC_PLAN) + return false; + if (plan_cache_mode == PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN) + return true; + /* Generate custom plans until we have done at least 5 (arbitrary) */ if (plansource->num_custom_plans < 5) return true; -- 2.50.1