From: | Oleksii Kliukin <alexk(at)hintbits(dot)com> |
---|---|
To: | Álvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: dubious optimization of the function in SELECT INTO target list |
Date: | 2015-10-09 07:24:39 |
Message-ID: | 763CDDD6-66DC-4440-81F0-7A5672784157@hintbits.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> On 08 Oct 2015, at 19:54, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
>
> Oleksii Kliukin wrote:
>
>> Thank you, now it’s clear. I have to say there is no guarantee that
>> the computation would be useless. Someone might be calling a function
>> that updates/deletes rows in the SELECT INTO block, being forced to
>> use SELECT INTO by inability of pl/pgSQL to just discard the result of
>> a normal SELECT. I know one can use a loop or call PERFORM, but in
>> some cases (a complex CTE computing the data for the function being
>> called at the end, which updates the tables with this data) actually
>> using SELECT INTO looks like the easiest path to achieve the desired
>> result.
>
> So this whole issue is just because it is not possible to use PERFORM
> alongside WITH?
The issue is in the SELECT INTO behaviour, but the root cause is exactly the lack of support for perform in CTEs in pl/pgSQL.
Kind regards,
--
Oleksii
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2015-10-09 08:36:29 | Re: Version management for extensions |
Previous Message | Oleksii Kliukin | 2015-10-09 07:23:56 | Re: dubious optimization of the function in SELECT INTO target list |