in src/Apache.IoTDB/DataStructure/Tablet.cs [62:115]
public Tablet(
string deviceId,
List<string> measurements,
List<TSDataType> dataTypes,
List<List<object>> values,
List<long> timestamps)
{
if (timestamps.Count != values.Count)
{
throw new Exception(
$"Input error. Timestamps.Count({timestamps.Count}) does not equal to Values.Count({values.Count}).",
null);
}
if (measurements.Count != dataTypes.Count)
{
throw new Exception(
$"Input error. Measurements.Count({measurements.Count}) does not equal to DataTypes.Count({dataTypes.Count}).",
null);
}
if (!_utilFunctions.IsSorted(timestamps))
{
var sorted = timestamps
.Select((x, index) => (timestamp: x, values: values[index]))
.OrderBy(x => x.timestamp).ToList();
_timestamps = sorted.Select(x => x.timestamp).ToList();
_values = sorted.Select(x => x.values).ToList();
}
else
{
_values = values;
_timestamps = timestamps;
}
InsertTargetName = deviceId;
Measurements = measurements;
DataTypes = dataTypes;
RowNumber = timestamps.Count;
ColNumber = measurements.Count;
// reset bitmap
if (BitMaps != null)
{
foreach (var bitmap in BitMaps)
{
if (bitmap != null)
{
bitmap.reset();
}
}
}
}