- expiration is implemented purely as deleting when fetched after expiration, not an active garbage collector
- mitigations include ignoring filters that are at most only since/until or less in the filter, capping the indexes that will be gathered to max 5000 for a query
also changes the interface of unmarshal to not return an error, which is something that should really belong elsewhere, both a thing to forget and a thing to have divergences in, not the right way to do it
add flatten flag for store so it flattens on request at shutdown if an import has taken place
import runs GC every 10000 events to limit fragmentation of tables
implement a specific count function that only decodes the event if there is an extra filter (which should be the minority of cases)
change search to use maps for indexes to automatically deduplicate in case of multiple queries matching the same field
improve logging to show origins of request/events in relay accept req/event
count now returns an aproximate flag for the case of extrafilters finding replaceable events