Skip to content

Commit 5250dce

Browse files
committed
date fields
1 parent 47df3b4 commit 5250dce

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
*/
2121
public class DateEsField extends EsField {
2222

23-
public static DateEsField dateEsField(String name, Map<String, EsField> properties, boolean hasDocValues) {
24-
return new DateEsField(name, DataType.DATETIME, properties, hasDocValues, TimeSeriesFieldType.UNKNOWN);
23+
public static DateEsField dateEsField(String name, Map<String, EsField> properties, boolean hasDocValues, TimeSeriesFieldType tsType) {
24+
return new DateEsField(name, DataType.DATETIME, properties, hasDocValues, tsType);
2525
}
2626

2727
private DateEsField(

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
@@ -108,7 +108,7 @@ private static void walkMapping(String name, Object value, Map<String, EsField>
108108
boolean normalized = Strings.hasText(textSetting(content.get("normalizer"), null));
109109
field = new KeywordEsField(name, properties, docValues, length, normalized, false, EsField.TimeSeriesFieldType.NONE);
110110
} else if (esDataType == DATETIME) {
111-
field = DateEsField.dateEsField(name, properties, docValues);
111+
field = DateEsField.dateEsField(name, properties, docValues, EsField.TimeSeriesFieldType.NONE);
112112
} else if (esDataType == UNSUPPORTED) {
113113
String type = content.get("type").toString();
114114
field = new UnsupportedEsField(name, List.of(type), null, properties);

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/session/IndexResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ private static EsField createField(
228228
return new KeywordEsField(name, new HashMap<>(), aggregatable, length, normalized, isAlias, timeSeriesFieldType);
229229
}
230230
if (type == DATETIME) {
231-
return DateEsField.dateEsField(name, new HashMap<>(), aggregatable);
231+
return DateEsField.dateEsField(name, new HashMap<>(), aggregatable, timeSeriesFieldType);
232232
}
233233
if (type == UNSUPPORTED) {
234234
return unsupported(name, first);

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@
1414

1515
public class DateEsFieldTests extends AbstractEsFieldTypeTests<DateEsField> {
1616
static DateEsField randomDateEsField(int maxPropertiesDepth) {
17-
return DateEsField.dateEsField(randomAlphaOfLength(5), randomProperties(maxPropertiesDepth), randomBoolean());
17+
return DateEsField.dateEsField(
18+
randomAlphaOfLength(5),
19+
randomProperties(maxPropertiesDepth),
20+
randomBoolean(),
21+
randomFrom(EsField.TimeSeriesFieldType.values())
22+
);
1823
}
1924

2025
@Override
@@ -27,12 +32,14 @@ protected DateEsField mutate(DateEsField instance) {
2732
String name = instance.getName();
2833
Map<String, EsField> properties = instance.getProperties();
2934
boolean aggregatable = instance.isAggregatable();
30-
switch (between(0, 2)) {
35+
EsField.TimeSeriesFieldType tsType = instance.getTimeSeriesFieldType();
36+
switch (between(0, 3)) {
3137
case 0 -> name = randomAlphaOfLength(name.length() + 1);
3238
case 1 -> properties = randomValueOtherThan(properties, () -> randomProperties(4));
3339
case 2 -> aggregatable = false == aggregatable;
40+
case 3 -> tsType = randomFrom(EsField.TimeSeriesFieldType.values());
3441
default -> throw new IllegalArgumentException();
3542
}
36-
return DateEsField.dateEsField(name, properties, aggregatable);
43+
return DateEsField.dateEsField(name, properties, aggregatable, tsType);
3744
}
3845
}

0 commit comments

Comments
 (0)