@@ -255,8 +255,8 @@ private void fillRowValues(PreparedStatement statement, int id, boolean castingS
255255 statement .setFloat (11 , 1.5f * id ); // c_Float
256256 statement .setDouble (12 , 2.5d * id ); // c_Double
257257
258- statement .setBytes (13 , new byte [] { ( byte ) id }); // c_Bytes
259- statement .setString (14 , "Text_" + id ); // c_Text
258+ statement .setBytes (13 , ( "bytes" + id ). getBytes ()); // c_Bytes
259+ statement .setString (14 , "Text_" + id ); // c_Text
260260
261261 UUID uuid = UUID .nameUUIDFromBytes (("uuid" + id ).getBytes ());
262262 if (castingSupported ) {
@@ -311,7 +311,7 @@ private void assertRowValues(ResultSet rs, int id) throws SQLException {
311311 Assertions .assertEquals (1.5f * id , rs .getFloat ("c_Float" ), 0.001f );
312312 Assertions .assertEquals (2.5d * id , rs .getDouble ("c_Double" ), 0.001d );
313313
314- Assertions .assertArrayEquals (new byte [] { ( byte ) id } , rs .getBytes ("c_Bytes" ));
314+ Assertions .assertArrayEquals (( "bytes" + id ). getBytes () , rs .getBytes ("c_Bytes" ));
315315 Assertions .assertEquals ("Text_" + id , rs .getString ("c_Text" ));
316316 Assertions .assertEquals ("{\" json\" : " + id + "}" , rs .getString ("c_Json" ));
317317 Assertions .assertEquals ("{\" jsonDoc\" :" + id + "}" , rs .getString ("c_JsonDocument" ));
@@ -384,7 +384,7 @@ private void assertTableRow(ResultSet rs, int id) throws SQLException {
384384 assertStructMember (PrimitiveValue .newFloat (1.5f * id ), sv , "c_Float" );
385385 assertStructMember (PrimitiveValue .newDouble (2.5d * id ), sv , "c_Double" );
386386
387- assertStructMember (PrimitiveValue .newBytes (new byte [] { ( byte ) id } ), sv , "c_Bytes" );
387+ assertStructMember (PrimitiveValue .newBytes (( "bytes" + id ). getBytes () ), sv , "c_Bytes" );
388388 assertStructMember (PrimitiveValue .newText ("Text_" + id ), sv , "c_Text" );
389389 assertStructMember (PrimitiveValue .newJson ("{\" json\" : " + id + "}" ), sv , "c_Json" );
390390 assertStructMember (PrimitiveValue .newJsonDocument ("{\" jsonDoc\" :" + id + "}" ), sv , "c_JsonDocument" );
@@ -449,6 +449,54 @@ public void batchUpsertAllTest(SqlQueries.JdbcQuery query) throws SQLException {
449449 }
450450 };
451451
452+ @ Test
453+ public void setStringTest () throws SQLException {
454+ String upsert = TEST_TABLE .upsertAll (SqlQueries .JdbcQuery .STANDARD );
455+ int id = 120 ;
456+ UUID uuid = UUID .nameUUIDFromBytes (("uuid" + id ).getBytes ());
457+
458+ try (PreparedStatement statement = jdbc .connection ().prepareStatement (upsert )) {
459+ statement .setString (1 , String .valueOf (id )); // id
460+ statement .setString (2 , String .valueOf (id % 2 == 0 )); // c_Bool
461+ statement .setString (3 , String .valueOf (id + 1 )); // c_Int8
462+ statement .setString (4 , String .valueOf (id + 2 )); // c_Int16
463+ statement .setString (5 , String .valueOf (id + 3 )); // c_Int32
464+ statement .setString (6 , String .valueOf (id + 4 )); // c_Int64
465+ statement .setString (7 , String .valueOf (id + 5 )); // c_Uint8
466+ statement .setString (8 , String .valueOf (id + 6 )); // c_Uint16
467+ statement .setString (9 , String .valueOf (id + 7 )); // c_Uint32
468+ statement .setString (10 , String .valueOf (id + 8 )); // c_Uint64
469+ statement .setString (11 , String .valueOf (1.5f * id )); // c_Float
470+ statement .setString (12 , String .valueOf (2.5d * id )); // c_Double
471+ statement .setString (13 , "bytes" + id ); // c_Bytes
472+ statement .setString (14 , "Text_" + id ); // c_Text
473+ statement .setString (15 , "{\" json\" : " + id + "}" ); // c_Json
474+ statement .setString (16 , "{\" jsonDoc\" : " + id + "}" ); // c_JsonDocument
475+ statement .setString (17 , "{yson=" + id + "}" ); // c_Yson
476+ statement .setString (18 , uuid .toString ()); // c_Uuid
477+
478+ Date sqlDate = new Date (TEST_TS .toEpochMilli ());
479+ LocalDateTime dateTime = LocalDateTime .ofInstant (TEST_TS , ZoneOffset .UTC ).plusMinutes (id );
480+
481+ statement .setString (19 , sqlDate .toString ()); // c_Date
482+ statement .setString (20 , dateTime .toString ()); // c_Datetime
483+ statement .setString (21 , TEST_TS .plusSeconds (id ).toString ()); // c_Timestamp
484+ statement .setString (22 , Duration .ofMinutes (id ).toString ()); // c_Interval
485+
486+ statement .setString (23 , BigDecimal .valueOf (10000 + id , 3 ).toString ()); // c_Decimal
487+ statement .setString (24 , BigDecimal .valueOf (20000 + id , 0 ).toString ()); // c_BigDecimal
488+ statement .setString (25 , BigDecimal .valueOf (30000 + id , 6 ).toString ()); // c_BankDecimal
489+ statement .execute ();
490+ }
491+
492+ try (Statement statement = jdbc .connection ().createStatement ()) {
493+ try (ResultSet rs = statement .executeQuery (TEST_TABLE .selectSQL ())) {
494+ assertRowValues (rs , id );
495+ Assertions .assertFalse (rs .next ());
496+ }
497+ }
498+ };
499+
452500 @ Test
453501 public void tableRowTest () throws SQLException {
454502 String upsert = TEST_TABLE .upsertAll (SqlQueries .JdbcQuery .BATCHED );
0 commit comments