protected Node visitCreateTable(final CreateTable node, final Object context) { return new CreateTable(node.getLocation(), node.getName(), node.getElements().stream() .map(tableElement -> (TableElement) process(tableElement, context)) .collect(Collectors.toList()), node.isNotExists(), node.getProperties().entrySet().stream() .collect(Collectors.toMap( Map.Entry::getKey, e -> (Expression) process(e.getValue(), context) ))); }
if (!node.getElements().isEmpty()) { builder.append("("); boolean addComma = false; for (final TableElement tableElement: node.getElements()) { if (addComma) { builder.append(", ");
@Test public void testCreateTableWithTopic() { final String queryStr = "CREATE TABLE users (usertime bigint, userid varchar, regionid varchar, gender varchar) WITH (registered_topic = 'users_topic', key='userid', statestore='user_statestore');"; final Statement statement = KSQL_PARSER.buildAst(queryStr, metaStore).get(0).getStatement(); final StatementRewriter statementRewriter = new StatementRewriter(); final Statement rewrittenStatement = (Statement) statementRewriter.process(statement, null); assertThat("testRegisterTopic failed.", rewrittenStatement instanceof CreateTable); final CreateTable createTable = (CreateTable)rewrittenStatement; assertThat(createTable.getName().toString(), equalTo("USERS")); assertThat(createTable.getElements().size(), equalTo(4)); assertThat(createTable.getElements().get(0).getName(), equalTo("USERTIME")); assertThat(createTable.getProperties().get(DdlConfig.TOPIC_NAME_PROPERTY).toString(), equalTo("'users_topic'")); }
@Test public void testCreateTable() { final String queryStr = "CREATE TABLE users (usertime bigint, userid varchar, regionid varchar, gender varchar) " + "WITH (kafka_topic = 'users_topic', value_format='json', key = 'userid');"; final Statement statement = KSQL_PARSER.buildAst(queryStr, metaStore).get(0).getStatement(); final StatementRewriter statementRewriter = new StatementRewriter(); final Statement rewrittenStatement = (Statement) statementRewriter.process(statement, null); assertThat("testRegisterTopic failed.", rewrittenStatement instanceof CreateTable); final CreateTable createTable = (CreateTable)rewrittenStatement; assertThat(createTable.getName().toString(), equalTo("USERS")); assertThat(createTable.getElements().size(), equalTo(4)); assertThat(createTable.getElements().get(0).getName(), equalTo("USERTIME")); assertThat(createTable.getProperties().get(DdlConfig.KAFKA_TOPIC_NAME_PROPERTY) .toString(), equalTo("'users_topic'")); assertThat(createTable.getProperties().get(DdlConfig.VALUE_FORMAT_PROPERTY) .toString(), equalTo("'json'")); }
@Test public void testCreateTableWithTopic() { final String queryStr = "CREATE TABLE users (usertime bigint, userid varchar, regionid varchar, gender varchar) WITH (registered_topic = 'users_topic', key='userid', statestore='user_statestore');"; final Statement statement = KSQL_PARSER.buildAst(queryStr, metaStore).get(0).getStatement(); Assert.assertTrue("testRegisterTopic failed.", statement instanceof CreateTable); final CreateTable createTable = (CreateTable)statement; Assert.assertTrue("testCreateTable failed.", createTable.getName().toString().equalsIgnoreCase("USERS")); Assert.assertTrue("testCreateTable failed.", createTable.getElements().size() == 4); Assert.assertTrue("testCreateTable failed.", createTable.getElements().get(0).getName().toString().equalsIgnoreCase("usertime")); Assert.assertTrue("testCreateTable failed.", createTable.getProperties().get(DdlConfig.TOPIC_NAME_PROPERTY).toString().equalsIgnoreCase("'users_topic'")); }
@Test public void testCreateTable() { final String queryStr = "CREATE TABLE users (usertime bigint, userid varchar, regionid varchar, gender varchar) " + "WITH (kafka_topic = 'users_topic', value_format='json', key = 'userid');"; final Statement statement = KSQL_PARSER.buildAst(queryStr, metaStore).get(0).getStatement(); Assert.assertTrue("testRegisterTopic failed.", statement instanceof CreateTable); final CreateTable createTable = (CreateTable)statement; Assert.assertTrue("testCreateTable failed.", createTable.getName().toString().equalsIgnoreCase("USERS")); Assert.assertTrue("testCreateTable failed.", createTable.getElements().size() == 4); Assert.assertTrue("testCreateTable failed.", createTable.getElements().get(0).getName().toString().equalsIgnoreCase("usertime")); Assert.assertTrue("testCreateTable failed.", createTable.getProperties().get(DdlConfig.KAFKA_TOPIC_NAME_PROPERTY) .toString().equalsIgnoreCase("'users_topic'")); Assert.assertTrue("testCreateTable failed.", createTable.getProperties().get(DdlConfig.VALUE_FORMAT_PROPERTY) .toString().equalsIgnoreCase("'json'")); }