in timescaledb-connector/src/main/java/com/epam/deltix/timebase/connector/service/timebase/TimebaseDescriptorService.java [157:185]
private List<TimescaleColumn> filterTimescaleColumns(List<TimescaleColumn> columns) {
return columns.stream()
.distinct()
.collect(Collectors.groupingBy(TimescaleColumn::getName))
.entrySet()
.stream()
.map(entry -> {
List<TimescaleColumn> columnList = entry.getValue();
TimescaleColumn firstColumn = columnList.get(0);
if (columnList.size() == 1) {
return firstColumn;
} else {
List<String> relatedDescriptors = columnList.stream()
.map(TimescaleColumn::getRelatedDescriptors)
.flatMap(List::stream)
.collect(Collectors.toList());
return TimescaleColumn.builder()
.dataType(firstColumn.getDataType())
.relatedDescriptors(relatedDescriptors)
.name(entry.getKey())
.isArray(firstColumn.isArray())
.isNotNull(firstColumn.isNotNull())
.isUnique(firstColumn.isUnique())
.build();
}
}).collect(Collectors.toList());
}