Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Roldan Betancort2009-12-31 11:46:01 +0000
committerVictor Roldan Betancort2009-12-31 11:46:01 +0000
commitfd020eaf187f43e928ad22dc0114941bba926d95 (patch)
tree665715cdb7eea8cf84402759d592069cc72f5afe /plugins/org.eclipse.net4j.db
parent7696797db8c7d01e7d7a5a1beb0725ce749ed8e2 (diff)
downloadcdo-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.java9
-rw-r--r--plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java14
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;
+ }
}

Back to the top