Skip to content

Commit ffd11a5

Browse files
committed
apply spotless
Signed-off-by: xinyual <xinyual@amazon.com>
1 parent 63f8cb9 commit ffd11a5

2 files changed

Lines changed: 42 additions & 27 deletions

File tree

integ-test/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,8 @@ integTest {
448448

449449
dependsOn ':opensearch-sql-plugin:bundlePlugin'
450450
if(getOSFamilyType() != "windows") {
451-
//dependsOn startPrometheus
452-
//finalizedBy stopPrometheus
451+
dependsOn startPrometheus
452+
finalizedBy stopPrometheus
453453
}
454454

455455
// enable calcite codegen in IT

opensearch/src/main/java/org/opensearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequest.java

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -109,31 +109,6 @@ public Map<String, OpenSearchDataType> getFieldTypes() {
109109
return fieldTypes;
110110
}
111111

112-
private void mergeObjectAndArrayInsideMap(
113-
Map<String, OpenSearchDataType> target, Map<String, OpenSearchDataType> source) {
114-
for (Map.Entry<String, OpenSearchDataType> entry : source.entrySet()) {
115-
String key = entry.getKey();
116-
OpenSearchDataType value = entry.getValue();
117-
118-
if (target.containsKey(key) && checkWhetherToMerge(value, target.get(key))) {
119-
OpenSearchDataType merged = target.get(key);
120-
mergeObjectAndArrayInsideMap(merged.getProperties(), value.getProperties());
121-
target.put(key, merged);
122-
} else {
123-
target.put(key, value);
124-
}
125-
}
126-
}
127-
128-
private Boolean checkWhetherToMerge(OpenSearchDataType first, OpenSearchDataType second) {
129-
if (first.getExprCoreType() == second.getExprCoreType()
130-
&& (first.getExprCoreType() == ExprCoreType.STRUCT
131-
|| first.getExprCoreType() == ExprCoreType.ARRAY)) {
132-
return true;
133-
}
134-
return false;
135-
}
136-
137112
/**
138113
* Get the minimum of the max result windows of the indices.
139114
*
@@ -185,6 +160,46 @@ private String clusterName(Map<String, String> meta) {
185160
return meta.getOrDefault(META_CLUSTER_NAME, DEFAULT_TABLE_CAT);
186161
}
187162

163+
/**
164+
* The function accept two map and merge them. It will merge object/nested DataType if they're
165+
* under same key
166+
*
167+
* @param target The target map we will merge into
168+
* @param source The candidate map
169+
*/
170+
private void mergeObjectAndArrayInsideMap(
171+
Map<String, OpenSearchDataType> target, Map<String, OpenSearchDataType> source) {
172+
for (Map.Entry<String, OpenSearchDataType> entry : source.entrySet()) {
173+
String key = entry.getKey();
174+
OpenSearchDataType value = entry.getValue();
175+
176+
if (target.containsKey(key) && checkWhetherToMerge(value, target.get(key))) {
177+
OpenSearchDataType merged = target.get(key);
178+
mergeObjectAndArrayInsideMap(merged.getProperties(), value.getProperties());
179+
target.put(key, merged);
180+
} else {
181+
target.put(key, value);
182+
}
183+
}
184+
}
185+
186+
/**
187+
* The function check whether the two DataType need to be merged if they are under same key.
188+
* currently we only merge nested and object
189+
*
190+
* @param first the
191+
* @param second
192+
* @return
193+
*/
194+
private Boolean checkWhetherToMerge(OpenSearchDataType first, OpenSearchDataType second) {
195+
if (first.getExprCoreType() == second.getExprCoreType()
196+
&& (first.getExprCoreType() == ExprCoreType.STRUCT
197+
|| first.getExprCoreType() == ExprCoreType.ARRAY)) {
198+
return true;
199+
}
200+
return false;
201+
}
202+
188203
@Override
189204
public String toString() {
190205
return "OpenSearchDescribeIndexRequest{indexName='" + indexName + "\'}";

0 commit comments

Comments
 (0)