You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by to...@apache.org on 2004/07/09 14:53:19 UTC
cvs commit: jakarta-commons-sandbox/sql/src/java/org/apache/commons/sql/builder MySqlBuilder.java
tomdz 2004/07/09 05:53:19
Modified: sql/src/java/org/apache/commons/sql/builder
MySqlBuilder.java
Log:
Fixed jdbc <-> database type mapping for MySql
Revision Changes Path
1.8 +18 -8 jakarta-commons-sandbox/sql/src/java/org/apache/commons/sql/builder/MySqlBuilder.java
Index: MySqlBuilder.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/sql/src/java/org/apache/commons/sql/builder/MySqlBuilder.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MySqlBuilder.java 28 Feb 2004 03:35:47 -0000 1.7
+++ MySqlBuilder.java 9 Jul 2004 12:53:19 -0000 1.8
@@ -17,6 +17,7 @@
package org.apache.commons.sql.builder;
import java.io.IOException;
+import java.util.HashMap;
import java.util.List;
import org.apache.commons.sql.model.Column;
@@ -27,12 +28,24 @@
*
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
* @author John Marshall/Connectria
+ * @author <a href="mailto:tomdz@apache.org">Thomas Dudziak</a>
* @version $Revision$
*/
public class MySqlBuilder extends SqlBuilder {
-
+ private HashMap _specialTypes = new HashMap();
+
public MySqlBuilder() {
setForeignKeysEmbedded(true);
+ _specialTypes.put("binary", "BLOB");
+ _specialTypes.put("blob", "LONGBLOB");
+ _specialTypes.put("boolean", "BIT");
+ _specialTypes.put("clob", "LONGTEXT");
+ _specialTypes.put("float", "DOUBLE");
+ _specialTypes.put("longvarbinary", "MEDIUMBLOB");
+ _specialTypes.put("longvarchar", "MEDIUMTEXT");
+ _specialTypes.put("real", "FLOAT");
+ _specialTypes.put("timestamp", "DATETIME");
+ _specialTypes.put("varbinary", "BLOB");
}
public void dropTable(Table table) throws IOException {
@@ -54,12 +67,9 @@
}
protected String getNativeType(Column column){
- if ( "timestamp".equalsIgnoreCase( column.getType() ) ) {
- return "DATETIME";
- } else if ( "longvarchar".equalsIgnoreCase( column.getType() ) ) {
- return "TEXT";
- } else {
- return column.getType();
- }
+ String type = column.getType();
+ String specialType = (String)_specialTypes.get(type.toLowerCase());
+
+ return (specialType == null ? type : specialType);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org