Skip to content

Commit 379ba92

Browse files
authored
Fix gen empty tablet
2 parents 4af9b4c + db822d7 commit 379ba92

File tree

1 file changed

+33
-27
lines changed

1 file changed

+33
-27
lines changed

iotdb-2.0/src/main/java/cn/edu/tsinghua/iot/benchmark/iotdb200/DMLStrategy/SessionStrategy.java

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ private Tablet genTablet(IBatch batch) {
141141
schemaList,
142142
columnTypes,
143143
batch.getRecords().size() * config.getDEVICE_NUM_PER_WRITE());
144-
Object[] values = tablet.getValues();
145144
int stepOff = 0;
146145
batch.reset();
147146
// Convert multiple batches to tablets
@@ -158,46 +157,53 @@ private Tablet genTablet(IBatch batch) {
158157
recordValueIndex++) {
159158
switch (sensors.get(sensorIndex).getSensorType()) {
160159
case BOOLEAN:
161-
boolean[] sensorsBool = (boolean[]) values[recordValueIndex];
162-
sensorsBool[recordIndex] =
163-
(boolean) (record.getRecordDataValue().get(recordValueIndex));
160+
tablet.addValue(
161+
recordIndex,
162+
recordValueIndex,
163+
(boolean) record.getRecordDataValue().get(recordValueIndex));
164164
break;
165165
case INT32:
166-
int[] sensorsInt = (int[]) values[recordValueIndex];
167-
sensorsInt[recordIndex] = (int) (record.getRecordDataValue().get(recordValueIndex));
166+
tablet.addValue(
167+
recordIndex,
168+
recordValueIndex,
169+
(int) record.getRecordDataValue().get(recordValueIndex));
168170
break;
169171
case INT64:
170-
long[] sensorsLong = (long[]) values[recordValueIndex];
171-
sensorsLong[recordIndex] = (long) (record.getRecordDataValue().get(recordValueIndex));
172+
case TIMESTAMP:
173+
tablet.addValue(
174+
recordIndex,
175+
recordValueIndex,
176+
(long) record.getRecordDataValue().get(recordValueIndex));
172177
break;
173178
case FLOAT:
174-
float[] sensorsFloat = (float[]) values[recordValueIndex];
175-
sensorsFloat[recordIndex] =
176-
(float) (record.getRecordDataValue().get(recordValueIndex));
179+
tablet.addValue(
180+
recordIndex,
181+
recordValueIndex,
182+
(float) record.getRecordDataValue().get(recordValueIndex));
177183
break;
178184
case DOUBLE:
179-
double[] sensorsDouble = (double[]) values[recordValueIndex];
180-
sensorsDouble[recordIndex] =
181-
(double) (record.getRecordDataValue().get(recordValueIndex));
185+
tablet.addValue(
186+
recordIndex,
187+
recordValueIndex,
188+
(double) record.getRecordDataValue().get(recordValueIndex));
182189
break;
183190
case TEXT:
184191
case STRING:
185192
case BLOB:
186-
Binary[] sensorsText = (Binary[]) values[recordValueIndex];
187-
sensorsText[recordIndex] =
188-
binaryCache.computeIfAbsent(
189-
(String) record.getRecordDataValue().get(recordValueIndex),
190-
BytesUtils::valueOf);
191-
break;
192-
case TIMESTAMP:
193-
long[] sensorsTimestamp = (long[]) values[recordValueIndex];
194-
sensorsTimestamp[recordIndex] =
195-
(long) (record.getRecordDataValue().get(recordValueIndex));
193+
tablet.addValue(
194+
recordIndex,
195+
recordValueIndex,
196+
binaryCache
197+
.computeIfAbsent(
198+
(String) record.getRecordDataValue().get(recordValueIndex),
199+
BytesUtils::valueOf)
200+
.getValues());
196201
break;
197202
case DATE:
198-
LocalDate[] sensorsDate = (LocalDate[]) values[recordValueIndex];
199-
sensorsDate[recordIndex] =
200-
(LocalDate) (record.getRecordDataValue().get(recordValueIndex));
203+
tablet.addValue(
204+
recordIndex,
205+
recordValueIndex,
206+
(LocalDate) record.getRecordDataValue().get(recordValueIndex));
201207
break;
202208
default:
203209
LOGGER.error("Unsupported Type: {}", sensors.get(sensorIndex).getSensorType());

0 commit comments

Comments
 (0)