protected void createStorageTables()

in storage-jdbc/src/main/java/org/apache/rocketmq/schema/registry/storage/jdbc/dialect/GenericDatabaseDialect.java [112:147]


    protected void createStorageTables() throws IOException {
        InputStream inputStream = GenericDatabaseDialect.class.getResourceAsStream(String.format(DDL_FILE, dbType()));
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        List<String> ddl = Lists.newArrayList();
        String line;
        while ((line = reader.readLine()) != null) {
            ddl.add(line);
        }
        String[] statements = ddl.stream()
            .map(String::trim)
            .filter(x -> !x.startsWith("--") && !x.isEmpty())
            .map(
                x -> {
                    final Matcher m =
                        COMMENT_PATTERN.matcher(x);
                    return m.matches() ? m.group(1) : x;
                })
            .collect(Collectors.joining("\n"))
            .split(";");

        // create db and tables
        try (Statement st = getConnection().createStatement()) {
            for (String statement : statements) {
                if (tableId.getCatalogName() != null) {
                    statement = statement.replace(TableId.DB_NAME, tableId.getCatalogName().trim());
                }
                if (tableId.getSchemaName() != null) {
                    statement = statement.replace(TableId.SCHEMA_NAME, tableId.getSchemaName().trim());
                }
                statement = statement.replace(TableId.TABLE_NAME, tableId.getTableName().trim());
                st.execute(statement.trim());
            }
        } catch (SQLException sqe) {
            throw new SchemaException("Init database and table is failed", sqe);
        }
    }