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