diff options
author | Victor Roldan Betancort | 2009-12-31 11:46:01 +0000 |
---|---|---|
committer | Victor Roldan Betancort | 2009-12-31 11:46:01 +0000 |
commit | fd020eaf187f43e928ad22dc0114941bba926d95 (patch) | |
tree | 665715cdb7eea8cf84402759d592069cc72f5afe /plugins/org.eclipse.net4j.db | |
parent | 7696797db8c7d01e7d7a5a1beb0725ce749ed8e2 (diff) | |
download | cdo-fd020eaf187f43e928ad22dc0114941bba926d95.tar.gz cdo-fd020eaf187f43e928ad22dc0114941bba926d95.tar.xz cdo-fd020eaf187f43e928ad22dc0114941bba926d95.zip |
Bug 289445: [DB] Enhance TypeMappingFactory.getDBType() to consult DBAdapter for appropriate type handling
Diffstat (limited to 'plugins/org.eclipse.net4j.db')
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java | 9 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java | 14 |
2 files changed, 20 insertions, 3 deletions
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java index b846b0e012..5b14742135 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java @@ -7,6 +7,7 @@ * * Contributors: * Eike Stepper - initial API and implementation + * Stefan Winkler - bug 289445 */ package org.eclipse.net4j.db; @@ -63,4 +64,12 @@ public interface IDBAdapter public void appendValue(StringBuilder builder, IDBField field, Object value); public boolean isTypeIndexable(DBType type); + + /** + * Provide a way for the DBAdapter to override unsupported DB types with replacements. The default implementation just + * returns the given type. Subclasses may override single types with replacements. + * + * @since 3.0 + */ + public DBType adaptType(DBType type); } diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java index a18d0f5819..a6beb4de51 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java @@ -7,6 +7,7 @@ * * Contributors: * Eike Stepper - initial API and implementation + * Stefan Winkler - Bug 289445 */ package org.eclipse.net4j.spi.db; @@ -18,7 +19,6 @@ import org.eclipse.net4j.db.ddl.IDBField; import org.eclipse.net4j.db.ddl.IDBIndex; import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.internal.db.bundle.OM; -import org.eclipse.net4j.internal.db.ddl.DBTable; import org.eclipse.net4j.util.om.trace.ContextTracer; import java.io.IOException; @@ -130,7 +130,7 @@ public abstract class DBAdapter implements IDBAdapter try { - doCreateTable((DBTable)table, statement); + doCreateTable(table, statement); } catch (SQLException ex) { @@ -141,7 +141,7 @@ public abstract class DBAdapter implements IDBAdapter } } - validateTable((DBTable)table, statement); + validateTable(table, statement); return created; } @@ -490,4 +490,12 @@ public abstract class DBAdapter implements IDBAdapter { } } + + /** + * @since 3.0 + */ + public DBType adaptType(DBType type) + { + return type; + } } |