Re: Cool hack with recursive queries
От | David Rowley |
---|---|
Тема | Re: Cool hack with recursive queries |
Дата | |
Msg-id | E63D6301D61F4659988453B48A61DE08@amd64 обсуждение исходный текст |
Ответ на | Cool hack with recursive queries (Gregory Stark <stark@enterprisedb.com>) |
Ответы |
Re: Cool hack with recursive queries
|
Список | pgsql-hackers |
Gregory Stark wrote: > So based on Graeme Job's T-SQL hack over at thedailywtf.com I adapted the > T-SQL code to Postgres and got this. Thought others might find it amusing. > > WITH RECURSIVE Z(IX, IY, CX, CY, X, Y, I) AS ( > SELECT IX, IY, X::float, Y::float, X::float, Y::float, 0 > FROM (select -2.2 + 0.031 * i, i from > generate_series(0,101) as i) as xgen(x,ix), > (select -1.5 + 0.031 * i, i from > generate_series(0,101) as i) as ygen(y,iy) > UNION ALL > SELECT IX, IY, CX, CY, X * X - Y * Y + CX AS X, Y * X * 2 > + CY, I + 1 > FROM Z > WHERE X * X + Y * Y < 16::float > AND I < 100 > ) > SELECT array_to_string(array_agg(SUBSTRING(' .,,,-----++++%%%%@@@@#### > ', LEAST(GREATEST(I,1),27), 1)),'') > FROM ( > SELECT IX, IY, MAX(I) AS I > FROM Z > GROUP BY IY, IX > ORDER BY IY, IX > ) AS ZT > GROUP BY IY > ORDER BY IY > That's pretty amazing. I think we should add a regression test with that. :) David.
В списке pgsql-hackers по дате отправления: