[ https://issues.apache.org/jira/browse/ARTEMIS-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418600#comment-16418600 ]
ASF GitHub Bot commented on ARTEMIS-1653: ----------------------------------------- Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1822#discussion_r177985094 --- Diff: artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/drivers/AbstractJDBCDriver.java --- @@ -189,17 +187,27 @@ private static void createTableIfNotExists(Connection connection, if (sqlWarning != null) { logger.warn(JDBCUtils.appendSQLExceptionDetails(new StringBuilder(), sqlWarning)); } - try (Statement statement = connection.createStatement()) { - for (String sql : sqls) { - statement.executeUpdate(sql); - final SQLWarning statementSqlWarning = statement.getWarnings(); - if (statementSqlWarning != null) { - logger.warn(JDBCUtils.appendSQLExceptionDetails(new StringBuilder(), statementSqlWarning, sql)); - } + } else { + try (Statement statement = connection.createStatement(); + ResultSet cntRs = statement.executeQuery(sqlProvider.getCountJournalRecordsSQL())) { + if (rs.next() && rs.getInt(1) > 0) { --- End diff -- @nlippke @clebertsuconic This PR is causing a failure on CI for `NettyFailoverTest::testFailBack`, please check it to see what is happening :+1: > Allow database tables to be created externally > ---------------------------------------------- > > Key: ARTEMIS-1653 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1653 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: Broker > Affects Versions: 2.4.0 > Reporter: Niels Lippke > Priority: Major > > In some environments (e.g. production) it is not allowed that applications > create their own schema. It's common practice to pass DDL-Statetements to > DBAs instead prior to rollout. > Currently the broker does not support this scenario. If the required tables > already exist the broker fails to start. > A better approach is that if the broker detects empy tables and initializes > them in the very same way it does if the tables dont't exist. > See also discussion in > [forum|http://activemq.2283324.n4.nabble.com/ARTEMIS-Server-doesn-t-start-if-JDBC-store-is-used-and-table-NODE-MANAGER-STORE-is-empty-td4735779.html]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)