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

Method Swap

client/tablet.go:59–101  ·  view source on GitHub ↗
(i, j int)

Source from the content-addressed store, hash-verified

57}
58
59func (t *Tablet) Swap(i, j int) {
60 for index, schema := range t.measurementSchemas {
61 switch schema.DataType {
62 case BOOLEAN:
63 sortedSlice := t.values[index].([]bool)
64 sortedSlice[i], sortedSlice[j] = sortedSlice[j], sortedSlice[i]
65 case INT32, DATE:
66 sortedSlice := t.values[index].([]int32)
67 sortedSlice[i], sortedSlice[j] = sortedSlice[j], sortedSlice[i]
68 case INT64, TIMESTAMP:
69 sortedSlice := t.values[index].([]int64)
70 sortedSlice[i], sortedSlice[j] = sortedSlice[j], sortedSlice[i]
71 case FLOAT:
72 sortedSlice := t.values[index].([]float32)
73 sortedSlice[i], sortedSlice[j] = sortedSlice[j], sortedSlice[i]
74 case DOUBLE:
75 sortedSlice := t.values[index].([]float64)
76 sortedSlice[i], sortedSlice[j] = sortedSlice[j], sortedSlice[i]
77 case TEXT, BLOB, STRING:
78 sortedSlice := t.values[index].([][]byte)
79 sortedSlice[i], sortedSlice[j] = sortedSlice[j], sortedSlice[i]
80 }
81 }
82 if t.bitMaps != nil {
83 for _, bitMap := range t.bitMaps {
84 if bitMap != nil {
85 isNilI := bitMap.IsMarked(i)
86 isNilJ := bitMap.IsMarked(j)
87 if isNilI {
88 bitMap.Mark(j)
89 } else {
90 bitMap.UnMark(j)
91 }
92 if isNilJ {
93 bitMap.Mark(i)
94 } else {
95 bitMap.UnMark(i)
96 }
97 }
98 }
99 }
100 t.timestamps[i], t.timestamps[j] = t.timestamps[j], t.timestamps[i]
101}
102
103func (t *Tablet) Less(i, j int) bool {
104 return t.timestamps[i] < t.timestamps[j]

Callers

nothing calls this directly

Calls 3

IsMarkedMethod · 0.80
MarkMethod · 0.80
UnMarkMethod · 0.80

Tested by

no test coverage detected