performUpdate should return false if no update is performed