diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c index 80bca79cd0..b47cb5c66d 100644 --- a/src/backend/commands/copyfrom.c +++ b/src/backend/commands/copyfrom.c @@ -1609,6 +1609,7 @@ BeginCopyFrom(ParseState *pstate, } } + cstate->defaults = (bool *) palloc0(tupDesc->natts * sizeof(bool)); /* initialize progress */ pgstat_progress_start_command(PROGRESS_COMMAND_COPY, diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index d2e8c74402..232768a6e1 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -871,7 +871,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, /* Initialize all values for row to NULL */ MemSet(values, 0, num_phys_attrs * sizeof(Datum)); MemSet(nulls, true, num_phys_attrs * sizeof(bool)); - cstate->defaults = (bool *) palloc0(num_phys_attrs * sizeof(bool)); + MemSet(cstate->defaults, false, num_phys_attrs * sizeof(bool)); if (!cstate->opts.binary) { @@ -1040,8 +1040,6 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, &nulls[defmap[i]]); } - pfree(cstate->defaults); - return true; }