You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/01/21 12:48:20 UTC

cayenne git commit: CAY-2204 cdbimport: noop change is reported for DECIMAL columns

Repository: cayenne
Updated Branches:
  refs/heads/master 44f3076ab -> da222d24d


CAY-2204 cdbimport: noop change is reported for DECIMAL columns


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/da222d24
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/da222d24
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/da222d24

Branch: refs/heads/master
Commit: da222d24dbfdd51eef02dbed7629d4aaa51eaf75
Parents: 44f3076
Author: Nikita Timofeev <st...@gmail.com>
Authored: Sat Jan 21 15:48:12 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Sat Jan 21 15:48:12 2017 +0300

----------------------------------------------------------------------
 .../cayenne/dbsync/merge/DbAttributeMerger.java    | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/da222d24/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbAttributeMerger.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbAttributeMerger.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbAttributeMerger.java
index fcf859d..4511dc5 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbAttributeMerger.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbAttributeMerger.java
@@ -28,7 +28,6 @@ import java.util.List;
 import org.apache.cayenne.dbsync.merge.token.ValueForNullProvider;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 
@@ -139,7 +138,7 @@ class DbAttributeMerger extends AbstractMerger<DbEntity, DbAttribute> {
             }
         }
 
-        if(original.getScale() != imported.getScale()) {
+        if(needUpdateScale(original, imported)) {
             return true;
         }
 
@@ -150,6 +149,20 @@ class DbAttributeMerger extends AbstractMerger<DbEntity, DbAttribute> {
         return false;
     }
 
+    private boolean needUpdateScale(DbAttribute original, DbAttribute imported) {
+        if(original.getScale() == imported.getScale()) {
+            return false;
+        }
+
+        // -1 and 0 are actually equal values for scale
+        if((original.getScale() == -1 || original.getScale() == 0)
+                && (imported.getScale() == -1 || imported.getScale() == 0)) {
+            return false;
+        }
+
+        return true;
+    }
+
     private void checkType(DbAttribute original, DbAttribute imported, List<MergerToken> tokens) {
         if(!needUpdateType(original, imported)) {
             return;