File tree Expand file tree Collapse file tree 1 file changed +9
-10
lines changed Expand file tree Collapse file tree 1 file changed +9
-10
lines changed Original file line number Diff line number Diff line change @@ -5247,7 +5247,7 @@ impl<'a> Parser<'a> {
5247
5247
None
5248
5248
} ;
5249
5249
5250
- let named_window = if self . parse_keyword ( Keyword :: WINDOW ) {
5250
+ let named_windows = if self . parse_keyword ( Keyword :: WINDOW ) {
5251
5251
self . parse_comma_separated ( Parser :: parse_named_window) ?
5252
5252
} else {
5253
5253
vec ! [ ]
@@ -5259,16 +5259,15 @@ impl<'a> Parser<'a> {
5259
5259
} = proj
5260
5260
{
5261
5261
if let Some ( WindowType :: NamedWindow ( ident) ) = & f. over {
5262
- for ( i , window ) in named_window . clone ( ) . iter ( ) . enumerate ( ) {
5263
- if * ident == window . 0 {
5264
- break ;
5265
- } else if i == named_window . len ( ) - 1 {
5266
- return Err ( ParserError :: ParserError ( format ! (
5262
+ named_windows
5263
+ . iter ( )
5264
+ . find ( | IdentWindow ( name , _ ) | ident == name )
5265
+ . ok_or_else ( || {
5266
+ ParserError :: ParserError ( format ! (
5267
5267
"Window {} is not defined" ,
5268
5268
ident. value
5269
- ) ) ) ;
5270
- }
5271
- }
5269
+ ) )
5270
+ } ) ?;
5272
5271
}
5273
5272
}
5274
5273
}
@@ -5292,7 +5291,7 @@ impl<'a> Parser<'a> {
5292
5291
distribute_by,
5293
5292
sort_by,
5294
5293
having,
5295
- named_window,
5294
+ named_window : named_windows ,
5296
5295
qualify,
5297
5296
} )
5298
5297
}
You can’t perform that action at this time.
0 commit comments