Skip to content

Commit 3703533

Browse files
committed
text-field subclass
1 parent f246efa commit 3703533

File tree

4 files changed

+8
-12
lines changed

4 files changed

+8
-12
lines changed

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/EsField.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public static TimeSeriesFieldType readFromStream(StreamInput in) throws IOExcept
8787

8888
public static TimeSeriesFieldType fromIndexFieldCapabilities(IndexFieldCapabilities capabilities) {
8989
if (capabilities.isDimension()) {
90+
assert capabilities.metricType() == null;
9091
return DIMENSION;
9192
}
9293
if (capabilities.metricType() != null) {

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/TextEsField.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,6 @@
2525
*/
2626
public class TextEsField extends EsField {
2727

28-
public TextEsField(String name, Map<String, EsField> properties, boolean hasDocValues) {
29-
this(name, properties, hasDocValues, false);
30-
}
31-
32-
public TextEsField(String name, Map<String, EsField> properties, boolean hasDocValues, boolean isAlias) {
33-
super(name, TEXT, properties, hasDocValues, isAlias, TimeSeriesFieldType.UNKNOWN);
34-
}
35-
3628
public TextEsField(
3729
String name,
3830
Map<String, EsField> properties,

x-pack/plugin/esql/qa/testFixtures/src/main/java/org/elasticsearch/xpack/esql/LoadMapping.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private static void walkMapping(String name, Object value, Map<String, EsField>
102102
boolean docValues = boolSetting(content.get("doc_values"), esDataType.hasDocValues());
103103
final EsField field;
104104
if (esDataType == TEXT) {
105-
field = new TextEsField(name, properties, docValues);
105+
field = new TextEsField(name, properties, docValues, false, EsField.TimeSeriesFieldType.NONE);
106106
} else if (esDataType == KEYWORD) {
107107
int length = intSetting(content.get("ignore_above"), Short.MAX_VALUE);
108108
boolean normalized = Strings.hasText(textSetting(content.get("normalizer"), null));

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/type/TextEsFieldTests.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ static TextEsField randomTextEsField(int maxPropertiesDepth) {
1818
Map<String, EsField> properties = randomProperties(maxPropertiesDepth);
1919
boolean hasDocValues = randomBoolean();
2020
boolean isAlias = randomBoolean();
21-
return new TextEsField(name, properties, hasDocValues, isAlias);
21+
EsField.TimeSeriesFieldType tsType = randomFrom(EsField.TimeSeriesFieldType.values());
22+
return new TextEsField(name, properties, hasDocValues, isAlias, tsType);
2223
}
2324

2425
@Override
@@ -32,13 +33,15 @@ protected TextEsField mutate(TextEsField instance) {
3233
Map<String, EsField> properties = instance.getProperties();
3334
boolean hasDocValues = instance.isAggregatable();
3435
boolean isAlias = instance.isAlias();
35-
switch (between(0, 3)) {
36+
EsField.TimeSeriesFieldType tsType = instance.getTimeSeriesFieldType();
37+
switch (between(0, 4)) {
3638
case 0 -> name = randomAlphaOfLength(name.length() + 1);
3739
case 1 -> properties = randomValueOtherThan(properties, () -> randomProperties(4));
3840
case 2 -> hasDocValues = false == hasDocValues;
3941
case 3 -> isAlias = false == isAlias;
42+
case 4 -> tsType = randomValueOtherThan(tsType, () -> randomFrom(EsField.TimeSeriesFieldType.values()));
4043
default -> throw new IllegalArgumentException();
4144
}
42-
return new TextEsField(name, properties, hasDocValues, isAlias);
45+
return new TextEsField(name, properties, hasDocValues, isAlias, tsType);
4346
}
4447
}

0 commit comments

Comments
 (0)