jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jose Marcos Gomes (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-2810) Error creating DB2 table for Journaling
Date Thu, 11 Nov 2010 14:23:14 GMT
Error creating DB2 table for Journaling

                 Key: JCR-2810
                 URL: https://issues.apache.org/jira/browse/JCR-2810
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: clustering, jackrabbit-core
    Affects Versions: 2.1.2, 2.1.1
         Environment: Persisting the journal to DB2 database
            Reporter: Jose Marcos Gomes

Hi guys,

First of all, congratulations for the fantastic job.

I'm deploying a Jackrattbit-JCA resource adapter to a clustered Websphere environment and
using a DB2 for storing data and realized some missing code to add DB2 support.

Here is:

JACKRABBIT-CORE, @ org.apache.jackrabbit.core.util.db, method guessValidationQuery (the last
one), I adjusted as follows to add a DB2 validation query:

    private String guessValidationQuery(String url) {
        if (url.contains("derby")) {
            return "values(1)";
        } else if (url.contains("mysql")) {
            return "select 1";
        } else if (url.contains("sqlserver") || url.contains("jtds")) {
            return "select 1";
        } else if (url.contains("oracle")) {
            return "select 'validationQuery' from dual";
        } else if (url.contains("h2")) {
            return "select 1";
        } else if (url.contains("db2")) {
        	return "values(1)";
        log.warn("Failed to guess validation query for URL " + url);
        return null;

And as a final touch, a DDL to build the tables:

JACKRABBIT-CORE, @ src/main/resources/org/apache/jackrabbit/core/journal, added a file named
db2.dll as follows (actually I copied this from derby.dll)

#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#      http://www.apache.org/licenses/LICENSE-2.0
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  See the License for the specific language governing permissions and
#  limitations under the License.
create table ${schemaObjectPrefix}JOURNAL (REVISION_ID BIGINT NOT NULL, JOURNAL_ID varchar(255),
PRODUCER_ID varchar(255), REVISION_DATA blob)
create unique index ${schemaObjectPrefix}JOURNAL_IDX on ${schemaObjectPrefix}JOURNAL (REVISION_ID)
create table ${schemaObjectPrefix}GLOBAL_REVISION (REVISION_ID BIGINT NOT NULL)
create unique index ${schemaObjectPrefix}GLOBAL_REVISION_IDX on ${schemaObjectPrefix}GLOBAL_REVISION
create table ${schemaObjectPrefix}LOCAL_REVISIONS (JOURNAL_ID varchar(255) NOT NULL, REVISION_ID

# Inserting the one and only revision counter record now helps avoiding race conditions
insert into ${schemaObjectPrefix}GLOBAL_REVISION VALUES(0)

Best regards,

J Marcos

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message