@@ -363,11 +363,24 @@ def test_ast_correctness(macro_evaluator):
363363 "SELECT column LIKE a OR column LIKE b OR column LIKE c" ,
364364 {},
365365 ),
366+ ("SELECT @REDUCE([1], (x, y) -> x + y)" , "SELECT 1" , {}),
367+ ("SELECT @REDUCE([1, 2], (x, y) -> x + y)" , "SELECT 1 + 2" , {}),
368+ ("SELECT @REDUCE([[1]], (x, y) -> x + y)" , "SELECT ARRAY(1)" , {}),
369+ ("SELECT @REDUCE([[1, 2]], (x, y) -> x + y)" , "SELECT ARRAY(1, 2)" , {}),
366370 (
367371 """select @EACH([a, b, c], x -> column like x AS @SQL('@{x}_y', 'Identifier')), @x""" ,
368372 "SELECT column LIKE a AS a_y, column LIKE b AS b_y, column LIKE c AS c_y, '3'" ,
369373 {"x" : "3" },
370374 ),
375+ ("SELECT @EACH([1], a -> [@a])" , "SELECT ARRAY(1)" , {}),
376+ ("SELECT @EACH([1, 2], a -> [@a])" , "SELECT ARRAY(1), ARRAY(2)" , {}),
377+ ("SELECT @REDUCE(@EACH([1], a -> [@a]), (x, y) -> x + y)" , "SELECT ARRAY(1)" , {}),
378+ (
379+ "SELECT @REDUCE(@EACH([1, 2], a -> [@a]), (x, y) -> x + y)" ,
380+ "SELECT ARRAY(1) + ARRAY(2)" ,
381+ {},
382+ ),
383+ ("SELECT @REDUCE([[1],[2]], (x, y) -> x + y)" , "SELECT ARRAY(1) + ARRAY(2)" , {}),
371384 (
372385 """@WITH(@do_with) all_cities as (select * from city) select all_cities""" ,
373386 "WITH all_cities AS (SELECT * FROM city) SELECT all_cities" ,
0 commit comments