ExecInitExpr(Expr *node, PlanState *parent)
{
ExprState *state;
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
/* Special case: NULL expression produces a NULL ExprState pointer */
if (node == NULL)
ExecInitExprWithParams(Expr *node, ParamListInfo ext_params)
{
ExprState *state;
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
/* Special case: NULL expression produces a NULL ExprState pointer */
if (node == NULL)
ExecInitQual(List *qual, PlanState *parent)
{
ExprState *state;
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
List *adjust_jumps = NIL;
ListCell *lc;
{
ProjectionInfo *projInfo = makeNode(ProjectionInfo);
ExprState *state;
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
ListCell *lc;
projInfo->pi_exprContext = econtext;
ExecInitExprRec(Expr *node, ExprState *state,
Datum *resv, bool *resnull)
{
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
/* Guard against stack overflow due to overly complex expressions */
check_stack_depth();
static void
ExecPushExprSlots(ExprState *state, LastAttnumInfo *info)
{
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
+
+ scratch.resvalue = NULL;
+ scratch.resnull = NULL;
/* Emit steps as needed */
if (info->last_inner > 0)
ExecInitCoerceToDomain(ExprEvalStep *scratch, CoerceToDomain *ctest,
ExprState *state, Datum *resv, bool *resnull)
{
- ExprEvalStep scratch2;
+ ExprEvalStep scratch2 = {0};
DomainConstraintRef *constraint_ref;
Datum *domainval = NULL;
bool *domainnull = NULL;
{
ExprState *state = makeNode(ExprState);
PlanState *parent = &aggstate->ss.ps;
- ExprEvalStep scratch;
+ ExprEvalStep scratch = {0};
int transno = 0;
int setoff = 0;
bool isCombine = DO_AGGSPLIT_COMBINE(aggstate->aggsplit);