Re: pgsql: Fix incorrect matching of subexpressions in outer-join plan node - Mailing list pgsql-committers

From Qingqing Zhou
Subject Re: pgsql: Fix incorrect matching of subexpressions in outer-join plan node
Date
Msg-id CAJjS0u1R+g8LdioAqg=b1P4++NbdCdTpBCoJsqZnWdMW_eGEHQ@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Fix incorrect matching of subexpressions in outer-join plan node  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pgsql: Fix incorrect matching of subexpressions in outer-join plan node  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
On Mon, Apr 6, 2015 at 4:22 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Because it's expensive (a syscache lookup per function or operator).
> And that test alone would be insufficient anyway: you'd also have to
> check that there was an appropriate Var in the expression, cf the
> comment for contain_nonstrict_functions.
>

Looks like not only contain_nonstrict_functions() is expensive, but
other contain_xxx family members.

In FuncExpr structure, for example, we already cached values like
retset, resulttype, but why not volatile and isstrict? In this way, we
avoid cache lookup every time. So as OpExpr etc.

Regards,
Qingqing


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Fix incorrect matching of subexpressions in outer-join plan node
Next
From: Simon Riggs
Date:
Subject: pgsql: Fix spelling of author's name