/**
* Tests fix for BUG#20453712 - CLOB.SETSTRING() WITH VALID INPUT RETURNS EXCEPTION
* server-side prepared statements and streaming BINARY data.
*
* @throws Exception
* if the test fails.
*/
public void testBug20453712() throws Exception {
final String s1 = "NewClobData";
this.rs = this.stmt.executeQuery("select 'a'");
this.rs.next();
final Clob c1 = this.rs.getClob(1);
// check with wrong position
assertThrows(SQLException.class, "Starting position can not be < 1", new Callable<Void>() {
public Void call() throws Exception {
c1.setString(0, s1, 7, 4);
return null;
}
});
// check with wrong substring index
assertThrows(SQLException.class, "String index out of range: 12", new Callable<Void>() {
public Void call() throws Exception {
c1.setString(1, s1, 8, 4);
return null;
}
});
// full replace
c1.setString(1, s1, 3, 4);
assertEquals("Clob", c1.getSubString(1L, (int) c1.length()));
// add
c1.setString(5, s1, 7, 4);
assertEquals("ClobData", c1.getSubString(1L, (int) c1.length()));
// replace middle chars
c1.setString(2, s1, 7, 4);
assertEquals("CDataata", c1.getSubString(1L, (int) c1.length()));
}
BlobRegressionTest.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:the-vigilantes
作者:
评论列表
文章目录