@@ -19,7 +19,7 @@ def test_lateral_flatten(connection):
1919 )
2020 res = (
2121 connection .cursor ()
22- .execute ("select x, root.value from bar, lateral flatten(d) as root" " where root.value*root.value = x;" )
22+ .execute ("select x, root.value from bar, lateral flatten(d) as root where root.value*root.value = x;" )
2323 .fetchall ()
2424 )
2525 assert res == [(4 , 2 ), (9 , 3 )]
@@ -56,7 +56,7 @@ def test_bools(connection):
5656def test_null_bools_and_dates (connection ):
5757 connection .cursor ().execute ("create table bar (x timestamp, y boolean)" )
5858 connection .cursor ().execute (
59- "insert into bar values " " ('2014-01-01 16:00:00', true)," " (null, false), " " ('2023-01-08 17:00:00', null)"
59+ "insert into bar values ('2014-01-01 16:00:00', true), (null, false), ('2023-01-08 17:00:00', null)"
6060 )
6161 res = connection .cursor ().execute ("select * from bar;" ).fetchall ()
6262 assert res == [(datetime (2014 , 1 , 1 , 16 , 0 ), True ), (None , False ), (datetime (2023 , 1 , 8 , 17 , 0 ), None )]
@@ -82,3 +82,31 @@ def test_json(connection, db, query, expected):
8282 connection .cursor ().execute ("""insert into bar values (1, '{"a":"1", "b":"1"}'), (2, '{"a":"2", "b":"2"}')""" )
8383 res = connection .cursor ().execute (query ).fetchall ()
8484 assert res == expected
85+
86+
87+ @mark .parametrize (
88+ ("query" , "expected" ),
89+ [
90+ (
91+ "select ARRAY_CONSTRUCT(NULL, x) from bar;" ,
92+ [
93+ ([None , "hello" ],),
94+ ],
95+ ),
96+ (
97+ "select ARRAY_CONSTRUCT(ARRAY_CONSTRUCT(NULL, x)) from bar;" ,
98+ [
99+ (
100+ [
101+ [None , "hello" ],
102+ ],
103+ ),
104+ ],
105+ ),
106+ ],
107+ )
108+ def test_array (connection , db , query , expected ):
109+ connection .cursor ().execute ("create table bar (x text)" )
110+ connection .cursor ().execute ("""insert into bar (x) values ('hello')""" )
111+ res = connection .cursor ().execute (query ).fetchall ()
112+ assert res == expected
0 commit comments