dremio 25.1 版本开始支持sql 预编译处理了
dremio 从25.1 版本开始,支持sql 预编译了,可以更好的提升系统的安全性
参考使用
- 传统jdbc 模式
Connection conn = DriverManager.getConnection("jdbc:dremio:direct=localhost:31010;schema=sys", "admin", "admin123");
String sql = "select * from pg.public.sensor where id = ? and status = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "E8:CB:ED:5A:54:EA");
pstmt.setBoolean(2, true);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("id"));
System.out.println(rs.getString("name"));
}
rs.close();
pstmt.close();
conn.close();
效果
- arrow flight sql 模式
暂时使用最新版本的支持上是有问题的
说明
注意对于此特性的支持需要server 以及client 同时支持才能确保每问题,遗留jdbc client 至少是 25.1 的与server 保持一致,arrow flight sql jdbc 暂时不支持
参考资料
client/jdbc/src/main/java/com/dremio/jdbc/impl/DremioCursor.java