Event type filtering on store loads (LoadOptions) #54
Labels
No labels
bug
documentation
enhancement
investigation
nice-to-have
performance
production-ready
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ash/eskit#54
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Projections and views declare interest in specific event types but the store loads ALL events and deserializes them. The handler then skips irrelevant ones. For a stream with 50 event types where a projection cares about 2, we deserialize 48 events for nothing.
Inspired by Martin Dilger's projection pattern — his handler switches on 2 event types out of 60+ in the system.
Proposal
Add
LoadOptionsto bothEventStoreandDCBStoreinterfaces:Store implementations add
WHERE event_type IN (...)clause. Works for:Benchmark Target
Acceptance
LoadOptionsstruct with EventTypes, FromVersion, Limit