Lo que esta consulta realmente hace es generar muchas fechas consecutivas (hasta mil días anteriores).
En SQLite 3.8.3 o posterior, esto se puede hacer más fácilmente con una expresión de tabla común :
WITH RECURSIVE dates(d)
AS (VALUES('2010-01-20')
UNION ALL
SELECT date(d, '+1 day')
FROM dates
WHERE d < '2010-01-24')
SELECT d AS date FROM dates;