Re: Inlining functions with "expensive" parameters
От | Tom Lane |
---|---|
Тема | Re: Inlining functions with "expensive" parameters |
Дата | |
Msg-id | 6480.1510861492@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Inlining functions with "expensive" parameters (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Inlining functions with "expensive" parameters
Re: Inlining functions with "expensive" parameters |
Список | pgsql-hackers |
Andres Freund <andres@anarazel.de> writes: > Well, it's not a question of cost of the function now? Imagine > SELECT inlineable(something()); > if you have 10 references for the parameter inside inlineable(). Then > currently something() would be evaluated 10 times. Which'd quite > possibly be bad. Right. I kind of thought we only worried about that if the parameter was referenced more than once, but I might be wrong. > But what I *am* wondering about, is why we're not handling the > parameters in a different way. Instead of replacing the all parameter > references with the parameter, it shouldn't be too hard to instead > replace them with a new PARAM_EXEC like Param. Yeah, there's no mechanism like that now, but there could be. I wonder if we could connect that to the work that was being done for caching nonvolatile subexpressions --- it feels like much the same problem. regards, tom lane
В списке pgsql-hackers по дате отправления: