decode static method
Implementation
static DecodedTuple decode(Schema schema, Uint8List data) {
final cols = schema.columns;
final nullBitmapSize = (cols.length + 7) ~/ 8;
// Decode MVCC header
final header = MvccTupleHeader.decode(data);
int pos = MvccTupleHeader.size;
// Read null bitmap
final nullBitmap = data.sublist(pos, pos + nullBitmapSize);
pos += nullBitmapSize;
final values = <String, dynamic>{};
for (int i = 0; i < cols.length; i++) {
final col = cols[i];
final isNull = (nullBitmap[i >> 3] & (1 << (i & 7))) != 0;
if (isNull) {
values[col.name] = null;
} else {
final (val, consumed) = _decodeColumn(col.type, data, pos);
values[col.name] = val;
pos += consumed;
}
}
return DecodedTuple(header: header, values: values);
}