From f1197e4d276e4fcfa16e3bfb01051c2e86940ef7 Mon Sep 17 00:00:00 2001 From: Richard Guo Date: Fri, 23 Sep 2022 21:13:15 +0800 Subject: [PATCH v1] constant folding for indexquals in bitmap scan --- src/backend/optimizer/plan/createplan.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index ab4d8e201d..b201409969 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -3244,6 +3244,12 @@ create_bitmap_scan_plan(PlannerInfo *root, RestrictInfo *rinfo = lfirst_node(RestrictInfo, l); Node *clause = (Node *) rinfo->clause; + /* + * Do constant folding for indexquals before checking for duplicate + * clauses. + */ + indexquals = (List *) eval_const_expressions(root, (Node *) indexquals); + if (rinfo->pseudoconstant) continue; /* we may drop pseudoconstants here */ if (list_member(indexquals, clause)) -- 2.31.0