1
votes

Why does the RDBMS schema for Jonathan Oliver's EventStore include Items in the following index?

CREATE UNIQUE NONCLUSTERED INDEX [IX_Commits_Revisions] 
ON [dbo].[Commits] ([StreamId], [StreamRevision], [Items]);
1

1 Answers

0
votes

From my understanding, its to prevent a duplicate revision number being committed against a stream or aggregate root.

From a business point of view, if we had a Person aggregate, or a Security aggregate, it would make no sense to have to commits against those, or any other, aggregates with the same revision number.

Also, the stream revision can be used for optimistic locking in your application.

Note: I have only been using EventStore for about 3 months.