From: Tomas Vondra Date: Wed, 17 Jul 2019 16:13:39 +0000 (+0200) Subject: Remove unnecessary TYPECACHE_GT_OPR lookup X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4303a078c661ebafe8c8c2167b2ad9bf16b32ce;p=postgresql Remove unnecessary TYPECACHE_GT_OPR lookup The TYPECACHE_GT_OPR is not needed (it used to be in older version of the MCV code), but the compiler failed to detect this as the result was used in a fmgr_info() call, populating a FmgrInfo entry. Backpatch to v12, where this code was introduced. Discussion: https://postgr.es/m/8736jdhbhc.fsf%40ansel.ydns.eu Backpatch-to: 12 --- diff --git a/src/backend/statistics/mcv.c b/src/backend/statistics/mcv.c index 913a72ff67..e62421dfa8 100644 --- a/src/backend/statistics/mcv.c +++ b/src/backend/statistics/mcv.c @@ -1577,8 +1577,6 @@ mcv_get_match_bitmap(PlannerInfo *root, List *clauses, if (ok) { - TypeCacheEntry *typecache; - FmgrInfo gtproc; Var *var; Const *cst; bool isgt; @@ -1596,10 +1594,6 @@ mcv_get_match_bitmap(PlannerInfo *root, List *clauses, /* match the attribute to a dimension of the statistic */ idx = bms_member_index(keys, var->varattno); - /* get information about the >= procedure */ - typecache = lookup_type_cache(var->vartype, TYPECACHE_GT_OPR); - fmgr_info(get_opcode(typecache->gt_opr), >proc); - /* * Walk through the MCV items and evaluate the current clause. * We can skip items that were already ruled out, and