(deviceIds []string, measurements [][]string, dataTypes [][]TSDataType, values [][]interface{},
timestamps []int64, isAligned bool,
)
| 1085 | } |
| 1086 | |
| 1087 | func (s *Session) genInsertRecordsReq(deviceIds []string, measurements [][]string, dataTypes [][]TSDataType, values [][]interface{}, |
| 1088 | timestamps []int64, isAligned bool, |
| 1089 | ) (*rpc.TSInsertRecordsReq, error) { |
| 1090 | length := len(deviceIds) |
| 1091 | if length != len(timestamps) || length != len(measurements) || length != len(values) { |
| 1092 | return nil, errLength |
| 1093 | } |
| 1094 | request := rpc.TSInsertRecordsReq{ |
| 1095 | SessionId: s.sessionId, |
| 1096 | PrefixPaths: deviceIds, |
| 1097 | MeasurementsList: measurements, |
| 1098 | Timestamps: timestamps, |
| 1099 | IsAligned: &isAligned, |
| 1100 | } |
| 1101 | v := make([][]byte, length) |
| 1102 | for i := 0; i < len(measurements); i++ { |
| 1103 | if bys, err := valuesToBytes(dataTypes[i], values[i], measurements[i]); err == nil { |
| 1104 | v[i] = bys |
| 1105 | } else { |
| 1106 | return nil, err |
| 1107 | } |
| 1108 | } |
| 1109 | request.ValuesList = v |
| 1110 | return &request, nil |
| 1111 | } |
| 1112 | |
| 1113 | func valuesToBytes(dataTypes []TSDataType, values []interface{}, measurementNames []string) ([]byte, error) { |
| 1114 | buff := &bytes.Buffer{} |
no test coverage detected