@@ -267,3 +267,37 @@ testClient(async function bpcharNestedArray() {
267267 ) ;
268268 assertEquals ( result . rows [ 0 ] , [ [ [ "AB1234" ] , [ "4321BA" ] ] ] ) ;
269269} ) ;
270+
271+ testClient ( async function jsonArray ( ) {
272+ const json_array = await CLIENT . query (
273+ `SELECT ARRAY_AGG(A) FROM (
274+ SELECT JSON_BUILD_OBJECT( 'X', '1' ) AS A
275+ UNION ALL
276+ SELECT JSON_BUILD_OBJECT( 'Y', '2' ) AS A
277+ ) A` ,
278+ ) ;
279+
280+ assertEquals ( json_array . rows [ 0 ] [ 0 ] , [ { X : "1" } , { Y : "2" } ] ) ;
281+
282+ const json_array_nested = await CLIENT . query (
283+ `SELECT ARRAY[ARRAY[ARRAY_AGG(A), ARRAY_AGG(A)], ARRAY[ARRAY_AGG(A), ARRAY_AGG(A)]] FROM (
284+ SELECT JSON_BUILD_OBJECT( 'X', '1' ) AS A
285+ UNION ALL
286+ SELECT JSON_BUILD_OBJECT( 'Y', '2' ) AS A
287+ ) A` ,
288+ ) ;
289+
290+ assertEquals (
291+ json_array_nested . rows [ 0 ] [ 0 ] ,
292+ [
293+ [
294+ [ { X : "1" } , { Y : "2" } ] ,
295+ [ { X : "1" } , { Y : "2" } ] ,
296+ ] ,
297+ [
298+ [ { X : "1" } , { Y : "2" } ] ,
299+ [ { X : "1" } , { Y : "2" } ] ,
300+ ] ,
301+ ] ,
302+ ) ;
303+ } ) ;
0 commit comments