Re: Optimze usage of immutable functions as relation
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Antonin Houska <ah@cybertec.at>
Cc: Aleksandr Parfenov <asp437@gmail.com>, a.bykov@postgrespro.ru, pgsql-hackers@lists.postgresql.org
Date: 2019-02-16T01:43:32Z
Lists: pgsql-hackers
On 2018-11-08 15:08:03 +0100, Antonin Houska wrote: > Aleksandr Parfenov <asp437@gmail.com> wrote: > > > I fixed a typo and some comments. Please find new version attached. > > I've checked this verstion too. > > * is_simple_stable_function() > > instead of fetching HeapTuple from the syscache manually, you might want to > consider using functions from lsyscache.c (get_func_rettype, get_func_retset, > etc.), or adding a function that returns (subset of) the fields you need in a > single call. > > * pull_up_simple_function(): > > As you assume that ret->functions is a single-item list > > Assert(list_length(rte->functions) == 1); > > the following iteration is not necessary: > > foreach(lc, functions_list) > > Also, there seems to be a lot of copy & paste from pull_up_simple_values(), so > some refactoring would make sense. Given this I think the appropriate state of the CF entry would have been waiting-for-author, not needs review. Or alternatively returned-with-feedback or rejected. I'm a bit confused as to why the patch was moved to the next CF twice? - Andres
Commits
-
Prevent bogus pullup of constant-valued functions returning composite.
- a9ae99d01909 13.0 landed
-
Allow functions-in-FROM to be pulled up if they reduce to constants.
- 7266d0997dd2 13.0 landed