Thread
-
Recursive queries?
Michael Meskes <meskes@topsystem.de> — 1998-02-20T09:14:35Z
I know that postgres originally was able to do recursive queries like retrieve* into a from a ... Is this still possible with PostgreSQL? If so, is it just for one statement or even as a block? This happens to be the area I worked on for several years. Michael -- Dr. Michael Meskes, Project-Manager | topsystem Systemhaus GmbH meskes@topsystem.de | Europark A2, Adenauerstr. 20 meskes@debian.org | 52146 Wuerselen Go SF49ers! Go Rhein Fire! | Tel: (+49) 2405/4670-44 Use Debian GNU/Linux! | Fax: (+49) 2405/4670-10
-
Re: [HACKERS] Recursive queries?
Vadim Mikheev <vadim@sable.krasnoyarsk.su> — 1998-02-20T09:59:17Z
Michael Meskes wrote: > > I know that postgres originally was able to do recursive queries like > > retrieve* into a from a ... > > Is this still possible with PostgreSQL? If so, is it just for one statement > or even as a block? Yes, it's possible. This is from spi.txt: --- Data changes visibility PostgreSQL data changes visibility rule: during a query execution, data changes made by the query itself (via SQL-function, SPI-function, triggers) are invisible to the query scan. For example, in query INSERT INTO a SELECT * FROM a tuples inserted are invisible for SELECT' scan. In effect, this duplicates the database table within itself (subject to unique index rules, of course) without recursing. Changes made by query Q are visible by queries which are started after query Q, no matter whether they are started inside Q (during the execution of Q) or after Q is done. --- Second query 'INSERT INTO a SELECT * FROM a' inside BEGIN/END will see tuples inserted by first one. Pg uses special CommandCounter to distinguish changes made in the same transaction. > This happens to be the area I worked on for several years. I also like such areas :) Vadim