[
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)