Merge pull request #7740 from taosdata/xiaoping/add_test_case
[TD-6468]<test>: add test case for jdbc stmt
This commit is contained in:
commit
3eb7135683
|
@ -586,6 +586,130 @@ public class TSDBPreparedStatementTest {
|
||||||
Assert.assertEquals(numOfRows, rows);
|
Assert.assertEquals(numOfRows, rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void bindDataQueryTest() throws SQLException {
|
||||||
|
Statement stmt = conn.createStatement();
|
||||||
|
|
||||||
|
stmt.execute("drop table if exists weather_test");
|
||||||
|
stmt.execute("create table weather_test(ts timestamp, f1 nchar(10), f2 binary(10)) tags (t1 int, t2 binary(10))");
|
||||||
|
|
||||||
|
int numOfRows = 1;
|
||||||
|
|
||||||
|
TSDBPreparedStatement s = (TSDBPreparedStatement) conn.prepareStatement("insert into ? using weather_test tags(?,?) (ts, f2) values(?, ?)");
|
||||||
|
s.setTableName("w2");
|
||||||
|
s.setTagInt(0, 1);
|
||||||
|
s.setTagString(1, "test");
|
||||||
|
|
||||||
|
|
||||||
|
ArrayList<Long> ts = new ArrayList<>();
|
||||||
|
for (int i = 0; i < numOfRows; i++) {
|
||||||
|
ts.add(System.currentTimeMillis() + i);
|
||||||
|
}
|
||||||
|
s.setTimestamp(0, ts);
|
||||||
|
|
||||||
|
ArrayList<String> s2 = new ArrayList<>();
|
||||||
|
for (int i = 0; i < numOfRows; i++) {
|
||||||
|
s2.add("test" + i % 4);
|
||||||
|
}
|
||||||
|
s.setString(1, s2, 10);
|
||||||
|
|
||||||
|
s.columnDataAddBatch();
|
||||||
|
s.columnDataExecuteBatch();
|
||||||
|
s.columnDataCloseBatch();
|
||||||
|
|
||||||
|
String sql = "select * from weather_test where t1 >= ? and t1 <= ?";
|
||||||
|
TSDBPreparedStatement s1 = (TSDBPreparedStatement) conn.prepareStatement(sql);
|
||||||
|
s1.setInt(1, 0);
|
||||||
|
s1.setInt(2, 10);
|
||||||
|
|
||||||
|
ResultSet rs = s1.executeQuery();
|
||||||
|
int rows = 0;
|
||||||
|
while (rs.next()) {
|
||||||
|
rows++;
|
||||||
|
}
|
||||||
|
Assert.assertEquals(numOfRows, rows);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setTagNullTest()throws SQLException {
|
||||||
|
Statement stmt = conn.createStatement();
|
||||||
|
|
||||||
|
stmt.execute("drop table if exists weather_test");
|
||||||
|
stmt.execute("create table weather_test(ts timestamp, c1 int) tags (t1 tinyint, t2 smallint, t3 int, t4 bigint, t5 float, t6 double, t7 bool, t8 binary(10), t9 nchar(10))");
|
||||||
|
|
||||||
|
int numOfRows = 1;
|
||||||
|
|
||||||
|
TSDBPreparedStatement s = (TSDBPreparedStatement) conn.prepareStatement("insert into ? using weather_test tags(?,?,?,?,?,?,?,?,?) values(?, ?)");
|
||||||
|
s.setTableName("w3");
|
||||||
|
s.setTagNull(0, TSDBConstants.TSDB_DATA_TYPE_TINYINT);
|
||||||
|
s.setTagNull(1, TSDBConstants.TSDB_DATA_TYPE_SMALLINT);
|
||||||
|
s.setTagNull(2, TSDBConstants.TSDB_DATA_TYPE_INT);
|
||||||
|
s.setTagNull(3, TSDBConstants.TSDB_DATA_TYPE_BIGINT);
|
||||||
|
s.setTagNull(4, TSDBConstants.TSDB_DATA_TYPE_FLOAT);
|
||||||
|
s.setTagNull(5, TSDBConstants.TSDB_DATA_TYPE_DOUBLE);
|
||||||
|
s.setTagNull(6, TSDBConstants.TSDB_DATA_TYPE_BOOL);
|
||||||
|
s.setTagNull(7, TSDBConstants.TSDB_DATA_TYPE_BINARY);
|
||||||
|
s.setTagNull(8, TSDBConstants.TSDB_DATA_TYPE_NCHAR);
|
||||||
|
|
||||||
|
ArrayList<Long> ts = new ArrayList<>();
|
||||||
|
for (int i = 0; i < numOfRows; i++) {
|
||||||
|
ts.add(System.currentTimeMillis() + i);
|
||||||
|
}
|
||||||
|
s.setTimestamp(0, ts);
|
||||||
|
|
||||||
|
ArrayList<Integer> s2 = new ArrayList<>();
|
||||||
|
for (int i = 0; i < numOfRows; i++) {
|
||||||
|
s2.add(i);
|
||||||
|
}
|
||||||
|
s.setInt(1, s2);
|
||||||
|
|
||||||
|
s.columnDataAddBatch();
|
||||||
|
s.columnDataExecuteBatch();
|
||||||
|
s.columnDataCloseBatch();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String stringGenerator(int length) {
|
||||||
|
String source = "abcdefghijklmnopqrstuvwxyz";
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
Random rand = new Random();
|
||||||
|
for(int i = 0; i < length; i++) {
|
||||||
|
sb.append(source.charAt(rand.nextInt(26)));
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = SQLException.class)
|
||||||
|
public void setMaxTableNameTest()throws SQLException {
|
||||||
|
Statement stmt = conn.createStatement();
|
||||||
|
|
||||||
|
stmt.execute("drop table if exists weather_test");
|
||||||
|
stmt.execute("create table weather_test(ts timestamp, c1 int) tags (t1 int)");
|
||||||
|
|
||||||
|
TSDBPreparedStatement s = (TSDBPreparedStatement) conn.prepareStatement("insert into ? using weather_test tags(?) values(?, ?)");
|
||||||
|
String tbname = stringGenerator(193);
|
||||||
|
s.setTableName(tbname);
|
||||||
|
s.setTagInt(0, 1);
|
||||||
|
|
||||||
|
int numOfRows = 1;
|
||||||
|
|
||||||
|
ArrayList<Long> ts = new ArrayList<>();
|
||||||
|
for (int i = 0; i < numOfRows; i++) {
|
||||||
|
ts.add(System.currentTimeMillis() + i);
|
||||||
|
}
|
||||||
|
s.setTimestamp(0, ts);
|
||||||
|
|
||||||
|
ArrayList<Integer> s2 = new ArrayList<>();
|
||||||
|
for (int i = 0; i < numOfRows; i++) {
|
||||||
|
s2.add(i);
|
||||||
|
}
|
||||||
|
s.setInt(1, s2);
|
||||||
|
|
||||||
|
s.columnDataAddBatch();
|
||||||
|
s.columnDataExecuteBatch();
|
||||||
|
s.columnDataCloseBatch();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test(expected = SQLException.class)
|
@Test(expected = SQLException.class)
|
||||||
public void createTwoSameDbTest() throws SQLException {
|
public void createTwoSameDbTest() throws SQLException {
|
||||||
// when
|
// when
|
||||||
|
|
Loading…
Reference in New Issue