Skip to content

Commit 8015c23

Browse files
authored
SQL: Change the runtime field script for IT tests (elastic#71512) (elastic#71553)
Change the runtime field used in tests to overcome H2's locale dependent implications in certain date/time related queries (cherry picked from commit a46c1d6)
1 parent 29a875f commit 8015c23

File tree

16 files changed

+296
-318
lines changed

16 files changed

+296
-318
lines changed

x-pack/plugin/eql/src/test/java/org/elasticsearch/xpack/eql/action/EqlSearchRequestTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.Collections;
2525
import java.util.List;
2626

27+
import static java.util.Collections.emptyMap;
2728
import static org.elasticsearch.index.query.AbstractQueryBuilder.parseInnerQueryBuilder;
2829
import static org.elasticsearch.xpack.ql.TestUtils.randomRuntimeMappings;
2930

@@ -119,7 +120,7 @@ protected EqlSearchRequest mutateInstanceForVersion(EqlSearchRequest instance, V
119120
mutatedInstance.keepAlive(instance.keepAlive());
120121
mutatedInstance.keepOnCompletion(instance.keepOnCompletion());
121122
mutatedInstance.fetchFields(version.onOrAfter(Version.V_7_13_0) ? instance.fetchFields() : null);
122-
mutatedInstance.runtimeMappings(version.onOrAfter(Version.V_7_13_0) ? instance.runtimeMappings() : Collections.emptyMap());
123+
mutatedInstance.runtimeMappings(version.onOrAfter(Version.V_7_13_0) ? instance.runtimeMappings() : emptyMap());
123124

124125
return mutatedInstance;
125126
}

x-pack/plugin/sql/qa/server/src/main/java/org/elasticsearch/xpack/sql/qa/jdbc/DataLoader.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,12 @@ private static void loadEmpDatasetIntoEs(RestClient client, String index, String
153153
// define the runtime field
154154
createIndex.startObject("runtime");
155155
{
156-
createIndex.startObject("birth_date_day_of_week").field("type", "keyword");
156+
createIndex.startObject("name").field("type", "keyword");
157157
createIndex.startObject("script")
158158
.field(
159159
"source",
160-
"if (doc['birth_date'].size()==0) return; "
161-
+ "else emit(doc['birth_date'].value.dayOfWeekEnum.getDisplayName(TextStyle.FULL, Locale.ROOT))"
160+
"if (doc['first_name.keyword'].size()==0) emit(' '.concat(doc['last_name.keyword'].value));"
161+
+ " else emit(doc['first_name.keyword'].value.concat(' ').concat(doc['last_name.keyword'].value))"
162162
);
163163
createIndex.endObject();
164164
createIndex.endObject();

x-pack/plugin/sql/qa/server/src/main/resources/alias.csv-spec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ DESCRIBE test_alias;
3131
column | type | mapping
3232
----------------------+---------------+---------------
3333
birth_date |TIMESTAMP |datetime
34-
birth_date_day_of_week|VARCHAR |keyword
3534
dep |STRUCT |nested
3635
dep.dep_id |VARCHAR |keyword
3736
dep.dep_name |VARCHAR |text
@@ -51,6 +50,7 @@ hire_date |TIMESTAMP |datetime
5150
languages |TINYINT |byte
5251
last_name |VARCHAR |text
5352
last_name.keyword |VARCHAR |keyword
53+
name |VARCHAR |keyword
5454
null_constant |VARCHAR |keyword
5555
salary |INTEGER |integer
5656
wildcard_name |VARCHAR |keyword
@@ -62,7 +62,6 @@ DESCRIBE "test_*";
6262
column | type | mapping
6363
----------------------+---------------+---------------
6464
birth_date |TIMESTAMP |datetime
65-
birth_date_day_of_week|VARCHAR |keyword
6665
dep |STRUCT |nested
6766
dep.dep_id |VARCHAR |keyword
6867
dep.dep_name |VARCHAR |text
@@ -82,6 +81,7 @@ hire_date |TIMESTAMP |datetime
8281
languages |TINYINT |byte
8382
last_name |VARCHAR |text
8483
last_name.keyword |VARCHAR |keyword
84+
name |VARCHAR |keyword
8585
null_constant |VARCHAR |keyword
8686
salary |INTEGER |integer
8787
wildcard_name |VARCHAR |keyword

x-pack/plugin/sql/qa/server/src/main/resources/command.csv-spec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ DESCRIBE LIKE 'test_emp';
277277
column | type | mapping
278278
----------------------+---------------+---------------
279279
birth_date |TIMESTAMP |datetime
280-
birth_date_day_of_week|VARCHAR |keyword
281280
dep |STRUCT |nested
282281
dep.dep_id |VARCHAR |keyword
283282
dep.dep_name |VARCHAR |text
@@ -297,6 +296,7 @@ hire_date |TIMESTAMP |datetime
297296
languages |TINYINT |byte
298297
last_name |VARCHAR |text
299298
last_name.keyword |VARCHAR |keyword
299+
name |VARCHAR |keyword
300300
null_constant |VARCHAR |keyword
301301
salary |INTEGER |integer
302302
wildcard_name |VARCHAR |keyword
@@ -308,7 +308,6 @@ DESCRIBE LIKE 'test_emp%';
308308
column | type | mapping
309309
----------------------+---------------+---------------
310310
birth_date |TIMESTAMP |datetime
311-
birth_date_day_of_week|VARCHAR |keyword
312311
dep |STRUCT |nested
313312
dep.dep_id |VARCHAR |keyword
314313
dep.dep_name |VARCHAR |text
@@ -328,6 +327,7 @@ hire_date |TIMESTAMP |datetime
328327
languages |TINYINT |byte
329328
last_name |VARCHAR |text
330329
last_name.keyword |VARCHAR |keyword
330+
name |VARCHAR |keyword
331331
null_constant |VARCHAR |keyword
332332
salary |INTEGER |integer
333333
wildcard_name |VARCHAR |keyword
@@ -339,7 +339,6 @@ DESCRIBE "test_emp";
339339
column | type | mapping
340340
----------------------+---------------+---------------
341341
birth_date |TIMESTAMP |datetime
342-
birth_date_day_of_week|VARCHAR |keyword
343342
dep |STRUCT |nested
344343
dep.dep_id |VARCHAR |keyword
345344
dep.dep_name |VARCHAR |text
@@ -354,6 +353,7 @@ hire_date |TIMESTAMP |datetime
354353
languages |TINYINT |byte
355354
last_name |VARCHAR |text
356355
last_name.keyword |VARCHAR |keyword
356+
name |VARCHAR |keyword
357357
salary |INTEGER |integer
358358
;
359359

x-pack/plugin/sql/qa/server/src/main/resources/conditionals.csv-spec

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -534,16 +534,18 @@ SELECT GREATEST(null, null, birth_date + INTERVAL 25 YEARS, hire_date + INTERVAL
534534
;
535535

536536
ifNullWithRuntimeField
537-
SELECT COUNT(*) c, IFNULL(birth_date_day_of_week, 'no day') AS day FROM test_emp GROUP BY day ORDER BY c;
537+
SELECT COUNT(*) c, LEFT(IFNULL(name, 'never'), 1) AS n FROM test_emp GROUP BY n ORDER BY n DESC LIMIT 10;
538538

539-
c:l | day:s
539+
c:l | n:s
540540
---------------+---------------
541-
8 |Monday
542-
10 |Sunday
543-
10 |no day
544-
12 |Friday
545-
13 |Saturday
546-
14 |Wednesday
547-
15 |Thursday
548-
18 |Tuesday
541+
2 |Z
542+
3 |Y
543+
1 |X
544+
1 |W
545+
3 |V
546+
2 |U
547+
3 |T
548+
11 |S
549+
3 |R
550+
5 |P
549551
;

x-pack/plugin/sql/qa/server/src/main/resources/datetime.csv-spec

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -146,21 +146,6 @@ SELECT ISO_DAY_OF_WEEK(birth_date) AS d, SUM(salary) s FROM test_emp GROUP BY d
146146
null |430039
147147
;
148148

149-
runtimeFieldDayOfWeek
150-
SELECT birth_date_day_of_week, SUM(salary) s FROM test_emp GROUP BY birth_date_day_of_week ORDER BY birth_date_day_of_week DESC;
151-
152-
birth_date_day_of_week:s| s:i
153-
------------------------+---------------
154-
Wednesday |655169
155-
Tuesday |888011
156-
Thursday |740669
157-
Sunday |386466
158-
Saturday |643304
159-
Monday |428067
160-
Friday |653130
161-
null |430039
162-
;
163-
164149
isoWeekOfYear
165150
schema::birth_date:ts|iso_week:i|week:i
166151
SELECT birth_date, IW(birth_date) iso_week, WEEK(birth_date) week FROM test_emp WHERE IW(birth_date) < 8 AND week >2 ORDER BY iso_week;
@@ -1339,9 +1324,9 @@ SELECT CAST(hire_date AS LONG) AS date FROM test_emp GROUP BY date ORDER BY date
13391324
;
13401325

13411326
dateTimeAggByIsoDayOfWeekWithFilter
1342-
SELECT IDOW(birth_date) day, DAY_NAME(birth_date) name, COUNT(*) c FROM test_emp WHERE IDOW(birth_date) < 6 GROUP BY day, name ORDER BY day desc;
1327+
SELECT IDOW(birth_date) day, DAY_NAME(birth_date) dayname, COUNT(*) c FROM test_emp WHERE IDOW(birth_date) < 6 GROUP BY day, dayname ORDER BY day desc;
13431328

1344-
day:i | name:s | c:l
1329+
day:i | dayname:s | c:l
13451330
---------------+---------------+---------------
13461331
5 |Friday |12
13471332
4 |Thursday |15
@@ -1351,9 +1336,9 @@ SELECT IDOW(birth_date) day, DAY_NAME(birth_date) name, COUNT(*) c FROM test_emp
13511336
;
13521337

13531338
dateTimeAggByIsoDayOfWeek
1354-
SELECT IDOW(birth_date) day, DAY_NAME(birth_date) name, COUNT(*) c FROM test_emp GROUP BY day, name ORDER BY day desc;
1339+
SELECT IDOW(birth_date) day, DAY_NAME(birth_date) dayname, COUNT(*) c FROM test_emp GROUP BY day, dayname ORDER BY day desc;
13551340

1356-
day:i | name:s | c:l
1341+
day:i | dayname:s | c:l
13571342
---------------+---------------+---------------
13581343
7 |Sunday |10
13591344
6 |Saturday |13

x-pack/plugin/sql/qa/server/src/main/resources/docs/docs.csv-spec

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,25 @@ describeTable
1414
// tag::describeTable
1515
DESCRIBE emp;
1616

17-
column | type | mapping
18-
----------------------+---------------+---------------
19-
birth_date |TIMESTAMP |datetime
20-
birth_date_day_of_week|VARCHAR |keyword
21-
dep |STRUCT |nested
22-
dep.dep_id |VARCHAR |keyword
23-
dep.dep_name |VARCHAR |text
24-
dep.dep_name.keyword |VARCHAR |keyword
25-
dep.from_date |TIMESTAMP |datetime
26-
dep.to_date |TIMESTAMP |datetime
27-
emp_no |INTEGER |integer
28-
first_name |VARCHAR |text
29-
first_name.keyword |VARCHAR |keyword
30-
gender |VARCHAR |keyword
31-
hire_date |TIMESTAMP |datetime
32-
languages |TINYINT |byte
33-
last_name |VARCHAR |text
34-
last_name.keyword |VARCHAR |keyword
35-
salary |INTEGER |integer
17+
column | type | mapping
18+
--------------------+---------------+---------------
19+
birth_date |TIMESTAMP |datetime
20+
dep |STRUCT |nested
21+
dep.dep_id |VARCHAR |keyword
22+
dep.dep_name |VARCHAR |text
23+
dep.dep_name.keyword|VARCHAR |keyword
24+
dep.from_date |TIMESTAMP |datetime
25+
dep.to_date |TIMESTAMP |datetime
26+
emp_no |INTEGER |integer
27+
first_name |VARCHAR |text
28+
first_name.keyword |VARCHAR |keyword
29+
gender |VARCHAR |keyword
30+
hire_date |TIMESTAMP |datetime
31+
languages |TINYINT |byte
32+
last_name |VARCHAR |text
33+
last_name.keyword |VARCHAR |keyword
34+
name |VARCHAR |keyword
35+
salary |INTEGER |integer
3636

3737
// end::describeTable
3838
;
@@ -54,25 +54,25 @@ showColumns
5454
// tag::showColumns
5555
SHOW COLUMNS IN emp;
5656

57-
column | type | mapping
58-
----------------------+---------------+---------------
59-
birth_date |TIMESTAMP |datetime
60-
birth_date_day_of_week|VARCHAR |keyword
61-
dep |STRUCT |nested
62-
dep.dep_id |VARCHAR |keyword
63-
dep.dep_name |VARCHAR |text
64-
dep.dep_name.keyword |VARCHAR |keyword
65-
dep.from_date |TIMESTAMP |datetime
66-
dep.to_date |TIMESTAMP |datetime
67-
emp_no |INTEGER |integer
68-
first_name |VARCHAR |text
69-
first_name.keyword |VARCHAR |keyword
70-
gender |VARCHAR |keyword
71-
hire_date |TIMESTAMP |datetime
72-
languages |TINYINT |byte
73-
last_name |VARCHAR |text
74-
last_name.keyword |VARCHAR |keyword
75-
salary |INTEGER |integer
57+
column | type | mapping
58+
--------------------+---------------+---------------
59+
birth_date |TIMESTAMP |datetime
60+
dep |STRUCT |nested
61+
dep.dep_id |VARCHAR |keyword
62+
dep.dep_name |VARCHAR |text
63+
dep.dep_name.keyword|VARCHAR |keyword
64+
dep.from_date |TIMESTAMP |datetime
65+
dep.to_date |TIMESTAMP |datetime
66+
emp_no |INTEGER |integer
67+
first_name |VARCHAR |text
68+
first_name.keyword |VARCHAR |keyword
69+
gender |VARCHAR |keyword
70+
hire_date |TIMESTAMP |datetime
71+
languages |TINYINT |byte
72+
last_name |VARCHAR |text
73+
last_name.keyword |VARCHAR |keyword
74+
name |VARCHAR |keyword
75+
salary |INTEGER |integer
7676

7777
// end::showColumns
7878
;
@@ -487,9 +487,9 @@ wildcardWithOrder
487487
// tag::wildcardWithOrder
488488
SELECT * FROM emp LIMIT 1;
489489

490-
birth_date |birth_date_day_of_week| emp_no | first_name | gender | hire_date | languages | last_name | salary
491-
--------------------+----------------------+---------------+---------------+---------------+--------------------+---------------+---------------+---------------
492-
1953-09-02T00:00:00Z|Wednesday |10001 |Georgi |M |1986-06-26T00:00:00Z|2 |Facello |57305
490+
birth_date | emp_no | first_name | gender | hire_date | languages | last_name | name | salary
491+
--------------------+---------------+---------------+---------------+------------------------+---------------+---------------+---------------+---------------
492+
1953-09-02T00:00:00Z|10001 |Georgi |M |1986-06-26T00:00:00.000Z|2 |Facello |Georgi Facello |57305
493493

494494
// end::wildcardWithOrder
495495
;
@@ -498,9 +498,9 @@ fromTable
498498
// tag::fromTable
499499
SELECT * FROM emp LIMIT 1;
500500

501-
birth_date |birth_date_day_of_week| emp_no | first_name | gender | hire_date | languages | last_name | salary
502-
--------------------+----------------------+---------------+---------------+---------------+--------------------+---------------+---------------+---------------
503-
1953-09-02T00:00:00Z|Wednesday |10001 |Georgi |M |1986-06-26T00:00:00Z|2 |Facello |57305
501+
birth_date | emp_no | first_name | gender | hire_date | languages | last_name | name | salary
502+
--------------------+---------------+---------------+---------------+------------------------+---------------+---------------+---------------+---------------
503+
1953-09-02T00:00:00Z|10001 |Georgi |M |1986-06-26T00:00:00.000Z|2 |Facello |Georgi Facello |57305
504504

505505

506506
// end::fromTable
@@ -510,9 +510,9 @@ fromTableQuoted
510510
// tag::fromTableQuoted
511511
SELECT * FROM "emp" LIMIT 1;
512512

513-
birth_date |birth_date_day_of_week| emp_no | first_name | gender | hire_date | languages | last_name | salary
514-
--------------------+----------------------+---------------+---------------+---------------+--------------------+---------------+---------------+---------------
515-
1953-09-02T00:00:00Z|Wednesday |10001 |Georgi |M |1986-06-26T00:00:00Z|2 |Facello |57305
513+
birth_date | emp_no | first_name | gender | hire_date | languages | last_name | name | salary
514+
--------------------+---------------+---------------+---------------+------------------------+---------------+---------------+---------------+---------------
515+
1953-09-02T00:00:00Z|10001 |Georgi |M |1986-06-26T00:00:00.000Z|2 |Facello |Georgi Facello |57305
516516

517517
// end::fromTableQuoted
518518
;

x-pack/plugin/sql/qa/server/src/main/resources/filter.csv-spec

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,19 +160,21 @@ SELECT count(*) AS c FROM test_emp WHERE birth_date::time IN ('00:00:00Z'::TIME,
160160
;
161161

162162
inWithRuntimeField
163-
SELECT COUNT(*) AS c, birth_date_day_of_week FROM test_emp WHERE birth_date_day_of_week IN ('Saturday', 'Sunday') GROUP BY birth_date_day_of_week;
163+
SELECT COUNT(*) AS c, LEFT(name, 1) AS first_letter FROM test_emp WHERE first_letter IN ('X', 'Y', 'Z') GROUP BY first_letter;
164164

165-
c:l |birth_date_day_of_week:s
166-
---------------+------------------------
167-
13 |Saturday
168-
10 |Sunday
165+
c:l |first_letter:s
166+
---------------+--------------
167+
1 |X
168+
3 |Y
169+
2 |Z
169170
;
170171

171-
inWithDayName
172-
SELECT COUNT(*) AS c, DAY_NAME(birth_date) FROM test_emp WHERE DAY_NAME(birth_date) IN ('Saturday', 'Sunday') GROUP BY DAY_NAME(birth_date);
172+
inWithConcat
173+
SELECT COUNT(*) AS c, LEFT(CONCAT(first_name, last_name), 1) AS first_letter FROM test_emp WHERE first_letter IN ('X', 'Y', 'Z') GROUP BY first_letter;
173174

174-
c:l |DAY_NAME(birth_date):s
175-
---------------+----------------------
176-
13 |Saturday
177-
10 |Sunday
175+
c:l |first_letter:s
176+
---------------+--------------
177+
1 |X
178+
3 |Y
179+
2 |Z
178180
;

x-pack/plugin/sql/qa/server/src/main/resources/fulltext.csv-spec

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,12 @@ null |1.9161749939033146|0.1480828817161133 |74999 |28336
204204
;
205205

206206
runtimeFieldWithQuery
207-
SELECT COUNT(*) AS c, birth_date_day_of_week FROM test_emp WHERE QUERY('T*','default_field=birth_date_day_of_week') OR QUERY('S*','default_field=birth_date_day_of_week') GROUP BY birth_date_day_of_week ORDER BY c;
208-
209-
c:l |birth_date_day_of_week:s
210-
---------------+------------------------
211-
10 |Sunday
212-
13 |Saturday
213-
15 |Thursday
214-
18 |Tuesday
207+
SELECT COUNT(*) AS c, name FROM test_emp WHERE QUERY('T*','default_field=name') OR QUERY('O*','default_field=name') GROUP BY name ORDER BY c;
208+
209+
c:l | name:s
210+
---------------+-----------------
211+
1 |Otmar Herbst
212+
1 |Tse Herber
213+
1 |Tuval Kalloufi
214+
1 |Tzvetan Zielinski
215215
;

0 commit comments

Comments
 (0)