From: Robert Haas on
On Fri, Jul 23, 2010 at 3:31 PM, David Fetter <david(a)fetter.org> wrote:
> On Fri, Jul 23, 2010 at 03:30:03PM -0400, Robert Haas wrote:
>> On Fri, Jul 23, 2010 at 3:19 PM, Marko Tiikkaja
>> <marko.tiikkaja(a)cs.helsinki.fi> wrote:
>> > This may be a bit hard to follow, but essentially what happens is
>> > that in EXPLAIN ANALYZE, the INSERT in the rule does not see the
>> > changes made by T2 to baz while in the regular execution scenario
>> > it does.
>>
>> Well that's gotta be a bug, but in what I'm not sure.
>
> I've said it before, and I'll say it again. �User-accessible RULEs are
> themselves a bug :P

Maybe so, but perhaps it would be more productive to concentrate on
solving the immediate problem first.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Andres Freund on
On Fri, Jul 23, 2010 at 03:30:03PM -0400, Robert Haas wrote:
> On Fri, Jul 23, 2010 at 3:19 PM, Marko Tiikkaja
> <marko.tiikkaja(a)cs.helsinki.fi> wrote:
> > This may be a bit hard to follow, but essentially what happens is that in
> > EXPLAIN ANALYZE, the INSERT in the rule does not see the changes made by T2
> > to baz while in the regular execution scenario it does.
>
> Well that's gotta be a bug, but in what I'm not sure.
One could argue that its less of a semantic change changing explain's
behaviour than the normal executors way of working...

Andres

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: David Fetter on
On Fri, Jul 23, 2010 at 03:30:03PM -0400, Robert Haas wrote:
> On Fri, Jul 23, 2010 at 3:19 PM, Marko Tiikkaja
> <marko.tiikkaja(a)cs.helsinki.fi> wrote:
> > This may be a bit hard to follow, but essentially what happens is
> > that in EXPLAIN ANALYZE, the INSERT in the rule does not see the
> > changes made by T2 to baz while in the regular execution scenario
> > it does.
>
> Well that's gotta be a bug, but in what I'm not sure.

I've said it before, and I'll say it again. User-accessible RULEs are
themselves a bug :P

Cheers,
David.
--
David Fetter <david(a)fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter(a)gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Marko Tiikkaja on
On 7/23/2010 10:46 PM, Andres Freund wrote:
> On Fri, Jul 23, 2010 at 03:30:03PM -0400, Robert Haas wrote:
>> On Fri, Jul 23, 2010 at 3:19 PM, Marko Tiikkaja
>> <marko.tiikkaja(a)cs.helsinki.fi> wrote:
>>> This may be a bit hard to follow, but essentially what happens is that in
>>> EXPLAIN ANALYZE, the INSERT in the rule does not see the changes made by T2
>>> to baz while in the regular execution scenario it does.
>>
>> Well that's gotta be a bug, but in what I'm not sure.
> One could argue that its less of a semantic change changing explain's
> behaviour than the normal executors way of working...

One could also argue that people usually test their code with EXPLAIN
ANALYZE and could've made the opposite conclusion based on its output. ;-)

But I really have no idea what we should do about this. It seems to me
that EXPLAIN ANALYZE's behaviour is less surprising (that's actually
what I, before yesterday, always thought happens), but I'm not too sure
about that either.


Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: David Fetter on
On Thu, Jul 22, 2010 at 08:43:35PM +0300, Marko Tiikkaja wrote:
> Hi,
>
> From the code I understood that when executing a query "normally",
> in READ COMMITTED mode, we take a new snapshot for every query that
> comes out of rewrite. But in an EXPLAIN ANALYZE, we only update the
> CID of the snapshot taken when the EXPLAIN started.
>
> Did I misunderstand the code? And if I didn't, why do we do this
> differently?

You mentioned in IRC that this was in aid of getting wCTEs going. How
are these things connected?

Cheers,
David.
--
David Fetter <david(a)fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter(a)gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers