The final paragraph should read:
If SELECT statement in the transaction is changed the following:
----------------------------------------------------------------------------
SELECT * FROM foo WHERE b = 'john';
----------------------------------------------------------------------------
to remove the row level locking the correct decoded change set is
returned.