result_row objects can be constructed with raw result rows representing the end of the result set. Field values must not be accessed for such rows. Thus, is_null() now throws an exception when called for a field of an invalid row.