That would create N views (not counting the sub-views).
It doesn't create temporary tables anymore:
my $set = DateTime::Event::Recurrence->monthly(
days => [ 10, 20 ], hours => 7 )->
union(
DateTime::Event::Recurrence->monthly(
days => [ 9 ], hours => 8 ) );generates:
CREATE VIEW SET ( N ) AS
(
SELECT ( N + INTERVAL '7 HOUR' ) FROM (
SELECT ( N + INTERVAL '10 DAY' ) FROM MONTHS UNION
SELECT ( N + INTERVAL '20 DAY' ) FROM MONTHS
)
)
UNION (
SELECT ( N + INTERVAL '8 HOUR' ) FROM (
SELECT ( N + INTERVAL '9 DAY' ) FROM MONTHS
)
)
;This SQL fails with "subquery in FROM must have an alias", but that's fixable.
- Flavio S. Glock
