You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by 勾王敏浩 <gw...@mails.tsinghua.edu.cn> on 2019/03/03 08:15:05 UTC
question using ddl
Hi,
Currently I am using calcite jdbc trying to create a table in mysql.
My code is like this.
public static void main(String[] args) throws Exception {
Class.forName("org.apache.calcite.jdbc.Driver");
Properties info = new Properties();
info.setProperty("lex", "JAVA");
info.setProperty("remarks","true");
info.setProperty("parserFactory","org.apache.calcite.sql.parser.ddl.SqlDdlParserImpl#FACTORY");
Connection connection = DriverManager.getConnection("jdbc:calcite:", info);
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
System.out.println(calciteConnection.getProperties());
SchemaPlus rootSchema = calciteConnection.getRootSchema();
Class.forName("com.mysql.jdbc.Driver");
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:mysql://192.168.130.7/hr");
dataSource.setUsername("root");
dataSource.setPassword("123456");
Schema schema = JdbcSchema.create(rootSchema, "ex", dataSource, null, "hr");
rootSchema.add("ex", schema);
DatabaseMetaData databaseMetaData = calciteConnection.getMetaData();
// ResultSet rs=databaseMetaData.getTables(null,null,"%",new String[]{"TABLE"});
// ResultSet rs1 = databaseMetaData.getColumns(null, null, "dwf_test", "%");
Statement statement = calciteConnection.createStatement();
System.out.println(statement.execute(
"create table ex.emp (id varchar(255) ,test int )"));
System.out.println(statement.execute("insert into ex.emp values ('test',1)"));
// PGConnection.outputResult(rs,System.out,new String[]{"TABLE_NAME","REMARKS"});
// PGConnection.outputResult(rs1, System.out, new String[]{"TABLE_NAME","COLUMN_NAME","TYPE_NAME"});
// statement.close();
connection.close();
}
The code runs without error.However,I can not find the table in the mysql server.
I think I need your help.
Thank you.