Eval expression R/O once time (src/backend/executor/execExpr.c) - Mailing list pgsql-hackers

From Ranier Vilela
Subject Eval expression R/O once time (src/backend/executor/execExpr.c)
Date
Msg-id CAEudQAqXuhbkaAp-sGH6dR6Nsq7v28_0TPexHOm6FiDYqwQD-w@mail.gmail.com
Whole thread Raw
Responses Re: Eval expression R/O once time (src/backend/executor/execExpr.c)
List pgsql-hackers
Hi,

Currently when determining where CoerceToDomainValue can be read,
it evaluates every step in a loop.
But, I think that the expression is immutable and should be solved only once.

Otherwise the logic is wrong since by the rules of C, even though the variable is
being initialized in the declaration, it still receives initialization at each repetition.
What causes palloc running multiple times.

In other words:
Datum   *domainval = NULL;

is the same:
Datum   *domainval;
domainval = NULL;

Once there, reduce the scope for save_innermost_domainval and save_innermost_domainnull.

Thoughts?

regards,
Ranier Vilela
Attachment

pgsql-hackers by date:

Previous
From: vignesh C
Date:
Subject: Re: Added schema level support for publication.
Next
From: Andres Freund
Date:
Subject: windows build slow due to windows.h includes