Re: Avoid excessive inlining?
От | Philip Semanchuk |
---|---|
Тема | Re: Avoid excessive inlining? |
Дата | |
Msg-id | B419713D-368F-433A-986F-D6027921D743@americanefficient.com обсуждение исходный текст |
Ответ на | Re: Avoid excessive inlining? (Laurenz Albe <laurenz.albe@cybertec.at>) |
Список | pgsql-general |
> On Dec 22, 2020, at 8:40 AM, Laurenz Albe <laurenz.albe@cybertec.at> wrote: > > On Mon, 2020-12-21 at 11:45 -0500, Philip Semanchuk wrote: >>> On Dec 19, 2020, at 12:59 AM, Joel Jacobson <joel@compiler.org> wrote: >>> Is there a way to avoid excessive inlining when writing pure SQL functions, without having to use PL/pgSQL? >> >> The rules for inlining are here: >> https://wiki.postgresql.org/wiki/Inlining_of_SQL_functions >> >> According to those rules, if you declared your SQL function as VOLATILE, then Postgres wouldn’t >> inline it. From your question, I’m not sure if you want to have the same function inlined >> sometimes and not others. I can’t think of a way to do that offhand. > > Where do you see that? As far as I know, VOLATILE is the best choice if you > want the function to be inlined. Ugh, you’re absolutely right, and I’m sorry for spreading misinformation. That’s what I get from quoting from memory ratherthan reading the link that I posted. > > I would say that the simplest way to prevent a function from being inlined > is to set a parameter on it: > > ALTER FUNCTION f() SET enable_seqscan = on; I appreciate the correction and education. Cheers Philip
В списке pgsql-general по дате отправления: