This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 4789de8  EMPIREDB-354 DataModelChecker View optimization
4789de8 is described below

commit 4789de88ec937c0e0a29a947031e86fe421bc315
Author: Rainer Döbele <[email protected]>
AuthorDate: Fri Jul 23 10:39:48 2021 +0200

    EMPIREDB-354
    DataModelChecker View optimization
---
 .../java/org/apache/empire/db/validation/DBModelErrorLogger.java  | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/empire-db/src/main/java/org/apache/empire/db/validation/DBModelErrorLogger.java
 
b/empire-db/src/main/java/org/apache/empire/db/validation/DBModelErrorLogger.java
index 791319b..f727629 100644
--- 
a/empire-db/src/main/java/org/apache/empire/db/validation/DBModelErrorLogger.java
+++ 
b/empire-db/src/main/java/org/apache/empire/db/validation/DBModelErrorLogger.java
@@ -25,6 +25,7 @@ import org.apache.empire.db.DBObject;
 import org.apache.empire.db.DBRelation;
 import org.apache.empire.db.DBTable;
 import org.apache.empire.db.DBView;
+import org.apache.empire.db.DBView.DBViewColumn;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -78,6 +79,11 @@ public class DBModelErrorLogger implements 
DBModelErrorHandler
     @Override
     public void columnTypeMismatch(DBColumn col, DataType type)
     {
+        if ((col instanceof DBViewColumn) && 
col.getDataType()==DataType.DECIMAL && type==DataType.INTEGER)
+        {   // sepcial view column handling
+            return;
+        }
+        // log
         DBModelErrorLogger.log.error("The column " + col.getFullName() + " 
type of {} does not match the database type of {}.", col.getDataType(), type);
     }
 
@@ -91,7 +97,7 @@ public class DBModelErrorLogger implements DBModelErrorHandler
         {   // Database size is smaller: Error 
             DBModelErrorLogger.log.error("The column "+col.getFullName()+" 
size of {} does not match the database size of {}.", col.getSize(), size);
         }
-        else
+        else if (col.getDataType()!=DataType.INTEGER)
         {   // Database size is bigger or unknown: Warning only
             DBModelErrorLogger.log.warn("The column "+col.getFullName()+" size 
of {} does not match the database size of {}.", col.getSize(), size);
         }

Reply via email to