Skip to content

Commit 088b36d

Browse files
refactor: change to enhance for loop
1 parent 95a29cb commit 088b36d

File tree

2 files changed

+45
-49
lines changed

2 files changed

+45
-49
lines changed

src/main/java/com/influxdb/v3/client/internal/InfluxDBClientImpl.java

Lines changed: 38 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -183,51 +183,47 @@ public Stream<Object[]> query(@Nonnull final String query,
183183
@Nonnull final Map<String, Object> parameters,
184184
@Nonnull final QueryOptions options) {
185185
return queryData(query, parameters, options)
186-
.flatMap(vector -> {
187-
List<FieldVector> fieldVectors = vector.getFieldVectors();
188-
var fields = vector.getSchema().getFields();
189-
return IntStream.range(0, vector.getRowCount())
190-
.mapToObj(rowNumber -> {
191-
ArrayList<Object> row = new ArrayList<>();
192-
for (int i = 0; i < fieldVectors.size(); i++) {
193-
var schema = fields.get(i);
194-
var metaType = schema.getMetadata().get("iox::column::type");
195-
String valueType = metaType != null ? metaType.split("::")[2] : null;
196-
197-
Object value = fieldVectors.get(i).getObject(rowNumber);
198-
if ("field".equals(valueType)) {
199-
switch (metaType) {
200-
case "iox::column_type::field::integer":
201-
case "iox::column_type::field::uinteger":
202-
var intValue = (Long) value;
203-
row.add(intValue);
204-
break;
205-
case "iox::column_type::field::float":
206-
var doubleValue = (Double) value;
207-
row.add(doubleValue);
208-
break;
209-
case "iox::column_type::field::string":
210-
var textValue = (Text) value;
211-
row.add(textValue.toString());
212-
break;
213-
case "iox::column_type::field::boolean":
214-
var boolValue = (Boolean) value;
215-
row.add(boolValue);
216-
break;
217-
default:
218-
}
219-
} else if ("timestamp".equals(valueType)
220-
|| Objects.equals(schema.getName(), "time")) {
221-
BigInteger time = NanosecondConverter.getTimestampNano(value, schema);
222-
row.add(time);
223-
} else {
224-
row.add(value);
186+
.flatMap(vector -> IntStream.range(0, vector.getRowCount())
187+
.mapToObj(rowNumber -> {
188+
ArrayList<Object> row = new ArrayList<>();
189+
for (FieldVector fieldVector : vector.getFieldVectors()) {
190+
var field = fieldVector.getField();
191+
var metaType = field.getMetadata().get("iox::column::type");
192+
String valueType = metaType != null ? metaType.split("::")[2] : null;
193+
194+
Object value = fieldVector.getObject(rowNumber);
195+
if ("field".equals(valueType)) {
196+
switch (metaType) {
197+
case "iox::column_type::field::integer":
198+
case "iox::column_type::field::uinteger":
199+
var intValue = (Long) value;
200+
row.add(intValue);
201+
break;
202+
case "iox::column_type::field::float":
203+
var doubleValue = (Double) value;
204+
row.add(doubleValue);
205+
break;
206+
case "iox::column_type::field::string":
207+
var textValue = (Text) value;
208+
row.add(textValue.toString());
209+
break;
210+
case "iox::column_type::field::boolean":
211+
var boolValue = (Boolean) value;
212+
row.add(boolValue);
213+
break;
214+
default:
225215
}
216+
} else if ("timestamp".equals(valueType)
217+
|| Objects.equals(field.getName(), "time")) {
218+
BigInteger time = NanosecondConverter.getTimestampNano(value, field);
219+
row.add(time);
220+
} else {
221+
row.add(value);
226222
}
223+
}
227224

228-
return row.toArray();
229-
});
230-
});
225+
return row.toArray();
226+
}));
231227
}
232228

233229
@Nonnull

src/main/java/com/influxdb/v3/client/internal/VectorSchemaRootConverter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ PointValues toPointValues(final int rowNumber,
5959
@Nonnull final VectorSchemaRoot vector,
6060
@Nonnull final List<FieldVector> fieldVectors) {
6161
PointValues p = new PointValues();
62-
for (int i = 0; i < fieldVectors.size(); i++) {
63-
var schema = vector.getSchema().getFields().get(i);
64-
var value = fieldVectors.get(i).getObject(rowNumber);
65-
var name = schema.getName();
66-
var metaType = schema.getMetadata().get("iox::column::type");
62+
for (FieldVector fieldVector : fieldVectors) {
63+
var field = fieldVector.getField();
64+
var value = fieldVector.getObject(rowNumber);
65+
var name = field.getName();
66+
var metaType = field.getMetadata().get("iox::column::type");
6767

6868
if (value instanceof Text) {
6969
value = value.toString();
@@ -78,7 +78,7 @@ PointValues toPointValues(final int rowNumber,
7878

7979
if (metaType == null) {
8080
if (Objects.equals(name, "time") && (value instanceof Long || value instanceof LocalDateTime)) {
81-
var timeNano = NanosecondConverter.getTimestampNano(value, schema);
81+
var timeNano = NanosecondConverter.getTimestampNano(value, field);
8282
p.setTimestamp(timeNano, WritePrecision.NS);
8383
} else {
8484
// just push as field If you don't know what type is it
@@ -96,7 +96,7 @@ PointValues toPointValues(final int rowNumber,
9696
} else if ("tag".equals(valueType) && value instanceof String) {
9797
p.setTag(name, (String) value);
9898
} else if ("timestamp".equals(valueType)) {
99-
var timeNano = NanosecondConverter.getTimestampNano(value, schema);
99+
var timeNano = NanosecondConverter.getTimestampNano(value, field);
100100
p.setTimestamp(timeNano, WritePrecision.NS);
101101
}
102102
}

0 commit comments

Comments
 (0)