Re: dubious optimization of the function in SELECT INTO target list

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

In response to

Browse pgsql-general by date

  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