MCPcopy Create free account
hub / github.com/apache/iotdb-client-go / genInsertRecordsReq

Method genInsertRecordsReq

client/session.go:1087–1111  ·  view source on GitHub ↗
(deviceIds []string, measurements [][]string, dataTypes [][]TSDataType, values [][]interface{},
	timestamps []int64, isAligned bool,
)

Source from the content-addressed store, hash-verified

1085}
1086
1087func (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
1113func valuesToBytes(dataTypes []TSDataType, values []interface{}, measurementNames []string) ([]byte, error) {
1114 buff := &bytes.Buffer{}

Callers 2

InsertRecordsMethod · 0.95
InsertAlignedRecordsMethod · 0.95

Calls 1

valuesToBytesFunction · 0.85

Tested by

no test coverage detected