@@ -671,4 +671,44 @@ public void testNullableFixedStringType() throws Exception {
671671 }
672672 }
673673 }
674+
675+ @ Test (groups = { "integration" })
676+ public void testWasNullFlagArray () throws Exception {
677+ try (Connection conn = getJdbcConnection ()) {
678+ String sql = "SELECT NULL, ['value1', 'value2']" ;
679+ Statement stmt = conn .createStatement ();
680+ stmt .executeQuery (sql );
681+ ResultSet rs = stmt .getResultSet ();
682+ assertTrue (rs .next ());
683+ int val = rs .getInt (1 );
684+ assertTrue (rs .wasNull ());
685+ Array arr = rs .getArray (2 );
686+ assertFalse (rs .wasNull ());
687+ assertNotNull (arr );
688+ Object [] values = (Object []) arr .getArray ();
689+ assertNotNull (values );
690+ assertEquals (values .length , 2 );
691+ assertEquals (values [0 ], "value1" );
692+ assertEquals (values [1 ], "value2" );
693+ }
694+
695+ try (Connection conn = getJdbcConnection ()) {
696+ String sql = "SELECT NULL, ['value1', 'value2'] AS array" ;
697+ Statement stmt = conn .createStatement ();
698+ stmt .executeQuery (sql );
699+ ResultSet rs = stmt .getResultSet ();
700+ assertTrue (rs .next ());
701+ int val = rs .getInt (1 );
702+ assertTrue (rs .wasNull ());
703+ Array arr = rs .getArray ("array" );
704+ assertFalse (rs .wasNull ());
705+ assertNotNull (arr );
706+ Object [] values = (Object []) arr .getArray ();
707+ assertNotNull (values );
708+ assertEquals (values .length , 2 );
709+ assertEquals (values [0 ], "value1" );
710+ assertEquals (values [1 ], "value2" );
711+ }
712+ }
713+
674714}
0 commit comments