Würde es funktionieren, die Standardwerte in die Abfrage zu verschieben und sie zu verwenden, solange kein Datum ausgewählt ist? Also, so etwas wie das hier:
-- [params]
-- null date :start_date
-- null date :end_date
SELECT id as topic_id, created_at
FROM topics
WHERE created_at > COALESCE(:start_date, CAST(date_trunc('week', current_date) AS DATE))
AND created_at < COALESCE(:end_date, CAST(date_trunc('week', current_date) AS DATE)+4)