Skip to content

Commit dbc6f30

Browse files
Address more code review feedback
1 parent 408fba0 commit dbc6f30

File tree

5 files changed

+87
-29
lines changed

5 files changed

+87
-29
lines changed

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/expression/predicate/regex/WildcardPattern.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* Similar to basic regex, supporting '?' wildcard for single character (same as regex ".")
2626
* and '*' wildcard for multiple characters (same as regex ".*")
2727
* <p>
28-
* Allows escaping based on a regular char
28+
* Allows escaping based on a regular char.
2929
*
3030
*/
3131
public class WildcardPattern extends AbstractStringPattern implements Writeable {

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/expression/predicate/regex/WildcardPatternList.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* similar to basic regex, supporting '?' wildcard for single character (same as regex ".")
2323
* and '*' wildcard for multiple characters (same as regex ".*")
2424
* <p>
25-
* Allows escaping based on a regular char
25+
* Allows escaping based on a regular char.
2626
*
2727
*/
2828
public class WildcardPatternList extends AbstractStringPattern implements Writeable {
@@ -42,10 +42,6 @@ public void writeTo(StreamOutput out) throws IOException {
4242
out.writeCollection(patternList, (o, pattern) -> pattern.writeTo(o));
4343
}
4444

45-
public static WildcardPatternList readFrom(StreamInput in) throws IOException {
46-
return new WildcardPatternList(in);
47-
}
48-
4945
public List<WildcardPattern> patternList() {
5046
return patternList;
5147
}

x-pack/plugin/esql/qa/testFixtures/src/main/resources/where-like.csv-spec

Lines changed: 83 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,28 @@ emp_no:integer | first_name:keyword
8383

8484
likeListEmptyArgWildcard
8585
required_capability: like_with_list_of_patterns
86-
from employees | where first_name like ("") | keep emp_no, first_name;
86+
FROM employees
87+
| WHERE first_name like ("")
88+
| KEEP emp_no, first_name;
8789

8890
emp_no:integer | first_name:keyword
8991
;
9092

9193
likeListSingleArgWildcard
9294
required_capability: like_with_list_of_patterns
93-
from employees | where first_name like ("Eberhardt*") | keep emp_no, first_name;
95+
FROM employees
96+
| WHERE first_name like ("Eberhardt*")
97+
| KEEP emp_no, first_name;
9498

9599
emp_no:integer | first_name:keyword
96100
10013 | Eberhardt
97101
;
98102

99103
likeListTwoArgWildcard
100104
required_capability: like_with_list_of_patterns
101-
from employees | where first_name like ("Eberhardt*", "testString*") | keep emp_no, first_name;
105+
FROM employees
106+
| WHERE first_name like ("Eberhardt*", "testString*")
107+
| KEEP emp_no, first_name;
102108

103109
emp_no:integer | first_name:keyword
104110
10013 | Eberhardt
@@ -118,7 +124,10 @@ foobar
118124

119125
likeListThreeArgWildcard
120126
required_capability: like_with_list_of_patterns
121-
from employees | where first_name like ("Eberhardt*", "Ot*", "Part?") | keep emp_no, first_name | sort emp_no;
127+
FROM employees
128+
| WHERE first_name like ("Eberhardt*", "Ot*", "Part?")
129+
| KEEP emp_no, first_name
130+
| SORT emp_no;
122131

123132
emp_no:integer | first_name:keyword
124133
10003 | Parto
@@ -129,7 +138,11 @@ emp_no:integer | first_name:keyword
129138

130139
likeListMultipleWhere
131140
required_capability: like_with_list_of_patterns
132-
from employees | where first_name like ("Eberhardt*", "Ot*", "Part?") | where first_name like ("Eberhard?", "Otm*")| keep emp_no, first_name | sort emp_no;
141+
FROM employees
142+
| WHERE first_name like ("Eberhardt*", "Ot*", "Part?")
143+
| WHERE first_name like ("Eberhard?", "Otm*")
144+
| KEEP emp_no, first_name
145+
| SORT emp_no;
133146

134147
emp_no:integer | first_name:keyword
135148
10013 | Eberhardt
@@ -138,7 +151,11 @@ emp_no:integer | first_name:keyword
138151

139152
likeListAllWildcard
140153
required_capability: like_with_list_of_patterns
141-
from employees | where first_name like ("*") | keep emp_no, first_name | sort emp_no | limit 2;
154+
FROM employees
155+
| WHERE first_name like ("*")
156+
| KEEP emp_no, first_name
157+
| SORT emp_no
158+
| LIMIT 2;
142159

143160
emp_no:integer | first_name:keyword
144161
10001 | Georgi
@@ -147,22 +164,29 @@ emp_no:integer | first_name:keyword
147164

148165
likeListOverlappingPatterns
149166
required_capability: like_with_list_of_patterns
150-
from employees | where first_name like ("Eber*", "Eberhardt") | keep emp_no, first_name;
167+
FROM employees
168+
| WHERE first_name like ("Eber*", "Eberhardt")
169+
| KEEP emp_no, first_name;
151170

152171
emp_no:integer | first_name:keyword
153172
10013 | Eberhardt
154173
;
155174

156175
likeListCaseSensitive
157176
required_capability: like_with_list_of_patterns
158-
from employees | where first_name like ("eberhardt", "EBERHARDT") | keep emp_no, first_name;
177+
FROM employees
178+
| WHERE first_name like ("eberhardt", "EBERHARDT")
179+
| KEEP emp_no, first_name;
159180

160181
emp_no:integer | first_name:keyword
161182
;
162183

163184
likeListSpecialCharacters
164185
required_capability: like_with_list_of_patterns
165-
from employees | where first_name like ("*ar*", "?eor*") | keep emp_no, first_name | sort emp_no;
186+
FROM employees
187+
| WHERE first_name like ("*ar*", "?eor*")
188+
| KEEP emp_no, first_name
189+
| SORT emp_no;
166190

167191
emp_no:integer | first_name:keyword
168192
10001 | Georgi
@@ -182,14 +206,19 @@ emp_no:integer | first_name:keyword
182206

183207
likeListEscapedWildcard
184208
required_capability: like_with_list_of_patterns
185-
from employees | where first_name like ("Eberhar\\*") | keep emp_no, first_name;
209+
FROM employees
210+
| WHERE first_name like ("Eberhar\\*")
211+
| KEEP emp_no, first_name;
186212

187213
emp_no:integer | first_name:keyword
188214
;
189215

190216
likeListNineOrMoreLetters
191217
required_capability: like_with_list_of_patterns
192-
from employees | where first_name like ("?????????*") | keep emp_no, first_name | sort emp_no;
218+
FROM employees
219+
| WHERE first_name like ("?????????*")
220+
| KEEP emp_no, first_name
221+
| SORT emp_no;
193222

194223
emp_no:integer | first_name:keyword
195224
10004 | Chirstian
@@ -206,7 +235,10 @@ emp_no:integer | first_name:keyword
206235

207236
notLikeListThreeArgWildcardNotOtherFilter
208237
required_capability: like_with_list_of_patterns
209-
from employees | where first_name not like ("Eberhardt*", "Ot*", "Part?") and emp_no < 10010 | keep emp_no, first_name | sort emp_no;
238+
FROM employees
239+
| WHERE first_name not like ("Eberhardt*", "Ot*", "Part?") and emp_no < 10010
240+
| KEEP emp_no, first_name
241+
| SORT emp_no;
210242

211243
emp_no:integer | first_name:keyword
212244
10001 | Georgi
@@ -221,7 +253,10 @@ emp_no:integer | first_name:keyword
221253

222254
likeListBeginningWithWildcard
223255
required_capability: like_with_list_of_patterns
224-
from employees | where first_name like ("A*", "B*", "C*") | keep emp_no, first_name | sort emp_no;
256+
FROM employees
257+
| WHERE first_name like ("A*", "B*", "C*")
258+
| KEEP emp_no, first_name
259+
| SORT emp_no;
225260

226261
emp_no:integer | first_name:keyword
227262
10002 | Bezalel
@@ -244,7 +279,10 @@ emp_no:integer | first_name:keyword
244279

245280
notLikeListThreeArgWildcardOtherFirst
246281
required_capability: like_with_list_of_patterns
247-
from employees | where emp_no < 10010 and first_name not like ("Eberhardt*", "Ot*", "Part?") | keep emp_no, first_name | sort emp_no;
282+
FROM employees
283+
| WHERE emp_no < 10010 and first_name not like ("Eberhardt*", "Ot*", "Part?")
284+
| KEEP emp_no, first_name
285+
| SORT emp_no;
248286

249287
emp_no:integer | first_name:keyword
250288
10001 | Georgi
@@ -259,7 +297,10 @@ emp_no:integer | first_name:keyword
259297

260298
notLikeFiveOrLessLetters
261299
required_capability: like_with_list_of_patterns
262-
from employees | where first_name not like ("??????*") | keep emp_no, first_name | sort emp_no;
300+
FROM employees
301+
| WHERE first_name not like ("??????*")
302+
| KEEP emp_no, first_name
303+
| SORT emp_no;
263304

264305
emp_no:integer | first_name:keyword
265306
10003 | Parto
@@ -291,7 +332,11 @@ emp_no:integer | first_name:keyword
291332

292333
notLikeListMultipleWhere
293334
required_capability: like_with_list_of_patterns
294-
from employees | where first_name not like ("Eberhardt*", "Ot*", "Part?", "A*", "B*", "C*", "D*") | where first_name not like ("Eberhard?", "Otm*", "F*", "G*", "H*", "I*", "J*", "K*", "L*")| keep emp_no, first_name | sort emp_no;
335+
FROM employees
336+
| WHERE first_name not like ("Eberhardt*", "Ot*", "Part?", "A*", "B*", "C*", "D*")
337+
| WHERE first_name not like ("Eberhard?", "Otm*", "F*", "G*", "H*", "I*", "J*", "K*", "L*")
338+
| KEEP emp_no, first_name
339+
| SORT emp_no;
295340

296341
emp_no:integer | first_name:keyword
297342
10007 | Tzvetan
@@ -342,7 +387,11 @@ emp_no:integer | first_name:keyword
342387

343388
notLikeListNotField
344389
required_capability: like_with_list_of_patterns
345-
from employees | where not first_name like ("Eberhardt*", "Ot*", "Part?", "A*", "B*", "C*", "D*") | where first_name not like ("Eberhard?", "Otm*", "F*", "G*", "H*", "I*", "J*", "K*", "L*")| keep emp_no, first_name | sort emp_no;
390+
FROM employees
391+
| WHERE not first_name like ("Eberhardt*", "Ot*", "Part?", "A*", "B*", "C*", "D*")
392+
| WHERE first_name not like ("Eberhard?", "Otm*", "F*", "G*", "H*", "I*", "J*", "K*", "L*")
393+
| KEEP emp_no, first_name
394+
| SORT emp_no;
346395

347396
emp_no:integer | first_name:keyword
348397
10007 | Tzvetan
@@ -393,7 +442,11 @@ emp_no:integer | first_name:keyword
393442

394443
notLikeListAllWildcard
395444
required_capability: like_with_list_of_patterns
396-
from employees | where first_name not like ("*") | keep emp_no, first_name | sort emp_no | limit 2;
445+
FROM employees
446+
| WHERE first_name not like ("*")
447+
| KEEP emp_no, first_name
448+
| SORT emp_no
449+
| LIMIT 2;
397450

398451
emp_no:integer | first_name:keyword
399452
10030 | null
@@ -402,7 +455,10 @@ emp_no:integer | first_name:keyword
402455

403456
notLikeListWildcard
404457
required_capability: like_with_list_of_patterns
405-
from employees | where first_name not like ("A*","B*", "C*", "D*","E*", "F*", "G*", "H*", "I*", "J*", "K*") | keep emp_no, first_name | sort emp_no;
458+
FROM employees
459+
| WHERE first_name not like ("A*","B*", "C*", "D*","E*", "F*", "G*", "H*", "I*", "J*", "K*")
460+
| KEEP emp_no, first_name
461+
| SORT emp_no;
406462

407463
emp_no:integer | first_name:keyword
408464
10003 | Parto
@@ -455,7 +511,10 @@ emp_no:integer | first_name:keyword
455511

456512
likeListWithUpperTurnedInsensitive
457513
required_capability: like_with_list_of_patterns
458-
FROM employees | WHERE TO_UPPER(first_name) LIKE ("GEOR*") | keep emp_no, first_name | sort emp_no;
514+
FROM employees
515+
| WHERE TO_UPPER(first_name) LIKE ("GEOR*")
516+
| KEEP emp_no, first_name
517+
| SORT emp_no;
459518

460519
emp_no:integer | first_name:keyword
461520
10001 | Georgi
@@ -464,7 +523,10 @@ emp_no:integer | first_name:keyword
464523

465524
likeListWithUpperTurnedInsensitiveMult
466525
required_capability: like_with_list_of_patterns
467-
FROM employees | WHERE TO_UPPER(first_name) LIKE ("GEOR*", "WE*") | keep emp_no, first_name | sort emp_no;
526+
FROM employees
527+
| WHERE TO_UPPER(first_name) LIKE ("GEOR*", "WE*")
528+
| KEEP emp_no, first_name
529+
| SORT emp_no;
468530

469531
emp_no:integer | first_name:keyword
470532
10001 | Georgi

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/scalar/string/regex/WildcardLikeList.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public WildcardLikeList(StreamInput in) throws IOException {
5050
this(
5151
Source.readFrom((PlanStreamInput) in),
5252
in.readNamedWriteable(Expression.class),
53-
WildcardPatternList.readFrom(in),
53+
new WildcardPatternList(in),
5454
deserializeCaseInsensitivity(in)
5555
);
5656
}

x-pack/plugin/ql/src/main/java/org/elasticsearch/xpack/ql/expression/predicate/regex/WildcardPattern.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
* Similar to basic regex, supporting '?' wildcard for single character (same as regex ".")
1919
* and '*' wildcard for multiple characters (same as regex ".*")
2020
* <p>
21-
* Allows escaping based on a regular char
21+
* Allows escaping based on a regular char.
2222
*
2323
*/
2424
public class WildcardPattern extends AbstractStringPattern {

0 commit comments

Comments
 (0)