Fix an issue where repository message counts would never reset
Fixes T11705. I did not realize that ON DUPLICATE KEY UPDATE was order-dependent, so the "reset" clause of this IF(...) never actually worked.
Reorder it so we check if we're changing the message type first, then actually change the message type.
This makes the count reset properly when a failing repository succeeds, or a working repository fails.
- On master, forced a working repository to fail a bin/repository update, saw the message change types (expected) but keep the old count (wrong!).
- With this patch, repeated the process and saw the count reset properly.
- Ran the patch, verified counts reset to 0.
Reviewed By: chad
Maniphest Tasks: T11705
Differential Revision: https://secure.phabricator.com/D16623