1 package org.apache.torque.engine.platform;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.apache.torque.engine.database.model.Domain;
20 import org.apache.torque.engine.database.model.SchemaType;
21
22 /***
23 * MySql Platform implementation.
24 *
25 * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
26 * @version $Id: PlatformMysqlImpl.java 239626 2005-08-24 12:19:51Z henning $
27 */
28 public class PlatformMysqlImpl extends PlatformDefaultImpl
29 {
30 /***
31 * Default constructor.
32 */
33 public PlatformMysqlImpl()
34 {
35 super();
36 initialize();
37 }
38
39 /***
40 * Initializes db specific domain mapping.
41 */
42 private void initialize()
43 {
44 setSchemaDomainMapping(new Domain(SchemaType.NUMERIC, "DECIMAL"));
45 setSchemaDomainMapping(new Domain(SchemaType.INTEGER, "MEDIUMINT"));
46 setSchemaDomainMapping(new Domain(SchemaType.LONGVARCHAR, "MEDIUMTEXT"));
47 setSchemaDomainMapping(new Domain(SchemaType.DATE, "DATETIME"));
48 setSchemaDomainMapping(new Domain(SchemaType.BINARY, "BLOB"));
49 setSchemaDomainMapping(new Domain(SchemaType.VARBINARY, "MEDIUMBLOB"));
50 setSchemaDomainMapping(new Domain(SchemaType.LONGVARBINARY, "LONGBLOB"));
51 setSchemaDomainMapping(new Domain(SchemaType.BLOB, "LONGBLOB"));
52 setSchemaDomainMapping(new Domain(SchemaType.CLOB, "LONGTEXT"));
53 }
54
55 /***
56 * @see Platform#getAutoIncrement()
57 */
58 public String getAutoIncrement()
59 {
60 return "AUTO_INCREMENT";
61 }
62
63 /***
64 * @see Platform#hasSize(String)
65 */
66 public boolean hasSize(String sqlType) {
67 return !("MEDIUMTEXT".equals(sqlType) || "LONGTEXT".equals(sqlType)
68 || "BLOB".equals(sqlType) || "MEDIUMBLOB".equals(sqlType)
69 || "LONGBLOB".equals(sqlType));
70 }
71 }