mirror of
https://github.com/postgres/postgres.git
synced 2025-05-09 18:21:05 +03:00
Fix variable lifespan in ExecInitCoerceToDomain().
This undoes a mistake in 1ec7679f1: domainval and domainnull were meant to live across loop iterations, but they were incorrectly moved inside the loop. The effect was only to emit useless extra EEOP_MAKE_READONLY steps, so it's not a big deal; nonetheless, back-patch to v13 where the mistake was introduced. Ranier Vilela Discussion: https://postgr.es/m/CAEudQAqXuhbkaAp-sGH6dR6Nsq7v28_0TPexHOm6FiDYqwQD-w@mail.gmail.com
This commit is contained in:
parent
08cfa5981e
commit
16a56774fa
@ -3121,6 +3121,8 @@ ExecInitCoerceToDomain(ExprEvalStep *scratch, CoerceToDomain *ctest,
|
|||||||
ExprState *state, Datum *resv, bool *resnull)
|
ExprState *state, Datum *resv, bool *resnull)
|
||||||
{
|
{
|
||||||
DomainConstraintRef *constraint_ref;
|
DomainConstraintRef *constraint_ref;
|
||||||
|
Datum *domainval = NULL;
|
||||||
|
bool *domainnull = NULL;
|
||||||
ListCell *l;
|
ListCell *l;
|
||||||
|
|
||||||
scratch->d.domaincheck.resulttype = ctest->resulttype;
|
scratch->d.domaincheck.resulttype = ctest->resulttype;
|
||||||
@ -3167,8 +3169,6 @@ ExecInitCoerceToDomain(ExprEvalStep *scratch, CoerceToDomain *ctest,
|
|||||||
foreach(l, constraint_ref->constraints)
|
foreach(l, constraint_ref->constraints)
|
||||||
{
|
{
|
||||||
DomainConstraintState *con = (DomainConstraintState *) lfirst(l);
|
DomainConstraintState *con = (DomainConstraintState *) lfirst(l);
|
||||||
Datum *domainval = NULL;
|
|
||||||
bool *domainnull = NULL;
|
|
||||||
Datum *save_innermost_domainval;
|
Datum *save_innermost_domainval;
|
||||||
bool *save_innermost_domainnull;
|
bool *save_innermost_domainnull;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user