SQLite: obtenha todas as datas entre datas

Eu preciso de alguma ajuda com um problema relacionado SQL (em particular: SQLite). Eu tenho uma mesa 'férias'

CREATE TABLE vacation(
    name TEXT,
    to_date TEXT, 
    from_date TEXT
);

onde eu guardo a data (AAAA-MM-DD), quando alguém sai de férias e volta novamente. Agora, gostaria de obter uma lista distinta de todas as datas, em que alguém está de férias. Vamos supor que minha mesa se parece com:

+------------+-------------+------------+
|    name    |   to_date   |  from_date |
+------------+-------------+------------+
|    Peter   | 2013-07-01  | 2013-07-10 |
|    Paul    | 2013-06-30  | 2013-07-05 |
|    Simon   | 2013-05-10  | 2013-05-15 |
+------------+-------------+------------+

O resultado da consulta deve se parecer com:

+------------------------------+
| dates_people_are_on_vacation |
+------------------------------+
|          2013-05-10          |
|          2013-05-11          |
|          2013-05-13          |
|          2013-05-14          |
|          2013-05-15          |
|          2013-06-30          |
|          2013-07-01          |
|          2013-07-02          |
|          2013-07-03          |
|          2013-07-04          |
|          2013-07-05          |
|          2013-07-06          |
|          2013-07-07          |
|          2013-07-08          |
|          2013-07-09          |
|          2013-07-10          |
+------------------------------+

Pensei em usar uma tabela de datas 'all_dates'

CREATE TABLES all_dates(
    date_entry TEXT
);

que abrange um período de 20 anos (2010-01-01 a 2030-01-01) e a seguinte consulta:

SELECT date_entry FROM all_dates WHERE date_entry BETWEEN (SELECT from_date FROM vacation) AND (SELECT to_date FROM vacation); 

No entanto, se eu aplicar essa consulta no conjunto de dados acima, só receberei uma fração do resultado desejado:

+------------------------------+
| dates_people_are_on_vacation |
+------------------------------+
|          2013-07-01          |
|          2013-07-02          |
|          2013-07-03          |
|          2013-07-04          |
|          2013-07-05          |
|          2013-07-06          |
|          2013-07-07          |
|          2013-07-08          |
|          2013-07-09          |
|          2013-07-10          |
+------------------------------+

Pode ser feito com o SQLite? Ou é melhor, se eu retornar as colunas 'to_date' e 'from_date' e preencher as lacunas entre essas datas em meu aplicativo Python?

Qualquer ajuda é apreciada!

questionAnswers(1)

yourAnswerToTheQuestion