Does the current planned system of storing dates and recurrence rules, with an exceptions table, force us to load too much data into memory to use TimePeriodLibrary? Should we have temporary tables to store individual sessions for a set period of time (the pro: enable some pre-filtering with SQL to load less data into memory).

Do we even want an exceptions table, or is a table of semi-transient session data better?