File tree Expand file tree Collapse file tree 2 files changed +10
-6
lines changed Expand file tree Collapse file tree 2 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -2352,12 +2352,14 @@ impl<'a> Parser<'a> {
2352
2352
/// [map]: https://duckdb.org/docs/sql/data_types/map.html#creating-maps
2353
2353
fn parse_duckdb_map_literal ( & mut self ) -> Result < Expr , ParserError > {
2354
2354
self . expect_token ( & Token :: LBrace ) ?;
2355
-
2356
- let fields = self . parse_comma_separated ( Self :: parse_duckdb_map_field) ?;
2357
-
2358
- self . expect_token ( & Token :: RBrace ) ?;
2359
-
2360
- Ok ( Expr :: Map ( Map { entries : fields } ) )
2355
+ if self . peek_token ( ) . token == Token :: RBrace {
2356
+ let _ = self . next_token ( ) ; // consume }
2357
+ Ok ( Expr :: Map ( Map { entries : vec ! [ ] } ) )
2358
+ } else {
2359
+ let fields = self . parse_comma_separated ( Self :: parse_duckdb_map_field) ?;
2360
+ self . expect_token ( & Token :: RBrace ) ?;
2361
+ Ok ( Expr :: Map ( Map { entries : fields } ) )
2362
+ }
2361
2363
}
2362
2364
2363
2365
/// Parse a field for a duckdb [map]
Original file line number Diff line number Diff line change @@ -10282,6 +10282,8 @@ fn test_map_syntax() {
10282
10282
} ) ,
10283
10283
} ,
10284
10284
) ;
10285
+
10286
+ check ( "MAP {}" , Expr :: Map ( Map { entries : vec ! [ ] } ) ) ;
10285
10287
}
10286
10288
10287
10289
#[ test]
You can’t perform that action at this time.
0 commit comments