From: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
---|---|
To: | Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl> |
Cc: | David Fetter <david(at)fetter(dot)org>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Planner features, discussion |
Date: | 2010-07-15 09:59:01 |
Message-ID: | 4C3EDBE5.9010001@postnewspapers.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 15/07/10 17:55, Alban Hertroys wrote:
> On 15 Jul 2010, at 3:05, Craig Ringer wrote:
>
>> It was an example of how it'd be nice to avoid the need for a join when
>> dealing with scalar values. I'd love to be able to write:
>>
>> WITH aconstant AS (1)
>> SELECT x.*, aconstant FROM generate_series(1,10) AS x;
>>
>> ... but can't presently do so because the WITH terms are only visible as
>> potential from-list items.
>
>
> But why is that a problem? The below seems to work just fine:
>
> dalroi=> WITH constants AS (SELECT 1 AS aconstant)
> SELECT 'x' AS column, aconstant FROM constants WHERE aconstant = 1;
> column | aconstant
> --------+-----------
> x | 1
> (1 row)
>
> Sure, you'll have to join with the with-query to get any meaningful results, but if there are any complicated calculations in that query, won't they be calculated just once - like you intended?
>
> If not, I think we're all failing to see the point you're trying to make.
The join its self is expensive. See the plans I posted in the post
you're replying to.
--
Craig Ringer
From | Date | Subject | |
---|---|---|---|
Next Message | Tim Landscheidt | 2010-07-15 10:23:10 | Re: coalesce seems to give strange results |
Previous Message | Alban Hertroys | 2010-07-15 09:55:51 | Re: Planner features, discussion |