add calcite test case
This commit is contained in:
parent
99741286ce
commit
8a39f899b6
|
@ -242,7 +242,7 @@ public class TSDBStatement implements Statement {
|
||||||
|
|
||||||
public void addBatch(String sql) throws SQLException {
|
public void addBatch(String sql) throws SQLException {
|
||||||
if (batchedArgs == null) {
|
if (batchedArgs == null) {
|
||||||
batchedArgs = new ArrayList<String>();
|
batchedArgs = new ArrayList<>();
|
||||||
}
|
}
|
||||||
batchedArgs.add(sql);
|
batchedArgs.add(sql);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,34 +7,17 @@ import org.apache.calcite.sql.parser.SqlParseException;
|
||||||
import org.apache.commons.dbcp2.BasicDataSource;
|
import org.apache.commons.dbcp2.BasicDataSource;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
public class CalciteTest {
|
public class CalciteTest {
|
||||||
|
|
||||||
public static void main(String[] args) throws SqlParseException, ClassNotFoundException, SQLException {
|
public static void main(String[] args) throws SqlParseException, ClassNotFoundException, SQLException {
|
||||||
|
|
||||||
//创建Calcite Connection对象
|
// CalciteConnection calciteConnection = testMyqsl();
|
||||||
Class.forName("org.apache.calcite.jdbc.Driver");
|
CalciteConnection calciteConnection = testTSDB();
|
||||||
Properties info = new Properties();
|
|
||||||
info.setProperty("caseSensitive", "false");
|
|
||||||
Connection connection = DriverManager.getConnection("jdbc:calcite:", info);
|
|
||||||
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
|
|
||||||
SchemaPlus rootSchema = calciteConnection.getRootSchema();
|
|
||||||
|
|
||||||
// JDBC adapter
|
|
||||||
Class.forName("com.mysql.jdbc.Driver");
|
|
||||||
BasicDataSource dataSource = new BasicDataSource();
|
|
||||||
dataSource.setUrl("jdbc:mysql://192.168.56.101:3306");
|
|
||||||
dataSource.setUsername("root");
|
|
||||||
dataSource.setPassword("123456");
|
|
||||||
Map<String, String> map = new HashMap<>();
|
|
||||||
JdbcSchema schema = JdbcSchema.create(rootSchema, "hr", dataSource, null, null);
|
|
||||||
rootSchema.add("hr", schema);
|
|
||||||
|
|
||||||
Statement statement = calciteConnection.createStatement();
|
Statement statement = calciteConnection.createStatement();
|
||||||
ResultSet resultSet = statement.executeQuery("select * from hr.depts");
|
ResultSet resultSet = statement.executeQuery("select * from test.t");
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||||
|
@ -45,36 +28,50 @@ public class CalciteTest {
|
||||||
}
|
}
|
||||||
resultSet.close();
|
resultSet.close();
|
||||||
statement.close();
|
statement.close();
|
||||||
connection.close();
|
calciteConnection.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static CalciteConnection testMyqsl() throws ClassNotFoundException, SQLException {
|
||||||
|
//创建Calcite Connection对象
|
||||||
|
Class.forName("org.apache.calcite.jdbc.Driver");
|
||||||
|
Properties info = new Properties();
|
||||||
|
info.setProperty("lex", "JAVA");
|
||||||
|
info.setProperty("caseSensitive", "false");
|
||||||
|
Connection connection = DriverManager.getConnection("jdbc:calcite:", info);
|
||||||
|
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
|
||||||
|
SchemaPlus rootSchema = calciteConnection.getRootSchema();
|
||||||
|
|
||||||
//创建TDengine的数据源schema
|
// JDBC adapter
|
||||||
// Class.forName("com.taosdata.jdbc.TSDBDriver");
|
Class.forName("com.mysql.jdbc.Driver");
|
||||||
// String url = "jdbc:TAOS://127.0.0.1:6030/hdb";
|
BasicDataSource dataSource = new BasicDataSource();
|
||||||
// dataSource.setUrl(url);
|
dataSource.setUrl("jdbc:mysql://192.168.236.135:3306/test");
|
||||||
// dataSource.setUsername("root");
|
dataSource.setUsername("root");
|
||||||
// dataSource.setPassword("taosdata");
|
dataSource.setPassword("123456");
|
||||||
|
JdbcSchema schema = JdbcSchema.create(rootSchema, "test", dataSource, null, "test");
|
||||||
|
rootSchema.add("test", schema);
|
||||||
|
|
||||||
// Class.forName("com.mysql.jdbc.Driver");
|
return calciteConnection;
|
||||||
// String url = "jdbc:mysql://localhost:3306/hdb";
|
}
|
||||||
// BasicDataSource dataSource = new BasicDataSource();
|
|
||||||
// dataSource.setUrl(url);
|
|
||||||
// dataSource.setUsername("root");
|
|
||||||
// dataSource.setPassword("123456");
|
|
||||||
//这里hdb是在tdengine中创建的数据库名
|
|
||||||
// JdbcSchema schema = JdbcSchema.create(rootSchema, "test", dataSource, null, "test");
|
|
||||||
// Schema schema = JdbcSchema.create(rootSchema, "test", dataSource, "hdb", null);
|
|
||||||
//创建新的schema自动映射到原来的hdb数据库
|
|
||||||
// rootSchema.add("test", schema);
|
|
||||||
|
|
||||||
// Statement stmt = calciteConnection.createStatement();
|
private static CalciteConnection testTSDB() throws SQLException, ClassNotFoundException {
|
||||||
//查询schema test中的表,表名是tdengine中的表
|
//创建Calcite Connection对象
|
||||||
// ResultSet rs = stmt.executeQuery("select * from test.t");
|
Class.forName("org.apache.calcite.jdbc.Driver");
|
||||||
// for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
|
Properties info = new Properties();
|
||||||
// System.out.println(rs.getMetaData().getColumnName(i));
|
info.setProperty("lex", "JAVA");
|
||||||
// }
|
info.setProperty("caseSensitive", "false");
|
||||||
// while (rs.next()) {
|
Connection connection = DriverManager.getConnection("jdbc:calcite:", info);
|
||||||
// System.out.println(rs.getObject(1));
|
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
|
||||||
// }
|
SchemaPlus rootSchema = calciteConnection.getRootSchema();
|
||||||
|
|
||||||
|
// JDBC adapter
|
||||||
|
Class.forName("com.taosdata.jdbc.TSDBDriver");
|
||||||
|
BasicDataSource dataSource = new BasicDataSource();
|
||||||
|
dataSource.setUrl("jdbc:TAOS://192.168.236.135:6030/test");
|
||||||
|
dataSource.setUsername("root");
|
||||||
|
dataSource.setPassword("taosdata");
|
||||||
|
JdbcSchema schema = JdbcSchema.create(rootSchema, "test", dataSource, null, "test");
|
||||||
|
rootSchema.add("test", schema);
|
||||||
|
|
||||||
|
return calciteConnection;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue