CTDB - Wrong field offsets in variable portion of the record
A situation was encountered in which the wrong data was retrieved. In particular, the data looked "shifted." The problem occurred if there was a field that started in the fixed portion of the record and ended in the variable portion followed by other fields.
The logic has been corrected as follows:
_ctdbInitRecord() was modified so that, if there is a field starting in the fixed portion but terminating in the variable portion, that field is considered the first variable field.
_ctdbUpdateRecord() was modified so that, when starting to analyze the variable portion of the record, it uses the offset of the first variable field as the starting offset.