In V11.6.1 and later, c-treeDB introduces a new concept used to optimize client/server communication by retrieving only significant record portions - fields - instead of the entire record.
This feature requires a way to specify which of the record's fields are significant and will be accessed. When retrieving a record, c-treeDB attempts, when possible, to retrieve only the portion that will be accessed. This reduces the number of bytes transmitted. In the case of batches, it increases the number of records retrieved in a single round-trip with a single batch call.
To achieve this objective, we implemented the concept of a "field mask." A field mask defines which are the significant fields. It is activated when the first field is added to the mask. Once active ctdbWriteRecord and ctdbDeleteRecord fail. The field mask cannot be changed when a batch is active. Only the fields specified in the field mask can be accessed using the ctdbGetFieldAs* functions.
New functions: