You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2014/12/01 08:58:12 UTC

[jira] [Created] (CAY-1976) Slow performance of DbMerger

Andrus Adamchik created CAY-1976:
------------------------------------

             Summary: Slow performance of DbMerger
                 Key: CAY-1976
                 URL: https://issues.apache.org/jira/browse/CAY-1976
             Project: Cayenne
          Issue Type: Bug
    Affects Versions: 4.0.M2
            Reporter: Andrus Adamchik
            Assignee: Andrus Adamchik
             Fix For: 4.0.M2


This is a consequence of CAY-1946 refactoring. DbMerger applies "includeTableName" only after full reverse-engineering of the DB. So on databases with lots of system tables invoking DbMerger.createMergeTokens(..) becomes prohibitively slow. This is visible with MergeCase subclasses when running unit tests on PostgreSQL and Oracle.

E.g. on PostgreSQL 'mvn clean verify' that previously took ~2 min on my laptop, is now taking 1 hour. On Oracle I could not even finish the test run. 

There is actually a TODO in DbMerger, line 178:

if (!includeTableName(tableName)) {
    // TODO we have to cut this entities in db loader
   // TODO log
   continue;
}

We need to address this one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)