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);
}