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 * MS SQL Platform implementation.
24 *
25 * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
26 * @version $Id: PlatformMssqlImpl.java 239626 2005-08-24 12:19:51Z henning $
27 */
28 public class PlatformMssqlImpl extends PlatformDefaultImpl
29 {
30 /***
31 * Default constructor.
32 */
33 public PlatformMssqlImpl()
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.INTEGER, "INT"));
45 setSchemaDomainMapping(new Domain(SchemaType.BOOLEANINT, "INT"));
46 setSchemaDomainMapping(new Domain(SchemaType.DOUBLE, "FLOAT"));
47 setSchemaDomainMapping(new Domain(SchemaType.LONGVARCHAR, "TEXT"));
48 setSchemaDomainMapping(new Domain(SchemaType.DATE, "DATETIME"));
49 setSchemaDomainMapping(new Domain(SchemaType.TIME, "DATETIME"));
50 setSchemaDomainMapping(new Domain(SchemaType.TIMESTAMP, "DATETIME"));
51 setSchemaDomainMapping(new Domain(SchemaType.BINARY, "BINARY(7132)"));
52 setSchemaDomainMapping(new Domain(SchemaType.VARBINARY, "IMAGE"));
53 setSchemaDomainMapping(new Domain(SchemaType.LONGVARBINARY, "IMAGE"));
54 }
55
56 /***
57 * @see Platform#getMaxColumnNameLength()
58 */
59 public int getMaxColumnNameLength()
60 {
61 return 30;
62 }
63
64 /***
65 * @return Explicitly returns <code>NULL</code> if null values are
66 * allowed (as recomended by Microsoft).
67 * @see Platform#getNullString(boolean)
68 */
69 public String getNullString(boolean notNull)
70 {
71 return (notNull ? "NOT NULL" : "NULL");
72 }
73
74 }