activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1653) Allow database tables to be created externally
Date Mon, 09 Apr 2018 07:20:00 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16430179#comment-16430179
] 

ASF GitHub Bot commented on ARTEMIS-1653:
-----------------------------------------

Github user nlippke commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1997#discussion_r180005903
  
    --- Diff: artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/drivers/AbstractJDBCDriver.java
---
    @@ -179,32 +179,61 @@ private void createTableIfNotExists(String tableName, String...
sqls) throws SQL
           logger.tracef("Validating if table %s didn't exist before creating", tableName);
           try {
              connection.setAutoCommit(false);
    +         final boolean tableExists;
              try (ResultSet rs = connection.getMetaData().getTables(null, null, tableName,
null)) {
    -            if (rs != null && !rs.next()) {
    +            if ((rs == null) || (rs != null && !rs.next())) {
    --- End diff --
    
    `connection.getMetaData().getTables()` can return _null_?


> 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
>            Assignee: Francesco Nigro
>            Priority: Major
>             Fix For: 2.5.1
>
>
> 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)

Mime
View raw message