i did some quick testing with this wonderful patch.
it seems there are some flaws in there still:
test=# explain select count(*)
test-# from ( WITH RECURSIVE t(n) AS ( SELECT 1 UNION ALL
SELECT DISTINCT n+1 FROM t )
test(# SELECT * FROM t WHERE n < 5000000000) as t
test-# WHERE n < 100;
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
this one will kill the planner :(
removing the (totally stupid) distinct avoids the core dump.
i found one more issue;
-- broken: wrong result
test=# select count(*) from ( WITH RECURSIVE t(n) AS (
SELECT 1 UNION ALL SELECT n + 1 FROM t)
SELECT * FROM t WHERE n < 5000000000) as t WHERE n < (
select count(*) from ( WITH RECURSIVE t(n) AS (
SELECT 1 UNION ALL SELECT n + 1 FROM t )
SELECT * FROM t WHERE n < 5000000000) as t WHERE n < 100) ;
if i am not totally wrong, this should give us a different result.
i am looking forward to see this patch in core :).
it is simply wonderful ...
On Jul 3, 2008, at 1:11 AM, David Fetter wrote:
Please find patch enclosed, including some documentation.
Can we see about getting this in this commitfest?
David Fetter <[EMAIL PROTECTED]> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: [EMAIL PROTECTED]
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/
Sent via pgsql-hackers mailing list ([EMAIL PROTECTED])
To make changes to your subscription:
Cybertec Schönig & Schönig GmbH
PostgreSQL Solutions and Support
Gröhrmühlgasse 26, 2700 Wiener Neustadt
Tel: +43/1/205 10 35 / 340