Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBField.java')
-rw-r--r--plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBField.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBField.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBField.java
index ea0b2d927f..21c44b100d 100644
--- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBField.java
+++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBField.java
@@ -243,6 +243,31 @@ public class DBField extends DBSchemaElement implements InternalDBField
((InternalDBTable)table).removeField(this);
}
+ public boolean isAssignableFrom(IDBField other)
+ {
+ if (!getType().isAssignableFrom(other.getType()))
+ {
+ return false;
+ }
+
+ if (getPrecision() < other.getPrecision())
+ {
+ return false;
+ }
+
+ if (getScale() < other.getScale())
+ {
+ return false;
+ }
+
+ if (isNotNull() && !other.isNotNull())
+ {
+ return false;
+ }
+
+ return true;
+ }
+
public String formatPrecision()
{
int precision = getPrecision();

Back to the top