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 <stari...@gmail.com> Authored: Sat Jan 21 15:48:12 2017 +0300 Committer: Nikita Timofeev <stari...@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;