@@ -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