I think what tomtomtom7 is trying to say is that the common approach (used not only by core) is that even though the node verifies the transactions before a block is announced, the actual moment when the UTXO database is updated (and the changes committed to it) is during the block's validation.
Whilst his solution updates (appends) TXO database while verifying a transaction in the first place. Later, during the block's validation, it's just logging the information of which of the outputs from the TXO database has been spent by the block.