Re: Optimisation deficiency: currval('seq')-->seq scan, constant-->index scan - Mailing list pgsql-hackers

From Tiago Antão
Subject Re: Optimisation deficiency: currval('seq')-->seq scan, constant-->index scan
Date
Msg-id Pine.LNX.4.21.0008211319340.24628-100000@eros.si.fct.unl.pt
Whole thread Raw
In response to Re: Optimisation deficiency: currval('seq')-->seq scan, constant-->index scan  (Hannu Krosing <hannu@tm.ee>)
Responses Re: Optimisation deficiency: currval('seq')-->seq scan, constant-->index scan
List pgsql-hackers
Hi!

On Mon, 21 Aug 2000, Hannu Krosing wrote:

> And predictability is GOOD ;)
> 
> I would even suggest that PG would warn about or even refuse to run
> queries 
> that have both nextval and curval of the same sequence inside them 
> (and pre-evaluate nextval) as only that case has _any_ predictability.

Isn't the problem more general than just nextval? Any user defined
function with side-effects would be a problematic one... plus a user
defined function might not be constant:
select ... from ... where x in (select side_effects(x) ...) On correlated subqueries there is no guarantee of being
constant.
 In Prolog, which is a declarative language with some similarities to
relational algebra the ideia is: "if you use predicates with side effects,
then you're on your own".

Tiago
PS - Apologies for any irrelevant comment, I'm just starting to look to pg
code.



pgsql-hackers by date:

Previous
From: Tiago Antão
Date:
Subject: Re: Optimisation deficiency: currval('seq')-->seq scan, constant-->index scan
Next
From: Tom Lane
Date:
Subject: Re: AW: pg_attribute growing and growing and growing