@@ -2779,12 +2779,7 @@ static void
27792779ExecInitCoerceToDomain (ExprEvalStep * scratch , CoerceToDomain * ctest ,
27802780 ExprState * state , Datum * resv , bool * resnull )
27812781{
2782- ExprEvalStep scratch2 = {0 };
27832782 DomainConstraintRef * constraint_ref ;
2784- Datum * domainval = NULL ;
2785- bool * domainnull = NULL ;
2786- Datum * save_innermost_domainval ;
2787- bool * save_innermost_domainnull ;
27882783 ListCell * l ;
27892784
27902785 scratch -> d .domaincheck .resulttype = ctest -> resulttype ;
@@ -2831,6 +2826,10 @@ ExecInitCoerceToDomain(ExprEvalStep *scratch, CoerceToDomain *ctest,
28312826 foreach (l , constraint_ref -> constraints )
28322827 {
28332828 DomainConstraintState * con = (DomainConstraintState * ) lfirst (l );
2829+ Datum * domainval = NULL ;
2830+ bool * domainnull = NULL ;
2831+ Datum * save_innermost_domainval ;
2832+ bool * save_innermost_domainnull ;
28342833
28352834 scratch -> d .domaincheck .constraintname = con -> name ;
28362835
@@ -2862,6 +2861,8 @@ ExecInitCoerceToDomain(ExprEvalStep *scratch, CoerceToDomain *ctest,
28622861 */
28632862 if (get_typlen (ctest -> resulttype ) == -1 )
28642863 {
2864+ ExprEvalStep scratch2 = {0 };
2865+
28652866 /* Yes, so make output workspace for MAKE_READONLY */
28662867 domainval = (Datum * ) palloc (sizeof (Datum ));
28672868 domainnull = (bool * ) palloc (sizeof (bool ));
@@ -2932,8 +2933,6 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
29322933 ExprState * state = makeNode (ExprState );
29332934 PlanState * parent = & aggstate -> ss .ps ;
29342935 ExprEvalStep scratch = {0 };
2935- int transno = 0 ;
2936- int setoff = 0 ;
29372936 bool isCombine = DO_AGGSPLIT_COMBINE (aggstate -> aggsplit );
29382937 LastAttnumInfo deform = {0 , 0 , 0 };
29392938
@@ -2947,7 +2946,7 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
29472946 * First figure out which slots, and how many columns from each, we're
29482947 * going to need.
29492948 */
2950- for (transno = 0 ; transno < aggstate -> numtrans ; transno ++ )
2949+ for (int transno = 0 ; transno < aggstate -> numtrans ; transno ++ )
29512950 {
29522951 AggStatePerTrans pertrans = & aggstate -> pertrans [transno ];
29532952
@@ -2967,17 +2966,15 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
29672966 /*
29682967 * Emit instructions for each transition value / grouping set combination.
29692968 */
2970- for (transno = 0 ; transno < aggstate -> numtrans ; transno ++ )
2969+ for (int transno = 0 ; transno < aggstate -> numtrans ; transno ++ )
29712970 {
29722971 AggStatePerTrans pertrans = & aggstate -> pertrans [transno ];
2973- int argno ;
2974- int setno ;
29752972 FunctionCallInfo trans_fcinfo = pertrans -> transfn_fcinfo ;
2976- ListCell * arg ;
2977- ListCell * bail ;
29782973 List * adjust_bailout = NIL ;
29792974 NullableDatum * strictargs = NULL ;
29802975 bool * strictnulls = NULL ;
2976+ int argno ;
2977+ ListCell * bail ;
29812978
29822979 /*
29832980 * If filter present, emit. Do so before evaluating the input, to
@@ -3071,6 +3068,8 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
30713068 }
30723069 else if (pertrans -> numSortCols == 0 )
30733070 {
3071+ ListCell * arg ;
3072+
30743073 /*
30753074 * Normal transition function without ORDER BY / DISTINCT.
30763075 */
@@ -3113,6 +3112,7 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
31133112 */
31143113 Datum * values = pertrans -> sortslot -> tts_values ;
31153114 bool * nulls = pertrans -> sortslot -> tts_isnull ;
3115+ ListCell * arg ;
31163116
31173117 strictnulls = nulls ;
31183118
@@ -3152,12 +3152,12 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
31523152 * grouping set). Do so for both sort and hash based computations, as
31533153 * applicable.
31543154 */
3155- setoff = 0 ;
31563155 if (doSort )
31573156 {
31583157 int processGroupingSets = Max (phase -> numsets , 1 );
3158+ int setoff = 0 ;
31593159
3160- for (setno = 0 ; setno < processGroupingSets ; setno ++ )
3160+ for (int setno = 0 ; setno < processGroupingSets ; setno ++ )
31613161 {
31623162 ExecBuildAggTransCall (state , aggstate , & scratch , trans_fcinfo ,
31633163 pertrans , transno , setno , setoff , false);
@@ -3168,14 +3168,15 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
31683168 if (doHash )
31693169 {
31703170 int numHashes = aggstate -> num_hashes ;
3171+ int setoff ;
31713172
31723173 /* in MIXED mode, there'll be preceding transition values */
31733174 if (aggstate -> aggstrategy != AGG_HASHED )
31743175 setoff = aggstate -> maxsets ;
31753176 else
31763177 setoff = 0 ;
31773178
3178- for (setno = 0 ; setno < numHashes ; setno ++ )
3179+ for (int setno = 0 ; setno < numHashes ; setno ++ )
31793180 {
31803181 ExecBuildAggTransCall (state , aggstate , & scratch , trans_fcinfo ,
31813182 pertrans , transno , setno , setoff , true);
@@ -3204,6 +3205,8 @@ ExecBuildAggTrans(AggState *aggstate, AggStatePerPhase phase,
32043205 Assert (as -> d .agg_deserialize .jumpnull == -1 );
32053206 as -> d .agg_deserialize .jumpnull = state -> steps_len ;
32063207 }
3208+ else
3209+ Assert (false);
32073210 }
32083211 }
32093212
@@ -3338,7 +3341,6 @@ ExecBuildGroupingEqual(TupleDesc ldesc, TupleDesc rdesc,
33383341{
33393342 ExprState * state = makeNode (ExprState );
33403343 ExprEvalStep scratch = {0 };
3341- int natt ;
33423344 int maxatt = -1 ;
33433345 List * adjust_jumps = NIL ;
33443346 ListCell * lc ;
@@ -3358,7 +3360,7 @@ ExecBuildGroupingEqual(TupleDesc ldesc, TupleDesc rdesc,
33583360 scratch .resnull = & state -> resnull ;
33593361
33603362 /* compute max needed attribute */
3361- for (natt = 0 ; natt < numCols ; natt ++ )
3363+ for (int natt = 0 ; natt < numCols ; natt ++ )
33623364 {
33633365 int attno = keyColIdx [natt ];
33643366
@@ -3388,7 +3390,7 @@ ExecBuildGroupingEqual(TupleDesc ldesc, TupleDesc rdesc,
33883390 * Start comparing at the last field (least significant sort key). That's
33893391 * the most likely to be different if we are dealing with sorted input.
33903392 */
3391- for (natt = numCols ; -- natt >= 0 ;)
3393+ for (int natt = numCols ; -- natt >= 0 ;)
33923394 {
33933395 int attno = keyColIdx [natt ];
33943396 Form_pg_attribute latt = TupleDescAttr (ldesc , attno - 1 );
0 commit comments