From b7d35d393edbe2d4333dde81496e8a362abc85bd Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 23 Apr 2024 12:55:26 -0400 Subject: [PATCH] Remove some unnecessary fields from executor nodes. JsonExprState.input_finfo is only assigned to, never read, and it's really fairly useless since the value can be gotten out of the adjacent input_fcinfo field. Let's remove it before someone starts to depend on it. While here, also remove TidScanState.tss_htup and AggState.combinedproj, which are referenced nowhere. Those should have been removed by the commits that caused them to become disused, but were not. I don't think a catversion bump is necessary here, since plan trees are never stored on disk. Matthias van de Meent Discussion: https://postgr.es/m/CAEze2WjsY4d0TBymLNGK4zpttUcg_YZaTjyWz2VfDUV6YH8wXQ@mail.gmail.com --- src/backend/executor/execExpr.c | 1 - src/include/nodes/execnodes.h | 4 ---- 2 files changed, 5 deletions(-) diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c index eb5ac20824..b9ebc827a7 100644 --- a/src/backend/executor/execExpr.c +++ b/src/backend/executor/execExpr.c @@ -4393,7 +4393,6 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, fcinfo->args[2].isnull = false; fcinfo->context = (Node *) escontext; - jsestate->input_finfo = finfo; jsestate->input_fcinfo = fcinfo; } diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index c1a65bad2a..d927ac44a8 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -1070,7 +1070,6 @@ typedef struct JsonExprState * RETURNING type input function invocation info when * JsonExpr.use_io_coercion is true. */ - FmgrInfo *input_finfo; FunctionCallInfo input_fcinfo; /* @@ -1835,7 +1834,6 @@ typedef struct BitmapHeapScanState * NumTids number of tids in this scan * TidPtr index of currently fetched tid * TidList evaluated item pointers (array of size NumTids) - * htup currently-fetched tuple, if any * ---------------- */ typedef struct TidScanState @@ -1846,7 +1844,6 @@ typedef struct TidScanState int tss_NumTids; int tss_TidPtr; ItemPointerData *tss_TidList; - HeapTupleData tss_htup; } TidScanState; /* ---------------- @@ -2530,7 +2527,6 @@ typedef struct AggState #define FIELDNO_AGGSTATE_ALL_PERGROUPS 53 AggStatePerGroup *all_pergroups; /* array of first ->pergroups, than * ->hash_pergroup */ - ProjectionInfo *combinedproj; /* projection machinery */ SharedAggInfo *shared_info; /* one entry per worker */ } AggState;