in client/rpcdataset.go [195:224]
func (s *IoTDBRpcDataSet) getValue(columnName string) interface{} {
if s.closed {
return nil
}
columnIndex := int(s.getColumnIndex(columnName))
if s.isNull(columnIndex, s.rowsIndex-1) {
return nil
}
dataType := s.getColumnType(columnName)
valueBytes := s.values[columnIndex]
switch dataType {
case BOOLEAN:
return bool(valueBytes[0] != 0)
case INT32:
return bytesToInt32(valueBytes)
case INT64:
return bytesToInt64(valueBytes)
case FLOAT:
bits := binary.BigEndian.Uint32(valueBytes)
return math.Float32frombits(bits)
case DOUBLE:
bits := binary.BigEndian.Uint64(valueBytes)
return math.Float64frombits(bits)
case TEXT:
return string(valueBytes)
default:
return nil
}
}