Re: Lambda expressions (was Re: BUG #15471)

2022-10-06 Thread Paul Ramsey
On Tue, Oct 30, 2018 at 3:20 PM Andres Freund wrote: > > Hi, > > On 2018-10-30 16:54:45 -0400, Tom Lane wrote: > > Andres Freund writes: > > > On 2018-10-30 16:23:37 -0400, Tom Lane wrote: > > >> Well, a Lambda expression is not something that can be optimized away > > >> (unless perhaps you can

Re: Lambda expressions (was Re: BUG #15471)

2022-10-06 Thread Stefan Keller
Dear Tom, Andres, Andrew, all Any update on this interesting topic? --Stefan P.S. TIL Databricks SQL lambda functions: "A parameterized expression that can be passed to a function to control its behavior. For example, array_sort function (Databricks SQL) accepts a lambda function as an argument

Re: Lambda expressions (was Re: BUG #15471)

2018-10-30 Thread Andres Freund
Hi, On 2018-10-30 16:54:45 -0400, Tom Lane wrote: > Andres Freund writes: > > On 2018-10-30 16:23:37 -0400, Tom Lane wrote: > >> Well, a Lambda expression is not something that can be optimized away > >> (unless perhaps you can get rid of the need for any of its output Params) > >> so I don't see

Re: Lambda expressions (was Re: BUG #15471)

2018-10-30 Thread Tom Lane
Andres Freund writes: > On 2018-10-30 16:23:37 -0400, Tom Lane wrote: >> Well, a Lambda expression is not something that can be optimized away >> (unless perhaps you can get rid of the need for any of its output Params) >> so I don't see how any of its subexpressions would ever wind up split out >

Re: Lambda expressions (was Re: BUG #15471)

2018-10-30 Thread Andres Freund
On 2018-10-30 16:23:37 -0400, Tom Lane wrote: > Andres Freund writes: > > How did you deal with the fact that we might extract subset of the LET() > > into e.g. a RestrictionInfo (and then e.g. an IndexPath), but another > > part would be e.g. evaluated as part of a qual? > > Well, a Lambda expre

Re: Lambda expressions (was Re: BUG #15471)

2018-10-30 Thread Tom Lane
Andres Freund writes: > On 2018-10-30 15:04:55 -0400, Tom Lane wrote: >> The core idea that I'm working on is to invent a new node type >> LambdaExpr that evaluates an expression and substitutes it as a >> Param into another expression, notationally sort of like >> LET($n := expression1 IN ... res

Re: Lambda expressions (was Re: BUG #15471)

2018-10-30 Thread Andres Freund
Hi, On 2018-10-30 15:04:55 -0400, Tom Lane wrote: > Andres Freund writes: > > On 2018-10-30 09:30:54 -0400, Tom Lane wrote: > >> This is all some more fuel for the idea that we need a less messy > >> substitute for CaseTestExpr. As it happens, I was just fooling with > >> that yesterday, and hop

Lambda expressions (was Re: BUG #15471)

2018-10-30 Thread Tom Lane
[ splitting this off to a new thread ] Andres Freund writes: > On 2018-10-30 09:30:54 -0400, Tom Lane wrote: >> This is all some more fuel for the idea that we need a less messy >> substitute for CaseTestExpr. As it happens, I was just fooling with >> that yesterday, and hope to have something t