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 * MS SQL Platform implementation.
27 *
28 * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
29 * @author <a href="mailto:greg.monroe@dukece.com">Greg Monroe</a>
30 * @version $Id: PlatformMssqlImpl.java 473814 2006-11-11 22:30:30Z tv $
31 */
32 public class PlatformMssqlImpl extends PlatformDefaultImpl
33 {
34 /***
35 * Default constructor.
36 */
37 public PlatformMssqlImpl()
38 {
39 super();
40 initialize();
41 }
42
43 /***
44 * Initializes db specific domain mapping.
45 */
46 private void initialize()
47 {
48 setSchemaDomainMapping(new Domain(SchemaType.INTEGER, "INT"));
49 setSchemaDomainMapping(new Domain(SchemaType.BOOLEANINT, "INT"));
50 setSchemaDomainMapping(new Domain(SchemaType.DOUBLE, "FLOAT"));
51 setSchemaDomainMapping(new Domain(SchemaType.LONGVARCHAR, "TEXT"));
52 setSchemaDomainMapping(new Domain(SchemaType.DATE, "DATETIME"));
53 setSchemaDomainMapping(new Domain(SchemaType.TIME, "DATETIME"));
54 setSchemaDomainMapping(new Domain(SchemaType.TIMESTAMP, "DATETIME"));
55 setSchemaDomainMapping(new Domain(SchemaType.BINARY, "BINARY(7132)"));
56 setSchemaDomainMapping(new Domain(SchemaType.VARBINARY, "IMAGE"));
57 setSchemaDomainMapping(new Domain(SchemaType.LONGVARBINARY, "IMAGE"));
58 setSchemaDomainMapping(new Domain(SchemaType.BLOB, "IMAGE"));
59 setSchemaDomainMapping(new Domain(SchemaType.CLOB, "TEXT"));
60 }
61
62 /***
63 * @see Platform#getMaxColumnNameLength()
64 */
65 public int getMaxColumnNameLength()
66 {
67 return 30;
68 }
69
70 /***
71 * @return Explicitly returns <code>NULL</code> if null values are
72 * allowed (as recomended by Microsoft).
73 * @see Platform#getNullString(boolean)
74 */
75 public String getNullString(boolean notNull)
76 {
77 return (notNull ? "NOT NULL" : "NULL");
78 }
79
80 }