@@ -671,4 +671,44 @@ public void testNullableFixedStringType() throws Exception {
671
671
}
672
672
}
673
673
}
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
+
674
714
}
0 commit comments