Skip to content

Commit

Permalink
[misc] test suite stability improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
rusher committed Nov 3, 2022
1 parent 4337157 commit 9843769
Showing 1 changed file with 76 additions and 71 deletions.
147 changes: 76 additions & 71 deletions src/test/java/org/mariadb/jdbc/integration/UpdateResultSetTest.java
Expand Up @@ -609,78 +609,83 @@ public void updateBlobClob() throws SQLException, IOException {
Statement stmt = sharedConn.createStatement();
stmt.execute("DROP TABLE IF EXISTS updateBlob");
stmt.execute("CREATE TABLE updateBlob(id int not null primary key, strm blob)");
PreparedStatement prep =
sharedConn.prepareStatement("insert into updateBlob (id, strm) values (?,?)");
byte[] theBlob = {1, 2, 3, 4, 5, 6};
InputStream stream = new ByteArrayInputStream(theBlob);

prep.setInt(1, 1);
prep.setBlob(2, stream);
prep.execute();

byte[] updatedBlob = "abcdef".getBytes(StandardCharsets.UTF_8);

try (PreparedStatement preparedStatement =
sharedConn.prepareStatement(
"select * from updateBlob", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE)) {
ResultSet rs = preparedStatement.executeQuery();
assertTrue(rs.next());

rs.updateBlob(2, new ByteArrayInputStream(updatedBlob));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateBlob("strm", new ByteArrayInputStream(updatedBlob));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateBlob(2, new ByteArrayInputStream(updatedBlob), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateBlob("strm", new ByteArrayInputStream(updatedBlob), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob(2, new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob("strm", new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob(2, new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob("strm", new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob(2, new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob("strm", new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob(2, new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob("strm", new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);
}
stmt.execute("START TRANSACTION ");
try {
PreparedStatement prep =
sharedConn.prepareStatement("insert into updateBlob (id, strm) values (?,?)");
byte[] theBlob = {1, 2, 3, 4, 5, 6};
InputStream stream = new ByteArrayInputStream(theBlob);

prep.setInt(1, 1);
prep.setBlob(2, stream);
prep.execute();

byte[] updatedBlob = "abcdef".getBytes(StandardCharsets.UTF_8);

try (PreparedStatement preparedStatement =
sharedConn.prepareStatement(
"select * from updateBlob", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE)) {
ResultSet rs = preparedStatement.executeQuery();
assertTrue(rs.next());

rs.updateBlob(2, new ByteArrayInputStream(updatedBlob));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateBlob("strm", new ByteArrayInputStream(updatedBlob));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateBlob(2, new ByteArrayInputStream(updatedBlob), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateBlob("strm", new ByteArrayInputStream(updatedBlob), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob(2, new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob("strm", new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob(2, new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateClob("strm", new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob(2, new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob("strm", new StringReader("abcdef"));
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob(2, new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);

rs.updateNClob("strm", new StringReader("abcdef"), 20L);
rs.updateRow();
checkResult(rs, updatedBlob);
}

try (PreparedStatement preparedStatement =
sharedConn.prepareStatement(
"select * from updateBlob", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE)) {
ResultSet rs = preparedStatement.executeQuery();
assertTrue(rs.next());
checkResult(rs, updatedBlob);
try (PreparedStatement preparedStatement =
sharedConn.prepareStatement(
"select * from updateBlob", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE)) {
ResultSet rs = preparedStatement.executeQuery();
assertTrue(rs.next());
checkResult(rs, updatedBlob);
}
} finally {
sharedConn.rollback();
}
}

Expand Down

0 comments on commit 9843769

Please sign in to comment.