There are plenty of cases where you might do something like x = x + 1 in a denormalizer as well.
There are some changes to the client API which are about to get pushed to master which make the subscribe + catchup logic a bit simpler. I (and likely others) will be blogging about that this week.
Running totals
I usually do those on the reports, not in the database, but I see your point.
Tracking per denormalizer is even easier: the name is the name (type) of the projection.
The following can be done:
-
At the starting time each denormalizer/projection is checked for changes (simply build a hash and store somewhere).
-
If a change detected -> drop the projections and drop the checkpoint for the specific denormalizer (so it’ll have to rebuild from scratch)
-
If no changes detected -> don’t touch anything, let it go.
Cheers,
Alexey.
James, what’s your blog addy? Can’t seem to find it anywhere.
Quite keen to see this new catchup stuff
Cheers
Am I missing these blog posts? I have seen many mentions of them, but haven’t seen anything since Dec 25th.